PDA

Visualizza la versione completa : Caselle di testo e operazioni matematiche


dvcappie
10-05-2002, 12:40
Salve a tutti, il problema è il seguente e sarei felicissimo di essere aiutato:
Ho:
1) una casella di testo
2) un pulsante
3) un'etichetta
Scrivo nella casella di testo 2+1;
dovrebbe andare questo valore in una variabile;
dovrei avere il risultato. Perchè questo non avviene?

-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-
Option Explicit
Dim Cifra As Variant

Private Sub Command1_Click()
Cifra = Text1.Text
' ADESSO O FACCIO UNA CAPTION SU LABEL
' O FACCIO PRINT SU QUALCHE COSA
' *** lblOut.Caption = Cifra
' ***OPPURE Print Cifra
' Il risultato è che mi scrive quello
' che scrivo nella textbox
' io vorrei che se scrivo un'operazione matematica
' nella casella di testo, mi venisse dato il risultato
' perchè ciò non avviene?
' Un'altra cosa, come faccio a escludere
' tutti i caratteri tranne i numeri
' *** Grazie, Davide ***
End Sub

steno12
10-05-2002, 14:12
metti tre caselle testo, e nel pulsante scrivi il codice:

nella prima casella text1.text scrivi 2
nella seconda casella text2.text scrivi 1
la terza text3.text ti serve per visualizzare il risultato

nel pulsante scrivi il codice:

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

dvcappie
10-05-2002, 14:35
Questo lo faccio, però è limitato alle sole addizioni.
Metti che io voglia scrvere in una casella di testo(in una sola)5*5
in un etichetta vorrei che mi uscisse il risultato.Però quello che avviene e sche nell'etichetta mi viene scritto 5*5 e non 25.
Ho provato a dichiarare textbox in una variabile locale, globale d'oggetto, ho usato il comando print, ma nulla di nulla perchè?
Grazie Davide

steno12
10-05-2002, 15:31
Tu dimmi che operazione vuoi fare e io ti posto come devi fare:
vuoi fare 5*5......ok:

metti tre caselle testo, e nel pulsante scrivi il codice:

nella prima casella text1.text scrivi 5
nella seconda casella text2.text scrivi 5
la terza text3.text ti serve per visualizzare il risultato

nel pulsante scrivi il codice:

text3.text=val(text1.text)* val(text2.text)

N.B. Ricorda che i computers non sanno fare neanche 1+1, sei tu che gli e l'ho devi far fare, tramite codice........... (in questo caso, il codice scritto nel pulsante)
Il pc non è intelligente...è solo molto diligente, esegue i comandi a bacchetta e all'infinito di lui ti puoi fidare ciecamente non ti tradirà mai.......se non ci sono sbalzi di corrente.
Se il pc fa le bizze è perchè il programmatore si distrae.

P.S.
Aspetto il post per la divisione...........

dvcappie
10-05-2002, 15:42
ho una calcolatrice fatta in vb
basta che scrivo anche un'espressione e premo invio mi da il risultato PERCHÉ?

vonkranz
10-05-2002, 15:44
Eventualmente prova a leggere questo thread:
potrebbe darti qualche idea.

Clicca qui (http://forum.html.it/forum/showthread.php?threadid=206600&highlight=eseguire+script) per aprire il thread in questione.

Ciao.

steno12
10-05-2002, 15:53
Va bene allora fai così:


lung = Len(Text1.Text)

ok = 0
b0$ = "": b1$ = "": segno$ = ""
For i = 1 To lung

If Mid$(Text1.Text, i, 1) = "*" Or Mid$(Text1.Text, i, 1) = "+" Or Mid$(Text1.Text, i, 1) = "-" Or Mid$(Text1.Text, i, 1) = "/" Then
ok = 1
segno$ = Mid$(Text1.Text, i, 1)
Else
If ok = 0 Then
b0$ = b0$ + Mid$(Text1.Text, i, 1)
Else
b1$ = b1$ + Mid$(Text1.Text, i, 1)
End If
End If

Next i

If ok = 0 Then Beep: Text1.Text = "": MsgBox ("Non è possibile eseguire nessuna operazione!"): Exit Sub
If segno$ = "*" Then
risultato = Val(b0$) * Val(b1$)
End If
If segno$ = "+" Then
risultato = Val(b0$) + Val(b1$)
End If
If segno$ = "-" Then
risultato = Val(b0$) - Val(b1$)
End If
If segno$ = "/" Then
risultato = Val(b0$) / Val(b1$)
End If
Label1.Caption = risultato

fammi sapere..................

steno12
11-05-2002, 01:53
dvcappie

dvcappie
11-05-2002, 11:43
Ciao steno12, ti ringrazio molto della risposta, però c'è un problema.
Sono nuovo di vb un codice del genere lo comprendo solo al 70%.
Il resto mi risulta strano.
Non saprei proprio come adattarlo alle mie esigenze.
Ci provo però tutti quei segni$$$ non so a cosa servono.

Loading