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 - prima esperienza di vb
Forum - Visual Basic 6 - prima esperienza di vb

Pagine: [ 1 2 3 4 5 6 7 8 ] Precedente | Prossimo
Avatar
bruceex39 (Normal User)
Rookie


Messaggi: 26
Iscritto: 29/07/2008

Segnala al moderatore
Postato alle 15:40
Martedì, 29/07/2008
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?

PM Quote
Avatar
giusy_m86 (Normal User)
Pro


Messaggi: 143
Iscritto: 09/07/2008

Segnala al moderatore
Postato alle 16:00
Martedì, 29/07/2008
scrivi così

risultato = (Val(text1.text)+val(text2.text)+val(text3.text)

PM Quote
Avatar
GrG (Member)
Guru^2


Messaggi: 3430
Iscritto: 21/08/2007

Segnala al moderatore
Postato alle 16:21
Martedì, 29/07/2008
Come ti hanno detto devi usare la funzione Val() che converte delle stringhe in numeri...

PM Quote
Avatar
bruceex39 (Normal User)
Rookie


Messaggi: 26
Iscritto: 29/07/2008

Segnala al moderatore
Postato alle 16:38
Martedì, 29/07/2008
Testo quotato

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 il 29/07/2008 alle 16:40
PM Quote
Avatar
GrG (Member)
Guru^2


Messaggi: 3430
Iscritto: 21/08/2007

Segnala al moderatore
Postato alle 16:48
Martedì, 29/07/2008
si + o - è così anche se non capisco da dove hai tirato fuori la variabile "d", cmq rapportato al codice di prima sarebbe così:
Codice sorgente - presumibilmente VB.NET

  1. Option Explicit
  2. Dim risultato As Integer
  3. Private Sub Command1_Click()
  4. risultato = txt1.Text + txt2.Text + txt3.Text
  5. if risultato > 90 then
  6. risultato = risultato - 90
  7. Label1.Caption = risultato
  8. End Sub


PM Quote
Avatar
bruceex39 (Normal User)
Rookie


Messaggi: 26
Iscritto: 29/07/2008

Segnala al moderatore
Postato alle 17:09
Martedì, 29/07/2008
Testo quotato

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ì:
Codice sorgente - presumibilmente VB.NET

  1. Option Explicit
  2. Dim risultato As Integer
  3. Private Sub Command1_Click()
  4. risultato = txt1.Text + txt2.Text + txt3.Text
  5. if risultato > 90 then
  6. risultato = risultato - 90
  7. Label1.Caption = risultato
  8. 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

PM Quote
Avatar
Alceus (Member)
Expert


Messaggi: 288
Iscritto: 22/07/2008

Segnala al moderatore
Postato alle 17:23
Martedì, 29/07/2008
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 il 29/07/2008 alle 17:23
PM Quote
Avatar
GrG (Member)
Guru^2


Messaggi: 3430
Iscritto: 21/08/2007

Segnala al moderatore
Postato alle 17:37
Martedì, 29/07/2008
Se vuoi ottenere un risultato solo a 2 cifre basta che metti a txtDisplay nella proprietà MaxLength = 2

:k:

PM Quote
Avatar
bruceex39 (Normal User)
Rookie


Messaggi: 26
Iscritto: 29/07/2008

Segnala al moderatore
Postato alle 18:39
Martedì, 29/07/2008
Testo quotato

Postato originariamente da 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: )?



Come dicevo i numeri del lotto sono 90 ed io sto facendo un'applicazione che si sa su un metodo:
il metodo è composto da queste 3 text che equivalgono la prima text al primo estratto di Bari la seconda text al terzo estratto di Cagliari e la terza text al quinto estratto di Firenze ora mettiamo caso che i 3 numeri inseriti nelle 3 text siano rispettivamente il 90 il 70 e l'80 come somma da 240 giusto? ora il metodo prevede e dice che a tale somma si deve sottrarre il 90 quindi (240 - 90 = 150) ed ancora - 90 in modo da darmi un numero compreso da 1 a 90  ora per poter far svolgere al programma nuovamente la  seconda sottrazione di - 90 come devo fare? visto che io ho provato cosi:
If txtDisplay.Text > 90 Then
txtDisplay = d - 90
End If ma va bene solo se la suddetta somma nn va oltre 180 perchè 180-90 = 90 ma se la somma e superiore a 180 il programma mi deve fare nuovamente la seconda sottrazione - 90 quindi è questo che vorrei sapere come si fa?

PM Quote
Pagine: [ 1 2 3 4 5 6 7 8 ] Precedente | Prossimo