ciao,
vorrei capire bene come VB6 gestisce le matrici. Ad esempio, devo inserire il contenuto di un file in una matrice, ma non so quante righe conrìtiene il file..come faccio a dimensionare l'array?
ciao,
vorrei capire bene come VB6 gestisce le matrici. Ad esempio, devo inserire il contenuto di un file in una matrice, ma non so quante righe conrìtiene il file..come faccio a dimensionare l'array?
se ogni riga del file è separata da un delimitatore, esempio un carriage return, basta che leggi il file salvandolo in una stringa, e poi usi la split per l'array in questo modo (supponendo il separatore di riga sia il CR):
Dim arrFile() As String
arrFile() = Split(stringaFile, vbCr)
Ans.
purtroppo il file risulta troppo grosso(sono mail in realtà),ma apparte questo, mi interessava sapere se posso dichiarare una matrice senza dover dichiarare la sua dimensione con VB6
mi interessava sapere se posso dichiarare una matrice senza dover dichiarare la sua dimensione con VB6
se guardi il mio esempio l'ho fatto:
Dim arrFile() As String
poi che vuol dire è grosso il file ? Non credo sia questo che ti impedisce una lettura completa ed assegnazione del contenuto ad una stringa.
Ans.
certo, puoi farlo.Originariamente inviato da lbottoni
purtroppo il file risulta troppo grosso(sono mail in realtà),ma apparte questo, mi interessava sapere se posso dichiarare una matrice senza dover dichiarare la sua dimensione con VB6
Ti scrivo le istruzioni che si utilizzano per questo scopo (presumiamo che il nostro array debba essere di tipo String):
spero di essere stata chiara.codice:Dim myArray() As String 'dichiaro l'array con indice non specificato Redim myArray(3) 'l'array può contenere un indice max = 2 'Se però voglio che il mio array abbia un indice max più grande ' e non voglio perdere il contenuto già memorizzato: Redim Preserve myArray(10) 'l'array avrà un indice max = 9
ciao![]()
05.08.2005 - by alka
Auguri all'angelo custode dei moderatori.
domanda, se ridimensiono l'array in un ciclo while, le precedenti istruzioni sono perse?
es:
codice:a=0 dim b() as string do while eof(1) redim b (0 to a+1) input #1, c b(a)=c a=a+1 loop
ok..non chiedevo di meglio..grazie a tutti e due
scusate..la domanda precedente mi è partita prima che finissi di leggere correttamente i messaggi.
![]()
ti ho risposto prima a questo quesito, postandoti le istruzioni che ti servono per gestire l'array.Originariamente inviato da lbottoni
domanda, se ridimensiono l'array in un ciclo while, le precedenti istruzioni sono perse?
es:
codice:a=0 dim b() as string do while eof(1) redim b (0 to a+1) input #1, c b(a)=c a=a+1 loop
In questo caso ti basta modificare il codice aggiungendo il Preserve:
codice:a=0 dim b() as string do while eof(1) redim Preserve b (0 to a+1) input #1, c b(a)=c a=a+1 loop![]()
05.08.2005 - by alka
Auguri all'angelo custode dei moderatori.
per me la soluzione migliore, se applicabile al suo caso, resta prima leggere il file e poi fare una Split. Anche come velocità.
Ans.