Oppure

Loading
29/07/08 13:40
bruceex39
Ciao a tutti sono un neofita di programmazione in vb e chiedevo un'aiutino per un piccolo programma che mi deve dare la somma inserendo dei numeri in delle textbox.AllorA IL CONCETTO è QUESTO:
ho 3 textbox l'utente inserendo i 3 numeri nelle text un bottone mi deve dare la somma di questi 3 numeri e visualizzarli in una label. pero' se il risultato e > 90 automaticamente mi deve detrarre la somma dei 3 numeri a - 90 im modo da darmi il risultato della somma in un numero compreso da 1 a 90 io ho provato intando impostando la proprietà MaxLenght delle textbox a 2 in modo che l'utente nn possa digitare + di 2 numeri e poi inserendo questo codice:

Option Explicit
Dim risultato As Integer
Private Sub Command1_Click()
risultato = txt1.Text + txt2.Text + txt3.Text
Label1.Caption = risultato
End Sub
ma quando premo il pulsante invece di fare la somma mi legge il valore di quello che ho scritto nelle text ad esempio scrivendo nella txt1 7 nella txt2 8 e nella txt3 5 invece di darmi il risultato di 20 la label mi da 785 qualcuno puo' aiutarmi?
aaa
29/07/08 14:00
giusy_m86
scrivi così

risultato = (Val(text1.text)+val(text2.text)+val(text3.text)
aaa
29/07/08 14:21
GrG
Come ti hanno detto devi usare la funzione Val() che converte delle stringhe in numeri...
aaa
29/07/08 14:38
bruceex39
Postato originariamente da GrG:

Come ti hanno detto devi usare la funzione Val() che converte delle stringhe in numeri...


Ok funziona mille grazie pero' se il risultato e superiore a 90 come dovrei fare? penso che cosi dovrebbe essere giusto?
If txtDisplay.Text > 90 Then
txtDisplay = d - 90
End If
Ultima modifica effettuata da bruceex39 29/07/08 14:40
aaa
29/07/08 14:48
GrG
si + o - è così anche se non capisco da dove hai tirato fuori la variabile "d", cmq rapportato al codice di prima sarebbe così:
Option Explicit
Dim risultato As Integer
Private Sub Command1_Click()
risultato = txt1.Text + txt2.Text + txt3.Text
if risultato > 90 then
risultato = risultato - 90
Label1.Caption = risultato
End Sub 
aaa
29/07/08 15:09
bruceex39
Postato originariamente da GrG:

si + o - è così anche se non capisco da dove hai tirato fuori la variabile "d", cmq rapportato al codice di prima sarebbe così:
Option Explicit
Dim risultato As Integer
Private Sub Command1_Click()
risultato = txt1.Text + txt2.Text + txt3.Text
if risultato > 90 then
risultato = risultato - 90
Label1.Caption = risultato
End Sub 


Allora ho un po modificato il codice che adesso è il seguente:

Option Explicit
Dim a As Integer
Dim b As Integer
Dim c As Integer
Dim d As Integer





Private Sub Command1_Click()
a = Val(txt1.Text)
b = Val(txt2.Text)
c = Val(txt3.Text)
d = a + b + c
txtDisplay.Text = d

If txtDisplay.Text > 90 Then
txtDisplay = d - 90
End If
End Sub

solo che c'è un problema la somma che mi daranno le 3 text al massimo sarà di 270 visto che i numeri del lotto al massimo arrivano a 90 ora se utilizzo questo codice e la somma dei 3 text raggiunge una somma tale da poter fare la sottrazione e restituirmi un numero compreso da 1 a 90 allora e tutto ok ma se la somma delle text mi da un risultato del tipo 270 0 250 etc, come faccio a farmi restituire un numero compreso da 1 a 90? nn so se sono stato chiaro.
grazie cmq per la risposta
aaa
29/07/08 15:23
Alceus
Allora, da quel che ho capito stai creando un'applicazione basata sui numeri del lotto, giusto?
In tal caso, posso chiederti a cosa serve sottrarre 90 alla somma delle tre TextBox (giusto per capire un po' meglio quello che vuoi fare...:k: )?
Ultima modifica effettuata da Alceus 29/07/08 15:23
aaa
29/07/08 15:37
GrG
Se vuoi ottenere un risultato solo a 2 cifre basta che metti a txtDisplay nella proprietà MaxLength = 2

:k:
aaa