folder Tahribat.com Forumları
linefolder Visual Basic - Basic - PicBasic ve Türevleri
linefolder [Beyaz Tahribat] Visual Basic - Yeni Başlayanlar İçin Calc Benzeri Hesap Makinesi



[Beyaz Tahribat] Visual Basic - Yeni Başlayanlar İçin Calc Benzeri Hesap Makinesi

  1. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Fikret
    Fikret's avatar
    Kayıt Tarihi: 01/Ekim/2007
    Erkek

    merhaba müridler :D
    forumdaki ilk beyaz tahribat konumda yeni başlayanlar için basit bir hesap makinesi yapımını anlatacağım. bunu yazalı bayagı olmuştu baştan yazacagıma yazılmışı var dedim :D neyse konuya gecelim.

     

    ---------------------------------------------------------

    şimdi öncelikle isimlerden baslayalım
    buton isimleri şu şekilde önceden belirtiyim.

    1 = b1
    2 = b2
    3 = b3
    4 = b4
    5 = b5
    6 = b6
    7 = b7
    8 = b8
    9 = b9
    0 = b0
    + = topla
    - = cikar
    / = bol
    * = carp
    = = esit
    CE = clear
    yazı kısmını da (textbox) = sayi

    şeklinde isimlendirdim.

    hepsinin captionlarıda resimdeki gibi.

    önce "General Declarations" kısmından 2 değişken tanımlıyorum.

    Kod:
    Dim giris, islem
    ve numara butonların click olaylarına şunları yazıyorum

    Kod:
    Private Sub b0_Click()
    sayi.Text = Val(sayi.Text) * 10 + 0
    End Sub
    Private Sub b1_Click()
    sayi.Text = Val(sayi.Text) * 10 + 1
    End Sub
    Private Sub b2_Click()
    sayi.Text = Val(sayi.Text) * 10 + 2
    End Sub
    Private Sub b3_Click()
    sayi.Text = Val(sayi.Text) * 10 + 3
    End Sub
    Private Sub b4_Click()
    sayi.Text = Val(sayi.Text) * 10 + 4
    End Sub
    Private Sub b5_Click()
    sayi.Text = Val(sayi.Text) * 10 + 5
    End Sub
    Private Sub b6_Click()
    sayi.Text = Val(sayi.Text) * 10 + 6
    End Sub
    Private Sub b7_Click()
    sayi.Text = Val(sayi.Text) * 10 + 7
    End Sub
    Private Sub b8_Click()
    sayi.Text = Val(sayi.Text) * 10 + 8
    End Sub
    Private Sub b9_Click()
    sayi.Text = Val(sayi.Text) * 10 + 9
    End Sub
    Açıklama :
    sayi.Text = Val(sayi.Text) * 10 + 1
    1 e tıklanınca yani yazılan sayıyı 10 ile çarp 1 ekle
    örneğin 123 yazıyosa, 1230 + 1 = 1231
    bunu tıklanınca sayıyı yanına eklemesi için kullanıyoruz.

    bol butonunun click olayı ise aşağıdaki gibi

    Kod:
    Private Sub bol_Click()
    If giris > 0 Then
    If islem = "+" Then sayi.Text = Val(giris) + Val(sayi.Text)
    If islem = "-" Then sayi.Text = Val(giris) - Val(sayi.Text)
    If islem = "*" Then sayi.Text = Val(giris) * Val(sayi.Text)
    If islem = "/" Then sayi.Text = Val(giris) / Val(sayi.Text)
    End If
    giris = sayi.Text
    sayi.Text = ""
    sayi.SetFocus
    islem = "/"
    End Sub
    Açıklama :
    ilk satırda alt kod için giriş yaptık. onu geçiyorum

    2-7 satırlar arasında sunu kastediyoruz.
    eğer giris değişkenine değer atandıysa, yani daha önceden işlem yapıldıysa sonucu yazdır ve işlem yapmaya devam et. yani programın üstüste işlemler yapabilmesi için gerekli olan kısım.

    8. Satır >> giris değişkenine girilen sayıyı aktarıyoruz.
    9. Satır >> sayi nesnesini (yazı girilen alan) boşaltıyoruz.
    10. Satır >> ve imleci yazı alanına konumlandırıyoruz.
    11. Satır >> islem değişkenine / karakterini atıyoruz. (hangi işlemi yapacağını belirlemek için)
    12. Alt kod kısmını kapatıyoruz.


    diğerleri de aynı şekilde. sadece 11. satırda değişiklik yapıyoruz.

    carp butonu
    Kod:
    Private Sub carp_Click()
    If giris > 0 Then
    If islem = "+" Then sayi.Text = Val(giris) + Val(sayi.Text)
    If islem = "-" Then sayi.Text = Val(giris) - Val(sayi.Text)
    If islem = "*" Then sayi.Text = Val(giris) * Val(sayi.Text)
    If islem = "/" Then sayi.Text = Val(giris) / Val(sayi.Text)
    End If
    giris = sayi.Text
    sayi.Text = ""
    sayi.SetFocus
    islem = "*"
    End Sub
    cikar butonu
    Kod:
    Private Sub cikar_Click()
    If giris > 0 Then
    If islem = "+" Then sayi.Text = Val(giris) + Val(sayi.Text)
    If islem = "-" Then sayi.Text = Val(giris) - Val(sayi.Text)
    If islem = "*" Then sayi.Text = Val(giris) * Val(sayi.Text)
    If islem = "/" Then sayi.Text = Val(giris) / Val(sayi.Text)
    End If
    giris = sayi.Text
    sayi.Text = ""
    sayi.SetFocus
    islem = "-"
    End Sub
    topla butonu
    Kod:
    Private Sub topla_Click()
    If giris > 0 Then
    If islem = "+" Then sayi.Text = Val(giris) + Val(sayi.Text)
    If islem = "-" Then sayi.Text = Val(giris) - Val(sayi.Text)
    If islem = "*" Then sayi.Text = Val(giris) * Val(sayi.Text)
    If islem = "/" Then sayi.Text = Val(giris) / Val(sayi.Text)
    End If
    giris = sayi.Text
    sayi.Text = ""
    sayi.SetFocus
    islem = "+"
    End Sub
    esit butonu
    Kod:
    Private Sub esit_Click()
    If islem = "+" Then sayi.Text = Val(giris) + Val(sayi.Text)
    If islem = "-" Then sayi.Text = Val(giris) - Val(sayi.Text)
    If islem = "*" Then sayi.Text = Val(giris) * Val(sayi.Text)
    If islem = "/" Then sayi.Text = Val(giris) / Val(sayi.Text)
    End Sub
    Açıklama >> burda yapılanı diğer butonlarda birden fazla işlem yapılabilmesi için kullandık.
    peki ne yazıyor burda ?? güzel soru
    kullanıcı,
    + butonuna tıklayınca islem değişkeni "+" değerini almıştı.
    - butonuna tıklayınca islem değişkeni "-" değerini almıştı.
    * butonuna tıklayınca islem değişkeni "*" değerini almıştı.
    / butonuna tıklayınca islem değişkeni "/" değerini almıştı.

    bu satırlarda da diyorki.
    eğer islem değişkeni + ise (yani kullanıcı +ya basmışsa) ilk sayıyla 2. sayıyı topla

    eğer işlem değişkeni - ise (yani kullanıcı - ye basmışsa) ilk sayıdan 2. sayıyı çıkar.

    bölme ve çarpma da aynı şekilde....

    CE butonuda temizlik için. clear adını vermiştik. onun kodları da aşağıda

    Kod:
    Private Sub clear_Click()
    sayi.Text = ""
    islem = ""
    giris = ""
    End Sub
    2.satır >> sayı girdiğimiz alanı temizler.
    3. satır >> işlem değişkenini temizler.
    4. satır >> giris değişkenini temizler.
    Bu da proje dosyası
    rar şifresi : f1kr3t

    Kolay Gelsin :)


    screw you guys! i"m goin" hoooome!
  2. KısayolKısayol reportŞikayet pmÖzel Mesaj
    SyspioniC
    SyspioniC's avatar
    Kayıt Tarihi: 26/Eylül/2007
    Erkek

    eywallah nigga (:


    "Derviş Yunus bu sözü eğri büğrü söyleme, Seni sorguya çeker bir Molla Kasım gelir."
  3. KısayolKısayol reportŞikayet pmÖzel Mesaj
    31 yaşında emekli
    ajan1111
    ajan1111's avatar
    Kayıt Tarihi: 25/Ağustos/2005
    Erkek

    hacı sana söylediğim o eksiği hallettin mi?


    Kayalardan kayarım yoktur benim ayarım (;
  4. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Fikret
    Fikret's avatar
    Kayıt Tarihi: 01/Ekim/2007
    Erkek

    ajan1111 bunu yazdı:
    -----------------------------

    hacı sana söylediğim o eksiği hallettin mi?
    -----------------------------

    eşittir butonunda

    Private Sub esit_Click()
    If islem = "+" Then sayi.Text = Val(giris) + Val(sayi.Text)
    If islem = "-" Then sayi.Text = Val(giris) - Val(sayi.Text)
    If islem = "*" Then sayi.Text = Val(giris) * Val(sayi.Text)
    If islem = "/" Then sayi.Text = Val(giris) / Val(sayi.Text)
    End Sub

    yerine

    Private Sub esit_Click()
    If islem = "+" Then sayi.Text = Val(giris) + Val(sayi.Text)
    If islem = "-" Then sayi.Text = Val(giris) - Val(sayi.Text)
    If islem = "*" Then sayi.Text = Val(giris) * Val(sayi.Text)
    If islem = "/" Then sayi.Text = Val(giris) / Val(sayi.Text)
    giris = 0
    End Sub

    şeklinde değişecek.


    screw you guys! i"m goin" hoooome!
  5. KısayolKısayol reportŞikayet pmÖzel Mesaj
    31 yaşında emekli
    ajan1111
    ajan1111's avatar
    Kayıt Tarihi: 25/Ağustos/2005
    Erkek

    eferim ;)


    Kayalardan kayarım yoktur benim ayarım (;
Toplam Hit: 2439 Toplam Mesaj: 5