Calculadora 2.0 (resolta)
Public Class Form1
'DEFINEIXO LES VARIABLES
Dim NumA, NumB, NumC As Long
Dim Operacio As String
'EN CARREGAR EL FORMULARI
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
'ACTUALITZO VARIABLES
NumA = 0
NumB = 1
NumC = 0
Pantalla.Text = ""
TextBox1.TabIndex = 1
End Sub
Private Sub BotoC_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BotoC.Click
'ACTUALITZO VARIABLES
NumA = 0
NumB = 1
NumC = 0
Pantalla.Text = ""
End Sub
Private Sub Boto0_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Boto0.Click
Pantalla.Text = Pantalla.Text & Boto0.Text
'PER A QUE SEMPRE EM DEIXI FER SERVIR EL TECLAT
TextBox1.Focus()
End Sub
Private Sub Boto1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Boto1.Click
Pantalla.Text = Pantalla.Text & Boto1.Text
'PER A QUE SEMPRE EM DEIXI FER SERVIR EL TECLAT
TextBox1.Focus()
End Sub
Private Sub Boto2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Boto2.Click
Pantalla.Text = Pantalla.Text & Boto2.Text
'PER A QUE SEMPRE EM DEIXI FER SERVIR EL TECLAT
TextBox1.Focus()
End Sub
Private Sub Boto3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Boto3.Click
Pantalla.Text = Pantalla.Text & Boto3.Text
'PER A QUE SEMPRE EM DEIXI FER SERVIR EL TECLAT
TextBox1.Focus()
End Sub
Private Sub Boto4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Boto4.Click
Pantalla.Text = Pantalla.Text & Boto4.Text
'PER A QUE SEMPRE EM DEIXI FER SERVIR EL TECLAT
TextBox1.Focus()
End Sub
Private Sub Boto5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Boto5.Click
Pantalla.Text = Pantalla.Text & Boto5.Text
'PER A QUE SEMPRE EM DEIXI FER SERVIR EL TECLAT
TextBox1.Focus()
End Sub
Private Sub Boto6_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Boto6.Click
Pantalla.Text = Pantalla.Text & Boto6.Text
'PER A QUE SEMPRE EM DEIXI FER SERVIR EL TECLAT
TextBox1.Focus()
End Sub
Private Sub Boto7_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Boto7.Click
Pantalla.Text = Pantalla.Text & Boto7.Text
'PER A QUE SEMPRE EM DEIXI FER SERVIR EL TECLAT
TextBox1.Focus()
End Sub
Private Sub Boto8_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Boto8.Click
Pantalla.Text = Pantalla.Text & Boto8.Text
'PER A QUE SEMPRE EM DEIXI FER SERVIR EL TECLAT
TextBox1.Focus()
End Sub
Private Sub Boto9_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Boto9.Click
Pantalla.Text = Pantalla.Text & Boto9.Text
'PER A QUE SEMPRE EM DEIXI FER SERVIR EL TECLAT
TextBox1.Focus()
End Sub
Private Sub BotoMes_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BotoMes.Click
'DESO NUMA
NumA = Val(Pantalla.Text)
'FAIG OPERACIO
Operacio = "Suma"
'ESBORRO PANTALLA
Pantalla.Text = ""
End Sub
Private Sub BotoMenys_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BotoMenys.Click
'DESO NUMA
NumA = Val(Pantalla.Text)
'FAIG OPERACIO
Operacio = "Resta"
'ESBORRO PANTALLA
Pantalla.Text = ""
End Sub
Private Sub BotoPer_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BotoPer.Click
'DESO NUMA
NumA = Val(Pantalla.Text)
'FAIG OPERACIO
Operacio = "Multiplicació"
'ESBORRO PANTALLA
Pantalla.Text = ""
End Sub
Private Sub BotoEntre_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BotoEntre.Click
'DESO NUMA
NumA = Val(Pantalla.Text)
'FAIG OPERACIO
Operacio = "Divisió"
'ESBORRO PANTALLA
Pantalla.Text = ""
End Sub
Private Sub BotoIgual_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BotoIgual.Click
NumB = Val(Pantalla.Text)
If Operacio = "Suma" Then NumC = NumA + NumB
If Operacio = "Resta" Then NumC = NumA - NumB
If Operacio = "Multiplicació" Then NumC = NumA * NumB
If Operacio = "Divisió" Then
If NumB <> 0 Then
NumC = NumA / NumB
Else
NumC = 999999999999999999
End If
End If
Pantalla.Text = Str(NumC)
End Sub
Private Sub TextBox1_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox1.KeyPress
'SI ES NUMERO
If Asc(e.KeyChar) >= 48 And Asc(e.KeyChar) <= 57 Then
'MOSTRA-L A LA PANTALLA
Pantalla.Text = Pantalla.Text & e.KeyChar
'SI NO
Else
'SI ES INTRO, BACKSPACE, +, -, *, /
If (Asc(e.KeyChar) = 13) Or (Asc(e.KeyChar) = 42) Or (Asc(e.KeyChar) = 43) Or (Asc(e.KeyChar) = 45) Or (Asc(e.KeyChar) = 47) Or (Asc(e.KeyChar) = 8) Then
'SI ES SIGNE +
If Asc(e.KeyChar) = 43 Then
'ESBORRO TEXTBOX
TextBox1.Text = ""
'DESO NUMA
NumA = Val(Pantalla.Text)
'FAIG OPERACIO
Operacio = "Suma"
'ESBORRO PANTALLA
Pantalla.Text = ""
End If
'SI ES SIGNE -
If Asc(e.KeyChar) = 45 Then
'ESBORRO TEXTBOX
TextBox1.Text = ""
'DESO NUMA
NumA = Val(Pantalla.Text)
'FAIG OPERACIO
Operacio = "Resta"
'ESBORRO PANTALLA
Pantalla.Text = ""
End If
'SI ES SIGNE *
If Asc(e.KeyChar) = 42 Then
'ESBORRO TEXTBOX
TextBox1.Text = ""
'DESO NUMA
NumA = Val(Pantalla.Text)
'FAIG OPERACIO
Operacio = "Multiplicació"
'ESBORRO PANTALLA
Pantalla.Text = ""
End If
'SI ES SIGNE /
If Asc(e.KeyChar) = 47 Then
'ESBORRO TEXTBOX
TextBox1.Text = ""
'DESO NUMA
NumA = Val(Pantalla.Text)
'FAIG OPERACIO
Operacio = "Divisió"
'ESBORRO PANTALLA
Pantalla.Text = ""
End If
'SI ES INTRO
If Asc(e.KeyChar) = 13 Then
'ESBORRO TEXTBOX
TextBox1.Text = ""
NumB = Val(Pantalla.Text)
If Operacio = "Suma" Then NumC = NumA + NumB
If Operacio = "Resta" Then NumC = NumA - NumB
If Operacio = "Multiplicació" Then NumC = NumA * NumB
If Operacio = "Divisió" Then
If NumB <> 0 Then
NumC = NumA / NumB
Else
NumC = 999999999999999999
End If
End If
Pantalla.Text = Str(NumC)
End If
'SI BackSpace
If Asc(e.KeyChar) = 8 Then
'ESBORRO TOT
TextBox1.Text = ""
NumA = 0
NumB = 0
Operacio = ""
Pantalla.Text = ""
End If
'SI NO
Else
e.Handled = True
End If
End If
End Sub
End Class