Newsgroup: it.comp.lang.visual-basic
Titolo: [?]Dimensione array

Sto' tentando lo sviluppo di una funzione con matrici dinamiche, ho una
stringa che individua un pagamento che contiene le scdenze tipo
"60-90-120-150" che scompongo in una matrice con la funzione Split ;
Il mio problema e' il seguente:
se tento di assegnare la matrice generata da Split ad una  variabile
dichiarata come
dim str() as string
mi da' errore, bisogna ridimensionarla con redim ( giusto?)
per calcolare la lugnhezza della matrice in uscita da split come faccio se
non so' a cosa assegnarla?
Utilizzare una variabile tipo variant cosi' dichirata
dim str as variant
puo' essere una soluzione?
Mi resta un dubbio, se devo definire di quanti elementi e' composta una
matrice che funzione uso ?
Ciao e grazie
Stefano
PS
Scusate ma ero abituato con Visual Object e la gestione matrici in VB mi e'
ignota

 wrote in message
news:CJXI4.120275$pn3.1...@news.infostrada.it...


Queste cose le ho capite, quello che mi serve sapere e' se esiste una
funzione che mi ritorni la dimensione dell'array del tipo
lenArray(array) ritorna 6 se l'array ha 6 elementi oppure lenArray
 array(x)) ritorna quanti elementi se siamo in presenza di matrice di
matrici.
Ciao e grazie comunque per l'aiuto
Stefano
massimo <ca...@NOSPAMtxt.it> wrote in message
8d1hmt$el3$1...@diesel.cu.mi.it...


Sto' tentando lo sviluppo di una funzione con matrici dinamiche, ho una


Ciao Stefano. Io forse ho trovato una soluzione a quello che credo sia il
tuo proiblema di determinare la dimensione dell'array.
Option Explicit
Private Type Vettore
    a(10) As Integer
End Type
Private Sub Form_Click()
Dim a As Vettore
Text1.Text = Str(LenB(a))
End Sub
Definito il tipo di dato Vettore, la funzione LenB() restituisce la
lunghezza in Byte della variabile a che č di tipo vettore. Se tu lo provi
vedrai che ti restituisce 22. Se pensi che un integer č 2 byte (i 2 in piů
credo siano una costante) sai quanto č lungo il tuo array.
ATTENZIONE: questo č un array monodimensionale. Se array ha piů di una
dimensione le cose si complicano, ma credo che se tu sai comč fatto l'array
forse puoi ricavarne lo stesso le dimensioni.
Good luck
Older

 dimensione le cose si complicano, ma credo che se tu sai comè fatto


 wrote in message
38f48d2b...@news.nettuno.it...


 mi da' errore, bisogna ridimensionarla con redim ( giusto?)
Se viene generato un errore, dipende da altri fattori.
La funzione Split () "dimensiona" dinamicamente
l'array di destinazione; non si usa ReDim.
Dim arrBuff() As String
arrBuff() = Split("30-60-90-120", "-", -1, vbTextCompare)
puoi verificare la dimensione upper bound per sapere
quanti elementi contiene l'array:
nElementi = Ubound(arrBuff)
In questo caso restituisce 3, dato che Split() inizializza
sempre a 0 gli array, indipendentemente dall'impostazione
di Option Base.

 wrote in message 8d3va2$s34$1...@nslave2.tin.it...


 next
No. Come dicevo da 0 a Ubound(arrBuff).
Il limite inferiore è 0.

 wrote in message 8d429u$2ae$1...@nslave2.tin.it...



per sicurezza scrivi:
    for x = lbound(arrbuff) to ubound(arrbuff)
--
 
federic...@planet.it
Eliminare NOSPAM dall'indirizzo! Delete NOSPAM from address!

 wrote in message
8d452b$kru$1...@localhost.localdomain...


 VB di solito si usano sistemi diversi per risolvere questi problemi?
Credo che ora tu sia in grado di risponderti da solo... ;)
--
Ciao.
Maurizio

 Info su report generator di VB6 mi servirebbe qualche fonte di informazioni
Un consiglio: approfondisci il concetto "connection", utilizzando
l'help in linea e gli esempi presenti nel cd di VB o VS. Se hai
installato MSDN, anche lì sono presenti degli esempi interessanti.
Quando riesci a maneggiare le connection, l'utilizzo del report di
VB6 risulta molto più semplice.
Cosa importante è fare dei tentativi (molti tentativi) sempre con
l'help o il manuale sotto mano.
Se hai dei dubbi, scrivi. Spesso non è produttivo fare domande
se mancano i concetti di base; si rischia la confusione e la
conseguente disaffezione per un metodo.
Ciao

 Se hai dei dubbi, scrivi. Spesso non č produttivo fare domande
