Oppure

Loading
22/10/09 12:29
mash_mash
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
aaa
22/10/09 12:41
mash_mash
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 ?

aaa
22/10/09 13:03
theprogrammer
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 22/10/09 13:07
aaa
22/10/09 13:48
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.
aaa
22/10/09 13:58
theprogrammer
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

Private Sub cmdTotale() 
   Dim i As Integer 
   Dim Totale as Double

   Totale = 0
   For i = 0 To 9 
      totale = totale + CDbl(text1(i).Text) 
   Next i 
End Sub
Ultima modifica effettuata da theprogrammer 22/10/09 16:51
aaa
22/10/09 14:07
mash_mash
Mi sa tanto che hai per l'enensima volta ragione , mi sto incasinando per niente.
farò così.
aaa
22/10/09 14:11
mash_mash
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))
aaa
22/10/09 15:54
Louis
Bhe theprogrammer te lo ha appena detto come fare; in ogni caso ti ripropongo un esempio:
Option Explicit
Private Sub Command1_Click()
    Dim j As Integer
    Dim dblTotale As Double
    Dim vrValuta() As Variant

'Ridimensiona la matrice e fissa gli elementi:
    ReDim Preserve vrValuta(6)
' Carica il vettore:
    vrValuta = Array(10.15, 20.15, 30, 40, 50.25, 60.35, 70.45)
    
    dblTotale = 0
    
    For j = LBound(vrValuta) To UBound(vrValuta)
        dblTotale = dblTotale + vrValuta(j)
    Next j
    Text2.Text = dblTotale
End Sub

;)
aaa