Ana Sayfa » Ders Notları ve Örnekler » Programlama Çeşitli Örnekler » VB.NET Basit Bir Hesap Makinesi

Uyarılar :
  • Bu sayfada yazılanlar yeniden yayınlanamaz.
  • Bu örnek ders sırasındaki anlatımlardan derlenmiştir. Özellikle bir makale şeklinde yazılmamıştır. Bilgilerde eksiklikler bulunabilir.

Burada dört işlem yapan ve bir form kullanan basit bir hesap makinesininin nasıl yapılabileceğini görebilirsiniz. Örneği buradan indirebilirsiniz. Ancak tekrar derlemeniz gerekebilir.

Program formu :

VB.NET Program Dosyası :


Public Class Form1
    Dim Sonuc As Decimal = 0
    Dim OncekiIslem As String = ""

    Private Sub IslemKaydet(ByVal Islem As String)
        IslemYap(OncekiIslem)
        If Islem = "=" Then
            Sil()
        Else
            OncekiIslem = Islem
        End If
    End Sub
    Private Sub IslemYap(ByVal Islem As String)
        Dim YeniSayi As Decimal = 0
        YeniSayi = System.Convert.ToDecimal(TextBox1.Text)
        ' Üstteki yerine alttakini kullanarak sayıya çevrilemeyen         '
        ' metinlerden dolayı hata ortaya çıkmaz. Sayı 0 kabul edilir.     '
        ' If Not Decimal.TryParse(TextBox1.Text, YeniSayi) Then YeniSayi = 0   '
        Select Case Islem
            Case ""
                Sonuc = YeniSayi
            Case "+"
                Sonuc = Sonuc + YeniSayi
            Case "-"
                Sonuc = Sonuc - YeniSayi
            Case "x"
                Sonuc = Sonuc * YeniSayi
            Case "/"
                Sonuc = Sonuc / YeniSayi
        End Select
        MetinKutusunuAyarla(Sonuc)
    End Sub
    Private Sub btnSil_Click(ByVal sender As System.Object,
                             ByVal e As System.EventArgs) Handles btnSil.Click
        Sil()
        MetinKutusunuAyarla(0)
    End Sub
    Private Sub MetinKutusunuAyarla(ByVal Deger As String)
        TextBox1.Text = Deger
        TextBox1.Focus()
    End Sub
    Private Sub Sil()
        OncekiIslem = ""
        Sonuc = 0
    End Sub
	
    ' Alttaki alt programlar ile ilgili olarak aşağıdaki nota bakın. '
    Private Sub btnTopla_Click(ByVal sender As System.Object,
                               ByVal e As System.EventArgs) Handles btnTopla.Click
        IslemKaydet("+")
    End Sub

    Private Sub btnCikart_Click(ByVal sender As System.Object,
                                ByVal e As System.EventArgs) Handles btnCikart.Click
        IslemKaydet("-")
    End Sub

    Private Sub btnCarp_Click(ByVal sender As System.Object,
                              ByVal e As System.EventArgs) Handles btnCarp.Click
        IslemKaydet("x")
    End Sub

    Private Sub btnBol_Click(ByVal sender As System.Object,
                             ByVal e As System.EventArgs) Handles btnBol.Click
        IslemKaydet("/")
    End Sub

    Private Sub btnEsittir_Click(ByVal sender As System.Object,
                                 ByVal e As System.EventArgs) Handles btnEsittir.Click
        IslemKaydet("=")
    End Sub

    ' Not: '
    ' ----------- '
    ' Tüm işlem tuşlarının Click olayları aşağıdakine ayarlanırsa, her tuşa ayrı bir '
    ' Click yazmaya gerek kalmaz.                                                    '
	
    ' Private Sub Button1_Click(ByVal sender As System.Object,                       '
    '                           ByVal e As System.EventArgs) Handles Button1.Click   '
    '    IslemKaydet(CType(sender, Button).Text)                                     '
    ' End Sub                                                                        '

End Class


İletişim : hazirsite@gmail.com