28 Haziran 2013 Cuma

VB.NET Gelişmiş Hesap Makinesi (if, else, case, instr ve replace) Kullanıldı

Filled under:

 GİRİŞ
     Bu yazımda Visual Basic ile gelişmiş bir hesap makinesi yapmaya çalıştık. Rakamlar ve işlemlerle Windows işletim sisteminin hesap makinesini örnek alarak basit bir bölümünü kodladık.

AMAÇ
     Yeni başlayanlar için hem basit hemde orta seviyeler için iyi bir uygulama olduğunu düşünüyorum. Projede if else ve case durum yapısını kullanıldı bol bol örnekli ve açıklamalı olduğundan güzel ve temel örnek içeriyor. Bunlara ek olarak 2 tane önemli fonksiyonu gösterdim bunlardan biri instr bu fonksiyon yardımıyla metin içinde arama yaparak istediğimiz karakteri veya kelimeyi bulma şansına sahibiz. İkinci fonksiyon ise replace komutu bununlada metin içindeki karakter veya kelimeleri başka bir kelimeyle değiştirme şansına sahibiz.


Lütfen Kaynak Göstermeden Paylaşmayınız
Dosya olarak indir
Şifre : bocekprogramlama.blogspot.com

Kaynak Kod
Public Class Form1

''bu bölümden * lı bölüme kadar rakamları label1 e eklemek üstünedir

    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        If Label1.Text = "0" Then
            Label1.Text = "9"
        Else
            Label1.Text = Label1.Text + "9"
        End If


    End Sub

    Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
        If Label1.Text = "0" Then
            Label1.Text = "8"
        Else
            Label1.Text = Label1.Text + "8"
        End If
    End Sub

    Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click
        If Label1.Text = "0" Then
            Label1.Text = "7"
        Else
            Label1.Text = Label1.Text + "7"
        End If
    End Sub

    Private Sub Button4_Click(sender As Object, e As EventArgs) Handles Button4.Click
        If Label1.Text = "0" Then
            Label1.Text = "4"
        Else
            Label1.Text = Label1.Text + "4"
        End If
    End Sub

    Private Sub Button5_Click(sender As Object, e As EventArgs) Handles Button5.Click
        If Label1.Text = "0" Then
            Label1.Text = "5"
        Else
            Label1.Text = Label1.Text + "5"
        End If
    End Sub

    Private Sub Button6_Click(sender As Object, e As EventArgs) Handles Button6.Click
        If Label1.Text = "0" Then
            Label1.Text = "6"
        Else
            Label1.Text = Label1.Text + "6"
        End If
    End Sub

    Private Sub Button7_Click(sender As Object, e As EventArgs) Handles Button7.Click
        If Label1.Text = "0" Then
            Label1.Text = "1"
        Else
            Label1.Text = Label1.Text + "1"
        End If
    End Sub

    Private Sub Button8_Click(sender As Object, e As EventArgs) Handles Button8.Click
        If Label1.Text = "0" Then
            Label1.Text = "2"
        Else
            Label1.Text = Label1.Text + "2"
        End If
    End Sub

    Private Sub Button9_Click(sender As Object, e As EventArgs) Handles Button9.Click
        If Label1.Text = "0" Then
            Label1.Text = "3"
        Else
            Label1.Text = Label1.Text + "3"
        End If
    End Sub

    Private Sub Button10_Click(sender As Object, e As EventArgs) Handles Button10.Click
        If Label1.Text = "0" Then
            Label1.Text = "0"
        Else
            Label1.Text = Label1.Text + "0"
        End If
    End Sub

    Private Sub Button17_Click(sender As Object, e As EventArgs) Handles Button17.Click
        Label1.Text = "0"
    End Sub

    Private Sub Button18_Click(sender As Object, e As EventArgs) Handles Button18.Click
        Label1.Text = "0"
        temp1.Text = ""
        temp2.Text = ""
        tur.Text = ""
    End Sub
''*********************
'' Bu bölümde instr ile pozitif veya negatif yapıyoruz sayıyı 
Private Sub Button11_Click(sender As Object, e As EventArgs) Handles Button11.Click
        Dim kntrl = InStr(Label1.Text, ",")
        If kntrl < 1 Then
            Label1.Text = Label1.Text + ","
        End If
    End Sub
