TR Kodlama › Forumlar › Visual Basic Hesap Makinesi Örneği
- Bu konu boş.
-
YazarYazılar
-
-
28 Nisan 2011: 20:13 #6692prodigyZiyaretçi
Bu makalemde sizlere en basitinden hesap makinesinin nasıl yapılacağını ve çalışma mantığınız anlatacağım. En başta formunuza 1 adet Commandbutton, 3 adet Textbox ve 1 adet Label ekleyin.
– Formdaki Textboxların, Commandbuttonun ve Labelin ebatlarını ve yerlerini siz belirleyin. Sizin tasarım ve zevkinize göre bırakıyorum ki ilerde tasarım işinde hem pratik hemde kaliteli tasarımlar hazırlayabilesiniz.
– Label nesnesinin Caption yani başlık bölümüne çıkarma işlemi yaptıracaksanız “-“, toplama işlemi yaptıracaksanız “+”, bölme işlemi yaptıracaksanız “/”, çarpma işlemi yaptıracaksanız “*” yazınız. Buttonun Caption bölümüne ise toplama işlemi yaptıracaksanız “Topla”, çıkarma işlemi yaptıracaksanız “Çıkar”, bölme işlemi yaptıracaksanız “Böl”, çarpma işlemi yaptıracaksanız “Çarp” yazınız.
– Textbox nesnelerinin içindeki yazıları silmek için Textbox’un “Text” ayarındaki değer, metni silin veya ne yazmak istiyorsanız oraya yazın. Textbox metin nesnelerine hem metin hemde sayı yazılabilir. Dikkat edelim. Text1 metin kutucuğu toplanan, çıkarılan, bölünen veya çarpılan sayının, değerin girileceği kutucuktur.
Text2 kutucuğu toplayan, çıkaran, bölen veya çarpan sayının, değerin girileceği kutucuktur. Text3 metin kutucuğu ise işlemin sonucunun yazılacağı kutucuktur.– Yukarıdaki işlemleri uyguladıktan ve tasarım işinide bitirdikten sonra kodlamaya geçiyoruz. Kodlamayı sadece Command1 nesnesinin Click olayına yapacağız.
Kod :
Private Sub Command1_Click()
Text3.Text = (Text1.Text) +-/* (Text2.Text)
End Sub– Yukarıdaki kodda “+-/*” yerine hangi işlemi yapacaksanız onun sembolunu girmeniz gerekmektedir.
– “Text3.Text =” bölümü Text3 kutucuğunun metninin, değerinin ne olduğunu belirlemek için kullandık. Kısacası Text3 kutucuğuna buttona basıldığında hangi değerin atanacağını belirledik. Örneğin “Text3.Text = a” dersek buttona tıkladığımızda Text3 kutucuğuna a yazılacaktır.
– Bazı işlemleri parantez içine almamızın sebebi ise gruplandırma yapmaktır. Hem inceleyen kişi için daha rahat olacaktır. Ayrıca kod karmaşasınıda bir nebze olsun önleyeceksiniz.
– Bu kodda text3 kutucuğunun değeri text1 kutucuğu ile text2 kutucuğu arasında yapılacak işlemin sonucudur.
– Projeyi çalıştırın ve bazı sayısal değerler girip işlemi deneyin. Daha sonra text1, text2 ve text3 kutucuklarını tamamen boşaltın. Yani kutucuğa tıklayın tüm değerleri delete, backspace ve mouse ile hepsini sçerek silin. Command1 buttonuna yani tuşumuza tıklayın. Hata alacaksınız. Bunun nedenine biraz sonra geleceğim. Hataya tamam deyip kapatın. Ama projeniz hala aktif sadece duraklatıldı. İkinci toolbardan projenizi durdurun.
– Bu hata ne toplanan, çıkarılan, bölünen, çarpılan, nede toplayan, çıkaran, bölen, çarpan sayılarının yani text1 ve text2 kutucuklarının içerisinde değerler olmadığı için çıktı. Bunu gidermek için aşağıdaki kodu kullanın.
Kod :
Private Sub Command1_Click()
If Text1.Text = “” Or Text2.Text = “” Then
Else
Text3.Text = (Text1.Text) +-/* (Text2.Text)
End If
End Sub– Yukarıda If…Else…End If kalıbını kullandık. If “Eğer” anlamındadır. Eğer Text1.Text boş veya Text2.Text boş ise, Else’den önce birşey yazmadığımızdan hiçbirşey yapmayacak ama siz mesaj kutusu çıkarttırabilirsiniz. Else’den sonra yani değilse dediğiniz işlemleri yapacaktır.
– Şimdi projeyi bu kodları yazdıktan sonra tekrar çalıştırdığınızda hiçbir hata almayacaksınız. Tüm olay bunlardan ibaret. Şimdi birde mesaj kutusu çıkartalım kullanıcıyı uyarmak ve yol göstermek için.
Kod :
Private Sub Command1_Click()
If Text1.Text = “” Or Text2.Text = “” Then
MsgBox “Lütfen sayıları giriniz”
Else
Text3.Text = (Text1.Text) +-/* (Text2.Text)
End If
End Sub– Yukarıdaki kodda Else’den önce yani Text1 veya Text2 kutucuğu boş ise mesaj kutusu çıkaracak ve içeriğinde “Lütfen sayıları giriniz” yazacaktır. Böylece kullanıcıya yol göstermiş olacağız.
Başka bir örneğimiz veya makalemizde görüşmek üzere.
(Makale 2010 yılında tarafımdan hazırlanmıştır).
-
-
YazarYazılar
- Bu konuyu yanıtlamak için giriş yapmış olmalısınız.