Questo sito utilizza cookies, anche di terze parti, per mostrare pubblicità e servizi in linea con il tuo account. Leggi l'informativa sui cookies.
Username: Password: oppure
C# / VB.NET - Manipolazione array
Forum - C# / VB.NET - Manipolazione array

Avatar
sergio58 (Normal User)
Rookie


Messaggi: 38
Iscritto: 05/08/2008

Segnala al moderatore
Postato alle 15:30
Venerdì, 19/06/2009
Questo topic è stato chiuso dal moderatore

Salve a tutti , sono alle prese con un errore che non mi dà pace, malgrado tutti i tentativi fatti non sono venuto a capo di nulla.
Ho una semplice matrice ad una dimensione , quando leggo i valori ,lege tutto fino al quarto cliente, al quinto mi ritorna l'errore indice oltre i limiti della matrice, sull'indice zero. Vi posto il codice:
Codice sorgente - presumibilmente Plain Text

  1. decAcquiMensili(0) = AnagCliente.AcquiMensili(0)
  2.         decAcquiMensili(1) = AnagCliente.AcquiMensili(1)
  3.         decAcquiMensili(2) = AnagCliente.AcquiMensili(2)
  4.         decAcquiMensili(3) = AnagCliente.AcquiMensili(3)
  5.         decAcquiMensili(4) = AnagCliente.AcquiMensili(4)
  6.         decAcquiMensili(5) = AnagCliente.AcquiMensili(5)
  7.         decAcquiMensili(6) = AnagCliente.AcquiMensili(6)
  8.         decAcquiMensili(7) = AnagCliente.AcquiMensili(7)
  9.         decAcquiMensili(8) = AnagCliente.AcquiMensili(8)
  10.         decAcquiMensili(9) = AnagCliente.AcquiMensili(9)
  11.         decAcquiMensili(10) = AnagCliente.AcquiMensili(10)
  12.         decAcquiMensili(11) = AnagCliente.AcquiMensili(11)



la struttura è dichiarata così:   Dim AnagCliente As New Anagrafica
Prima ho strutturato l'array col metodo structure in un modulo .
structure Anagrafica
Dim AcquiMensili() As Decimal
end structure

Sapete darmi qualche idea ?

Grazie a tutti

Sergio





PM
Avatar
Il Totem (Admin)
Guru^2


Messaggi: 3635
Iscritto: 24/01/2006

Segnala al moderatore
Postato alle 10:23
Sabato, 20/06/2009
Evidentemente l'array è vuoto: ti sei dimenticato di inizializzarlo e/o riempirlo. Comunque è più veloce fare così:
Codice sorgente - presumibilmente C# / VB.NET

  1. For i As Int32 = 0 To AnagCliente.AcquiMensili.Length - 1
  2.   decAcquiMensili(i) = AnagCliente.AcquiMensili(i)
  3. Next



"Infelici sono quelli che hanno tanto cervello da vedere la loro stupidità."
(Fligende Blatter)

"Dubitare di se stessi è il primo segno d'intelligenza."
(Ugo Ojetti)
PM
Avatar
sergio58 (Normal User)
Rookie


Messaggi: 38
Iscritto: 05/08/2008

Segnala al moderatore
Postato alle 16:08
Sabato, 20/06/2009
Grazie Totem era proprio per quel motivo.

Ciao sergio

PM