Newsgroup: it.comp.lang.visual-basic
Titolo: Matrici, non le capisco proprio!!

Salve,
non riesco a capire che tipo di matrice occorre per utilizzare la funzione
"Split" per le stringhe. Ad esempio, voglio usare questa funzione con
argomento "Microsoft Visual Basic".
Quindi:
Private Sub Command1_Click()
ReDim matrice() as string
matrice() = Split("microsoft visual basic")
debug.print matrice()
End Sub
Genere errore 9, devo cambiare l' argomento della matrice da 0 a 2,
altrimenti continua a generarlo.
Qualcuno mi sa illuminare per l' uso corretto di questa sintassi?
Ciao e grazie anticipatamente
Mirko

 matrice() = Split("microsoft visual basic")
Ora matrice è un vettore, un array, come lo si voglia chiamare, anche una
matrice a una dimensione, dove ogni elemento (a partire da quello con indice
0) contiene le parole della frase passata.
Quindi matrice(0) contiene "microsoft"
Quindi matrice(1) contiene "visual"
Quindi matrice(2) contiene "basic
Per conoscere il numero degli elementi puoi fare Ubound(matrice), per
riferirti a un singolo elemento devi, necessariamente, specificarne
l'indice, ovvero il numero.

 Ora matrice č un vettore, un array, come lo si voglia chiamare, anche una


 > matrice() = Split("microsoft visual basic")
pensa che io avevo capito che funzionava in un altro modo:
dim matrice as variant
matrice = split("Microsoft visual basic")
e poi utilizzare il variant come un array:
for i = lbound(matrice) to ubound(matrice)
    debug.print matrice(i)
next i
avevo fatto varie prove, utilizzando il tipo string, e non ero mai riuscito
a farlo andare...
Riproverň, il variant mi piace poco.
Salutoni

 dim matrice as variant
Non capisco, cambia solo la tipologia della matrice, non il metodo per la
sua composizione e trattamento

 sua composizione e trattamento
Intendevo dire che avevo provato con cose tipo:
dim matrice() as string
oppure
dim matrice as string
ma in entrembe i casi quando poi facevo
matrice = split(stringa,separatore)
mi rilevava a run time l'errore "tipo non corrispondente"
tra parentesi un discorso analogo l'ho riscontrato con la funzione array:
riesco ad usarla solo con le variant. Ad esempio
dim Vettore() as string
vettore = array("pippo", "pluto")
non funziona, mentre
dim vettore as variant
vettore = array("pippo", "pluto")
funziona
la parte successiva del post, quella che riportava il ciclo for, era solo
una esemplificazione di come una variant può essere usata come "contenitore"
di un array
Comunque, come ho detto nell'altro post, verificherò di nuovo...
Salutoni
Sergio

ok, alla fine ti siamo stati d'aiuto......
:-)))
una piccola precisazione: non c'č bisogno di scrivere strane formulette per
sapere da quanti elementi ha formato un array, basta che usi la funzione
UBound cosě:
Private Sub Command1_Click()
ReDim matrice() as string
matrice() = Split("microsoft visual basic")
debug.print UBound(matrice)
End Sub
good coding!!!
--
Damiani Liborio Igor
ig...@igordamiani.it
 - 
dam...@italiainfiera.it
 - 
idam...@hotmail.com
http://www.igordamiani.it
ICQ : 11847262

 ReDim matrice() as string
Una domanda: se io scrivo quella identica cosa che c'è scritta qui sopra,
all'interno dell'editor del codice di VB6 (sp5), ottengo immediatamente la
risposta:
Errore di sintassi
Succede anche a voi o c'è qualcosa che non capisco
Salutoni e ringraziamenti
Sergio

 Errore di sintassi
Succede anche a noi, e un senso l'ha: La Redim presume che tu gli dia le
(nuove) dimensioni.
Io avevo scritto Dim, infatti.

 Io avevo scritto Dim, infatti.
Tu si, l'autore del post a cui mi ero agganciato aveva invece scritto Redim.
Sto cercando di far funzionare l'istruzione Split utilizzando una variabile
string invece di una variant, cosa che sembrerebbe possibile leggendo i post
di questo thread, ma se le sintassi proposte non funzionano lo faccio
sicuramente presente....
Salutoni
Sergio