Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
Visual Basic 6 - array di variabili
Forum - Visual Basic 6 - array di variabili

Avatar
mash_mash (Normal User)
Expert


Messaggi: 230
Iscritto: 25/07/2007

Segnala al moderatore
Postato alle 14:29
Giovedì, 22/10/2009
Ciao a tutti sapete dirmi perche' non va ?

Private sub cmdTotale()
Dim i As Integer
Dim valuta() as Integer
For i = 0 To 9
If valuta(i) = "0" Then
valuta(i) = val(text1(i).text)
Exit For
End If
Next i
For i = 0 To 9
Totale = totale + valuta(i)
Next i
End Sub

PM Quote
Avatar
mash_mash (Normal User)
Expert


Messaggi: 230
Iscritto: 25/07/2007

Segnala al moderatore
Postato alle 14:41
Giovedì, 22/10/2009
Ho risolto parzialmente così

Private sub cmdTotale()
Dim i As Integer
Dim totale as integer
Dim valuta(9) as Integer
For i = 0 To 9
If val(valuta(i)) = "0" Then
valuta(i) = val(text1(i).text)
Exit For
End If
Next i
For i = 0 To 9
Totale = totale + val(valuta(i))
Next i
End Sub

però la variabile totale rimane sempre ferma al 1^ valore di valuta(0) , come mai ?


PM Quote
Avatar
theprogrammer (Normal User)
Guru^2


Messaggi: 2509
Iscritto: 28/01/2009

Segnala al moderatore
Postato alle 15:03
Giovedì, 22/10/2009
Quando posti un problema, parti dal fatto che chi ti risponde non sa quello che stai facendo nè quello che succede di anomalo.

Spiega in che situazione sei

1) Hai un form con un array di Textbox ?

2) Quante sono e cosa contengono ?

3) Cosa vuoi ottenere ?

4) Perchè hai usato quel codice ? A cosa serve la If ? Perchè confronti dei valori numerici con delle stringhe come "0" ?

5) Sei sicuro che sia necessario un array di variabili per fare quello che vuoi ?

Ultima modifica effettuata da theprogrammer il 22/10/2009 alle 15:07
PM Quote
Avatar
mash_mash (Normal User)
Expert


Messaggi: 230
Iscritto: 25/07/2007

Segnala al moderatore
Postato alle 15:48
Giovedì, 22/10/2009
allora : in un form ho 10 textbox che al caricamento dello stesso hanno valore 0(zero).
Ogni qualvolta vado a modificare il valore di una text questo viene memorizzato dall'array di variabili valuta .
La variabile totale e' la somma dei valori dei valori dell'array valuta.
Questo è quanto vorrei ottenere.

P.S. So che potrei fare la somma dei valori delle text , ma vorrei ottenere la somma in questo modo.

PM Quote
Avatar
theprogrammer (Normal User)
Guru^2


Messaggi: 2509
Iscritto: 28/01/2009

Segnala al moderatore
Postato alle 15:58
Giovedì, 22/10/2009
Testo quotato

Postato originariamente da mash_mash:

allora : in un form ho 10 textbox che al caricamento dello stesso hanno valore 0(zero).
Ogni qualvolta vado a modificare il valore di una text questo viene memorizzato dall'array di variabili valuta .
La variabile totale e' la somma dei valori dei valori dell'array valuta.
Questo è quanto vorrei ottenere.

P.S. So che potrei fare la somma dei valori delle text , ma vorrei ottenere la somma in questo modo.



Dato che sai che la somma la puoi ottenere dai textbox e che l'array non serve, perche' mai questa "necessità"?

La somma la ottieni semplicemente con

Codice sorgente - presumibilmente VB.NET

  1. Private Sub cmdTotale()
  2.    Dim i As Integer
  3.    Dim Totale as Double
  4.  
  5.    Totale = 0
  6.    For i = 0 To 9
  7.       totale = totale + CDbl(text1(i).Text)
  8.    Next i
  9. End Sub


Ultima modifica effettuata da theprogrammer il 22/10/2009 alle 18:51
PM Quote
Avatar
mash_mash (Normal User)
Expert


Messaggi: 230
Iscritto: 25/07/2007

Segnala al moderatore
Postato alle 16:07
Giovedì, 22/10/2009
Mi sa tanto che hai per l'enensima volta ragione , mi sto incasinando per niente.
farò così.

PM Quote
Avatar
mash_mash (Normal User)
Expert


Messaggi: 230
Iscritto: 25/07/2007

Segnala al moderatore
Postato alle 16:11
Giovedì, 22/10/2009
Permettimi un'altra domanda : c'è un modo veloce per fare la somma dei valori di un array ?
esempio :

ho un array valuta(6)

totale = (valuta(0)+valuta(1)+valuta(2)+valuta(3)+valuta(4)+valuta(5)+valuta(6)+valuta(7))

PM Quote
Avatar
Louis (Normal User)
Pro


Messaggi: 150
Iscritto: 22/04/2008

Segnala al moderatore
Postato alle 17:54
Giovedì, 22/10/2009
Bhe theprogrammer te lo ha appena detto come fare; in ogni caso ti ripropongo un esempio:
Codice sorgente - presumibilmente VB.NET

  1. Option Explicit
  2. Private Sub Command1_Click()
  3.     Dim j As Integer
  4.     Dim dblTotale As Double
  5.     Dim vrValuta() As Variant
  6.  
  7. 'Ridimensiona la matrice e fissa gli elementi:
  8.     ReDim Preserve vrValuta(6)
  9. ' Carica il vettore:
  10.     vrValuta = Array(10.15, 20.15, 30, 40, 50.25, 60.35, 70.45)
  11.    
  12.     dblTotale = 0
  13.    
  14.     For j = LBound(vrValuta) To UBound(vrValuta)
  15.         dblTotale = dblTotale + vrValuta(j)
  16.     Next j
  17.     Text2.Text = dblTotale
  18. End Sub


;)

PM Quote