12 Vb.Net prosty kalkulator

Prosty kalkulator



Mam nadzieje, że po jedenastu działach poradnika, nie muszę już wam tłumaczyć każdej linii kodu. Zaczniemy więc posługiwać się komentarzami w kodzie, dzięki temu będziemy mogli opisywać co poszczególne bloki kodu wykonują. Zacznijmy więc budować nasz pierwszy kalkulator. Otwieramy sobie nową formę i umieszczamy na niej kontrolki wg poniższego wzoru lub wg uznania.


No i dobrze, mamy już gotową formę. Na mojej formie ustawiłem właściwość TextBox'a ReadOnly na wartość True.
Teraz żeby to działało tak jak powinno to trzeba napisać jakiś kod. Zabieramy się do pracy !
Public Class Form1
    Private istniejeliczba1 As Boolean = False
    Private istniejeliczba2 As Boolean = False
    Private liczba1 As Decimal
    Private liczba2 As Decimal
    Private Opertr As String

    Private Sub Btn1_Click(sender As Object, e As EventArgs) Handles Btn1.Click
        TxbWynik.Text &= 1
    End Sub

    Private Sub Btn2_Click(sender As Object, e As EventArgs) Handles Btn2.Click
        TxbWynik.Text &= 2
    End Sub

    Private Sub Btn3_Click(sender As Object, e As EventArgs) Handles Btn3.Click
        TxbWynik.Text &= 3
    End Sub

    Private Sub Btn4_Click(sender As Object, e As EventArgs) Handles Btn4.Click
        TxbWynik.Text &= 4
    End Sub

    Private Sub Btn5_Click(sender As Object, e As EventArgs) Handles Btn5.Click
        TxbWynik.Text &= 5
    End Sub

    Private Sub Btn6_Click(sender As Object, e As EventArgs) Handles Btn6.Click
        TxbWynik.Text &= 6
    End Sub

    Private Sub Btn7_Click(sender As Object, e As EventArgs) Handles Btn7.Click
        TxbWynik.Text &= 7
    End Sub

    Private Sub Btn8_Click(sender As Object, e As EventArgs) Handles Btn8.Click
        TxbWynik.Text &= 8
    End Sub

    Private Sub Btn9_Click(sender As Object, e As EventArgs) Handles Btn9.Click
        TxbWynik.Text &= 9
    End Sub

    Private Sub Btn0_Click(sender As Object, e As EventArgs) Handles Btn0.Click
        TxbWynik.Text &= 0
    End Sub

    Private Sub BtnPrzecinek_Click(sender As Object, e As EventArgs) Handles BtnPrzecinek.Click
        If Not TxbWynik.Text.Contains(",") Then ' Jeśli textbox nie zawiera przecinka to wtedy
            TxbWynik.Text &= ","
        End If
    End Sub

    Private Sub BtnPlusMinus_Click(sender As Object, e As EventArgs) Handles BtnPlusMinus.Click
        If Not TxbWynik.Text.Contains("-") Then
            TxbWynik.Text = "-" & TxbWynik.Text
        Else
            If TxbWynik.Text.Contains("-") Then
                TxbWynik.Text = TxbWynik.Text.Trim("-") ' Funkcja Trim usuwa znak lub ciag znaków jeśli znajdzie je w łańcuchu textboxa
            End If
        End If
    End Sub

    Private Sub BtnWynik_Click(sender As Object, e As EventArgs) Handles BtnWynik.Click
        Try
            If istniejeliczba1 = True Then
                liczba2 = CDec(TxbWynik.Text)
                istniejeliczba2 = True
            End If
            If Opertr = "+" Then
                TxbWynik.Text = liczba1 + liczba2
            End If
            If Opertr = "-" Then
                TxbWynik.Text = liczba1 - liczba2
            End If
            If Opertr = "*" Then
                TxbWynik.Text = liczba1 * liczba2
            End If
            If Opertr = "/" Then
                TxbWynik.Text = liczba1 / liczba2
            End If
            istniejeliczba1 = False
        Catch ex As Exception
            MessageBox.Show(ex.Message)
        End Try
    End Sub

    Private Sub BtnDodaj_Click(sender As Object, e As EventArgs) Handles BtnDodaj.Click
        Opertr = "+"
        If istniejeliczba1 = False Then
            liczba1 = CDec(TxbWynik.Text)
            istniejeliczba1 = True
            TxbWynik.Text = ""
        End If
    End Sub

    Private Sub BtnOdejmij_Click(sender As Object, e As EventArgs) Handles BtnOdejmij.Click
        Opertr = "-"
        If istniejeliczba1 = False Then
            liczba1 = CDec(TxbWynik.Text)
            istniejeliczba1 = True
            TxbWynik.Text = ""
        End If
    End Sub

    Private Sub BtnDziel_Click(sender As Object, e As EventArgs) Handles BtnDziel.Click
        Opertr = "/"
        If istniejeliczba1 = False Then
            liczba1 = CDec(TxbWynik.Text)
            istniejeliczba1 = True
            TxbWynik.Text = ""
        End If
    End Sub

    Private Sub BtnMnozenie_Click(sender As Object, e As EventArgs) Handles BtnMnozenie.Click
        Opertr = "*"
        If istniejeliczba1 = False Then
            liczba1 = CDec(TxbWynik.Text)
            istniejeliczba1 = True
            TxbWynik.Text = ""
        End If
    End Sub

    Private Sub BtnProcent_Click(sender As Object, e As EventArgs)
        If istniejeliczba1 = False Then
            liczba1 = CDec(TxbWynik.Text)
            istniejeliczba1 = True
            liczba1 = liczba1
            TxbWynik.Text = ""
        End If
    End Sub

    Private Sub BtnClear_Click(sender As Object, e As EventArgs) Handles BtnClear.Click
        TxbWynik.Text = ""
        istniejeliczba1 = False
        istniejeliczba2 = False
    End Sub
End Class


Sprawdźcie to u siebie ! Jeśli będą jakieś pytania to zapraszam do pisania ich w komentarzach.


Utworzono 10.09.2015

Brak komentarzy:

Prześlij komentarz