Newsgroup: it.comp.lang.visual-basic
Titolo: Determinare il numero di elementi di un array

Salve,
Ecco il codice:
    Dim PathParts() As String
    Dim Parts_Count As Integer
    PathParts = Split(ItemPath, "/", , vbTextCompare)
    Parts_Count = Len(PathParts)
Mi dà l'errore: "Richiesta variabile-Non si può
assegnare a questa espressione" sull'ultima riga di codice.
Qualche idea?
Ciao
Andrea

     Parts_Count = Len(PathParts)
per i vettori non si usa il Len ma Ubound
in questo caso
Parts_count = ubound(PathParts)
se lo split non ha dato risultato, nel senso che non esisteva nessun "/"
allora l'ubound darà -1 come "dimensione"

The DeerBear wrote:
Un esempietto rimaneggiato
un form ed un command
Option Explicit
Private Sub Command1_Click()
 Dim Stringa
 Dim Parole() As String
 Dim i As Long
 Dim Frase1 As String, Frase2 As String
  Stringa = "Ei fu siccome immobile dato il mortal sospiro " & _
            "stette la spoglia immemore orba di tanto spiro"
  Parole = Split(Stringa)
  Frase1 = ""
  Frase2 = ""
  For i = LBound(Parole) To UBound(Parole)
      Print Parole(i)
  Next
  Print Frase1
End Sub
Bye Man!
--
Il Wodkino Nazionale è a : 
www.martek.it
Pagina Vb/Bestiario/Lamer Experience :
http://www.martek.it/go.asp?portamia=2
 Quotefix e altro:
http://www.martek.it/go.asp?portamia=4
 Usr: ICLVB Pw: amici

Wodka40° wrote:
<snip>
Grazie a tutti... perché mi perdo in un bicchiere d'acqua? -_-
Andrea


Parts_Count = UBound(PathParts)
Ciao
-- 
Skysurfer

 Grazie a tutti... perché mi perdo in un bicchiere d'acqua? -_-
Perchè ti mancano le basi.
Non di programmazione in generale, ma di vb in particolare.
Salutoni
Sergio
p.s. ogni gruppo ha bisogno di avere almeno un antipatico

 p.s. ogni gruppo ha bisogno di avere almeno un antipatico
O_o?

 O_o?
Mi riferivo al tuo post, in cui dichiaravi di non sentirti come
"appartenente" al gruppo, anche perchč qualcuno ti considera antipatico. Ti
invitavo a non drammatizzare, non si puň essere simpatici a tutti ;-)
Salutoni
Sergio

va bene tutto quello che avete detto, ma non bisognerebbe mettere
UBound(Array)+1 per sapere esattamente quanti sono gli elementi nell'array?
gli array partono da zero......
good coding!!!
-- 
Damiani Liborio Igor
ig...@igordamiani.it
 - 
soft...@igordamiani.it
 - 
idam...@hotmail.com
http://www.igordamiani.it
ICQ : 11847262

 elementi nell'array? gli array partono da zero...
Non necessariamente, es.:
Redim arr(15 To 20)
Il numero degli elementi e' dato da Ubound(arr) -
LBound(arr) + 1.
Lokar
-- 
Sito Comune: 
http://www.it-lang-vb.net/
Manifesto: 
http://www.it-lang-vb.net/docs/Manifesto.txt
Statuto: 
http://www.it-lang-vb.net/docs/Statuto.txt
UGIdotNET - 
http://www.ugidotnet.org

 LBound(arr) + 1.
mai indagato, quindi chiedo:
non possono esserci elementi assenti ?
cioe', 0 to 89, ma 5, 11 assenti = 88
ciao

 cioe', 0 to 89, ma 5, 11 assenti = 88
Non sugli array dichiarati a runtime.
Invece puo' accadere sugli array di controlli che si
caricano con Load Unload.
Nulla vieta dato un solo controllo con indice 0 (Command1(0)
ad esempio) di fare:
Load Command1(200)
Si avranno 2 controlli nell'array ma gli indici saranno 0 e
200.
Per scaricare liste di controlli conviene fare sempre:
Do Until Ubound(ListaControlli) = 0
    Unload ListaControlli(Ubound(ListaControlli))
Loop


 Non sugli array dichiarati a runtime.
[ERRATA]
Non sugli array dichiarati nel codice con istruzione Dim -
Redim.


 Lokar
Andrea

 Che ne pensi?
Terribile :)
Scusa ma c'e' stata un'imprecisione nel mio post.
La versione corretta e':
Do Until ListaControlli.UBound = 0
    Unload ListaControlli(ListaControlli.UBound)
Loop
Happy Coding =)


 [SNIP]
A proposito, ti rimando al mio post: "[!][LONG]Primo indice
libero di una matrice di controlli" del 14/05/2003 per
questioni relative alle matrici di controlli.
Happy Coding =)


 Loop
Che carina come soluzione , SALVATA !
Grazie adesso abbandono il for each e il for lbound to ubound !
-- 
<Gigio2K>
Sito Comune
Nokia -> I.T.H.N. -> 
http://www.ithn.it/
VB -> I.C.L.VB -> 
http://www.it-lang-vb.net/