Cerca di rendere leggibile con facilità il programma, dichiara le variabili all' inizio e caricale in un secondo tempo. L' MsgBox va usato per avvisare di un eventuale dato errato o particolare.
Nel oggetto TextBox inserisci il valore esso può essere numerico o una stringa la risposta la puoi far apparire il una Label o in una PictureBox.
Altre sì, puoi utilizzare la stessa TextBox per inserire entrambi i valori da calcolare, ma se vuoi che siano visibili entrambi usane due.
Private Sub Command1_Click( )
Dim A As Double, B As Double
A = TextBox1.Text
B = TextBox2.Text
MsgBox " Il risultato di " & A & " * " & B & " = " & Str(A*B), ,"MOLTIPLICAZIONE"
'//oppure
'//Label1.Caption = " Il risultato di " & Str(A)& " * " & Str(B) & " = " & Str(A*B)
End Sub
Se utilizzi le variabili in tutto il programma dichiarale in modo esplicito fuori dalle Sub, scrivi così:
Option Explicit
Dim A As Double ' quì inserisci l' indicazione a cosa si riferisce la variabile A
Dim B As Double ' quì inserisci l' indicazione a cosa si riferisce la variabile A
'-----Clicchi su Invio e Option Explicit va al suo posto da solo e lo trovi sotto Generale
L' utilizzo del MsgBox per il controllo del valore digitato è più indicato che usarlo per il risultato di un calcolo, Dato che le variabili hanno una dimensione limitata oppure per evitare che al posto di un numero vengano digitate delle lettere, meglio far eseguire questi controlli nelle Sub delle TextBox, una volta scritto il valore nella TextBox premi il tasto Invio.
'-------------------------
Private Sub Text1_KeyPress( KeyAscii As Integer ) ' controllo del valore ad ogni tasto premuto
Select Case KeyAscii ' KeyAscii contiene il valore ASCII del tasto premuto
Case is < 32 ' funzioni della tastiera ( Tab, Spaces, Invio ecc)
Case 48 To 57 ' tutti i numeri da 0 a 9
Case 46 ' il punto (inglese) separatore dei decimali in vb
Case Else
KeyAscii = 0 ' il tasto digitato viene annullato, ho scrivi numeri o niente
End Select
'proseguiamo con il controllo della grandezza max del numero digitato esempio 99999.99999
If Val( Text1.text) > 99999.99999 then
MsgBox " Il numero inserito è superiore a quanto consentito" , , "ATTENZIONE"
Text1.text = ""
Text1.SetFocus
Else
If KeyAscii = vbKeyReturn Then
A = Val(Text1.text)
Text2.SetFocus
End Sub
'---------------------
Private Sub Text2_KeyPress( KeyAscii As Integer ) ' controllo del valore ad ogni tasto premuto
Select Case KeyAscii ' KeyAscii contiene il valore ASCII del tasto premuto
Case is < 32 ' funzioni della tastiera ( Tab, Spaces, Invio ecc)
Case 48 To 57 ' tutti i numeri da 0 a 9
Case 46 ' il punto (inglese) deparatore dei decimali in vb
Case Else
KeyAscii = 0 ' il tasto digitato viene annullato, ho scrivi numeri o niente
End Select
'proseguiamo con il controllo della grandezza max del numero digitato esempio 99999.99999
If Val( Text2.text) > 99999.99999 then
MsgBox " Il numero inserito è superiore a quanto consentito" , , "ATTENZIONE"
Text2.text = ""
Text2.SetFocus
Else
If KeyAscii = vbKeyReturn Then
B = Val(Text2.text)
CommandButton1.SetFocus
End Sub
'------------------------
Private Sub CommandButton1_Click( )
Label1.Caption = " Il risultato di " & Str(A) & " X " & Str(B) & " = " & Str(A*B)
End Sub
'------------------------
Buon divertimento. Ciao