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

Darrera modificació: dimarts, 26 de febrer 2019, 12:05