'' Bu bölgede sonuç bulma işlemini yaptık

    Private Sub Button20_Click(sender As Object, e As EventArgs) Handles Button20.Click
        Select Case tur.Text
            Case Is = "+"
                temp2.Text = Label1.Text
                Label1.Text = Val(temp1.Text) + Val(temp2.Text)
                temp2.Text = ""
                temp1.Text = ""
            Case Is = "-"
                temp2.Text = Label1.Text
                Label1.Text = Val(temp1.Text) - Val(temp2.Text)
                temp2.Text = ""
                temp1.Text = ""
            Case Is = "*"
                temp2.Text = Label1.Text
                Label1.Text = Val(temp1.Text) * Val(temp2.Text)
                temp2.Text = ""
                temp1.Text = ""
            Case Is = "/"
                temp2.Text = Label1.Text
                Label1.Text = Val(temp1.Text) / Val(temp2.Text)
                temp2.Text = ""
                temp1.Text = ""
        End Select
    End Sub
'' bu bölgede işlemler için gereken butonları kullanıyoruz
Private Sub Button15_Click(sender As Object, e As EventArgs) Handles Button15.Click
        Dim kntrl = InStr(Label1.Text, "-")
        If kntrl < 1 Then
            Label1.Text = "-" + Label1.Text
        Else
            Label1.Text = Replace(Label1.Text, "-", "")
        End If
    End Sub

    Private Sub Button16_Click(sender As Object, e As EventArgs) Handles Button16.Click
        If temp1.Text = "" Then
            temp1.Text = Label1.Text
            Label1.Text = "0"
            tur.Text = "+"
        Else
            temp2.Text = Label1.Text
            Label1.Text = Val(temp1.Text) + Val(temp2.Text)
            temp2.Text = ""
            temp1.Text = ""
        End If
Private Sub Button12_Click(sender As Object, e As EventArgs) Handles Button12.Click If temp1.Text = "" Then temp1.Text = Label1.Text Label1.Text = "0" tur.Text = "-" Else temp2.Text = Label1.Text Label1.Text = Val(temp1.Text) - Val(temp2.Text) temp2.Text = "" temp1.Text = "" End If End Sub Private Sub Button13_Click(sender As Object, e As EventArgs) Handles Button13.Click If temp1.Text = "" Then temp1.Text = Label1.Text Label1.Text = "0" tur.Text = "*" Else temp2.Text = Label1.Text Label1.Text = Val(temp1.Text) * Val(temp2.Text) temp2.Text = "" temp1.Text = "" End If End Sub Private Sub Button14_Click(sender As Object, e As EventArgs) Handles Button14.Click If temp1.Text = "" Then temp1.Text = Label1.Text Label1.Text = "0" tur.Text = "/" Else temp2.Text = Label1.Text Label1.Text = Val(temp1.Text) / Val(temp2.Text) temp2.Text = "" temp1.Text = "" End If End Sub End Class





Lütfen Kaynak Göstermeden Paylaşmayınız
Dosya olarak indir
 Şifre : http://bocekprogramlama.blogspot.com

4 yorum:

  1. hocam çalışmanız için teşekkür ederim çok açıklayıcı olmuş ve sizin videonuzu takip ederek ilk defa bir program yaptım ve gayet başarılı
    peki ben mesela karekök ve yüzde lik butonunun da olmasını istiyorum çarpma bölme için verdiğiniz kodaların aynısını yüzdelik buttonu için de yazdım fakat yüzdelik işaretini tanımadı karakter tanınmadı hatasını aldım bunun için başka bir kodmu yazılması gerekiyor yoksa benmi yanlış yaptım ?

    YanıtlaSil
  2. Merhaba karakök için yine bi fonksiyon kullanman gerekece framework aracılığıyla math kütüphanesinden sqrt.
    Örnek:

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    Dim sayi As Integer
    Dim karekok As Double
    sayi = Val(TextBox1.Text)
    karekok = Math.Sqrt(sayi)
    TextBox2.Text = karekok
    End Sub

    Yüzde işlemleri için bölme işleminde " / " bu işareti kullanman gerekir. Direk yüzde alamazsın ama sayı çarpı yüzde bölü yüz yaparsan yüzdeyi bulursun.
    Örneğin:
    girilen sayı 200 istenilen 10% bunu şu şekilde yaparsan sonuc çıkar
    200*10/100

    İyi çalışmalar :)

    YanıtlaSil