Marco Caresia schrieb:

Antonello Cerrato wrote:
>

quindi se capisco bene adati() é un array in cui ogni valore é una riga della tabella e quindi a sua volta un array i cui valori
corrispondono alle celle di quella riga, giusto?


Credo sia così.


for vLoop=0 to Ubound(aDati)
       aCelle(0) = "prova" & str(vLoop)
       aDati(vLoop) = aCelle()
       next vLoop
oRClientiCassa.setdataarray(aDati())

in tutte le celle appare 'prova 46' (dato che le celle del range sono 47)


Scusa, mi stai mettendo alla prova per caso?!? Spero di no.

Se non ho preso un abbaglio è un effetto dell'assegnazione di array.
Quando scrivi "aDati(0) = aCelle()", "aDati(1) = aCelle()", ecc... alla fine tutti gli elementi di aDati puntano ai valori di aCelle (che contiene un solo elemento, pari a quello dell'ultimo valore 'prova 46').

Puoi vedere come cambia aDati ad ogni singolo ciclo (ti sconsiglio di provarlo con 47 valori... ;) ):

for vLoop=0 to Ubound(aDati)
 aCelle(0) = "prova" & str(vLoop)
 aDati(vLoop) = aCelle()

  for i=0 to ubound(adati)
   for j=0 to ubound(adati(i))
    temp = adati(i)
    print temp(j)
   next j
  next i

next vLoop

Non sei convinto?
Forse un esempio più semplice è comprensibile:

Sub Main
    a() = Array("pippo")
    b() = a()
    a(0) = "no"
    print b(0)
End Sub

Ciao,

No, no! Non preoccuparti non ti metto alla prova, non farei mai una cosa del genere! É che io sono autodidatta e non mi occupo di queste cose regolarmente, ma solo a necessità e quando trovo il tempo, perciò la mia preparazione é piuttosto lacunosa e inorganica...Magari ho capito cose più avanzate e mi perdo in
stupidaggini! (come, mi sa in questo caso).

In effetti hai ragione tu e a me mi confonde questa storia dell'array di array... non ho mai avuto a che farci fino adesso! Però il problema mi rimane: come faccio ad assegnare come valore ad ogni elemento di aDati(), da 0 a 46 nel mio caso, un altro array, anziché lo stesso?
se lo facessi senza loop sarebbe:


aCell0(0) = "test 0"
aDati(0) = aCell0()

aCell1(0) = "test 1"
aDati(1) = aCell1()
...

aCell46(0) = "test 46"
aDati(46) = aCell46()

ma col loop? come faccio a cambiare 'in corsa' il nome della variabile? O devo proprio cercare un altro sistema?
ciao, Antonello

P.S. non capisco anche perché sulla mailing-list appare solo la mia prima e-mail e non le successive, eppure io rispondo sempre allo stesso indirizzo!?



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Rispondere a