Bilgisayar Mühendisliği

Program Kodları Vb.Net (Hesap Makinesi)

Bugün farklı bir uygulamaya imza atıyor ve program kodları paylaşıyoruz. Hep birlikte görsel programlama yapacağız. Programlama dili olarak “Visual Basic”i seçtik. Gelin hep birlikte Windows’taki meşhur hesap makinesinin benzerinin nasıl yapıldığını inceleyelim.

Visual Studio’yu açıyorsunuz, yeni projenizi oluşturup tasarım ekranını açıyorsunuz. Kodlamaya geçmeden önce tasarıma şunları ekliyorsunuz:

  • 1 Tane Textbox (İşlem sonucunu görebilmemiz için)
  • 1 Tane MenuStrip (Kopyala yapıştır özellikleri için)
  • 1 Tane Label
  • 27 Tane Buton (İşlemler için tuşlar)
Program Kodları
Program Kodları – Hesap Makinesi

Tasarıma yerleştirdiğiniz bu objeleri güzelce göze batmayacak şekilde yerleştiriyoruz. Bu arada atlamadan, üstteki menüye (menustrip) bir kopyalama bir de yapıştırma tuşu ekliyoruz. Ardından “program kodları“nı yerleştirmek üzere kodlama bölümünü açıyoruz.

Zaten programlamadan anlayan birisi kodların içerisinde hangi butonun hangisi için olduğunu anlayacaktır.

Bu arada kodlarda en başta yaptığımız şey (“Dim”li kısımlar) değişken tanımlamadır. O tanımladığımız değişkenler (sayılar) sayesinde çeşitli işlemleri yaptırabilme imkanı bulacağız. Hazırsanız hep birlikte “program kodları“nı inceleyelim:

Dim a, b, hafıza As Decimal Dim işlem As Char Dim durum, durum2, sayı As Boolean Private Sub C_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles C.Click a = 0 b = 0 TextBox1.Text = 0 End Sub</span></div> <span style="color: #000000;">Private Sub sifir_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles sifir.Click, Button4.Click, Button5.Click, Button6.Click, Button7.Click, Button8.Click, Button9.Click, Button10.Click, Button11.Click, Button12.Click If durum = True Then a = CDec(TextBox1.Text) TextBox1.Text = sender.text durum = False durum2 = True Else TextBox1.Text = TextBox1.Text + sender.text End If sayı = True End Sub Private Sub bol_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bol.Click If durum2 = True Then b = CDec(TextBox1.Text) End If If işlem = "+" Then TextBox1.Text = a + b If işlem = "-" Then TextBox1.Text = a - b If işlem = "*" Then TextBox1.Text = a * b If işlem = "/" Then TextBox1.Text = a / b işlem = "/" durum = True End Sub Private Sub carp_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles carp.Click If durum2 = True Then b = CDec(TextBox1.Text) End If If işlem = "+" Then TextBox1.Text = a + b If işlem = "-" Then TextBox1.Text = a - b If işlem = "*" Then TextBox1.Text = a * b If işlem = "/" Then TextBox1.Text = a / b işlem = "*" durum = True End Sub Private Sub cikar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cikar.Click If durum2 = True Then b = CDec(TextBox1.Text) End If If işlem = "+" Then TextBox1.Text = a + b If işlem = "-" Then TextBox1.Text = a - b If işlem = "*" Then TextBox1.Text = a * b If işlem = "/" Then TextBox1.Text = a / b işlem = "-" durum = True End Sub Private Sub topla_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles topla.Click If durum2 = True Then b = CDec(TextBox1.Text) End If If işlem = "+" Then TextBox1.Text = a + b If işlem = "-" Then TextBox1.Text = a - b If işlem = "*" Then TextBox1.Text = a * b If işlem = "/" Then TextBox1.Text = a / b işlem = "+" durum = True End Sub Private Sub esittir_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles esittir.Click If durum2 = True Then b = CDec(TextBox1.Text) If işlem = "+" Then TextBox1.Text = a + b If işlem = "-" Then TextBox1.Text = a - b If işlem = "*" Then TextBox1.Text = a * b If işlem = "/" Then TextBox1.Text = a / b End If durum2 = False işlem = "" End Sub Private Sub Geri_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Geri.Click On Error Resume Next TextBox1.Text = TextBox1.Text.Remove(TextBox1.Text.Length - 1) End Sub Private Sub CE_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CE.Click TextBox1.Text = 0 End Sub Private Sub TextBox1_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox1.TextChanged If sayı = True Then TextBox1.Text = CDec(TextBox1.Text) End If End Sub Private Sub Kok_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Kok.Click TextBox1.Text = Math.Sqrt(TextBox1.Text) End Sub Private Sub Yuzde_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Yuzde.Click If durum2 = True Then b = CDec(TextBox1.Text) TextBox1.Text = a * b / 100 End If End Sub Private Sub virgul_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles virgul.Click sayı = False If TextBox1.Text.IndexOf(",") = -1 Then TextBox1.Text = TextBox1.Text + "," Else Exit Sub End If End Sub Private Sub MC_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MC.Click hafıza = "0" Label1.Text = " " End Sub Private Sub MR_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MR.Click TextBox1.Text = hafıza End Sub Private Sub MS_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MS.Click hafıza = TextBox1.Text Label1.Text = "M" End Sub Private Sub martı_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles martı.Click TextBox1.Text = Val(TextBox1.Text) + hafıza End Sub Private Sub Button26_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button26.Click TextBox1.Text = 1 / TextBox1.Text End Sub Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click TextBox1.Text = -1 * TextBox1.Text End Sub Private Sub KopyalaToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles KopyalaToolStripMenuItem.Click Clipboard.SetText(TextBox1.Text) End Sub Private Sub YapıştırToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles YapıştırToolStripMenuItem.Click TextBox1.Text = Clipboard.GetText End Sub

Sanırsam bu dahi yeterli olmuştur. Bu arada hangi butonun hangi koda tekabül ettiğini çözmek de size kalmış :) Yalnız takıldığınız bir şey olursa yorumlarda sorabilirsiniz, size de kolay gelsin.

Not: Bu içeriğimiz eğitim amaçlı olduğu için bu hesap makinesinin kodları alıntıdır fakat sitede yazılım projeleri başlığı altında yaptığımız şeyler bize aittir.

Ana Sayfa: 
https://www.technogezgin.com/
Hayata Dair Özgün ve Kaliteli Yazılarımız: 
https://www.technogezgin.com/blog/

MrKaptainTR

Merhabalar. Ben bu internet sitesinin sahibiyim. Aynı zamanda Hacettepe Üniversitesi'nde bilgisayar mühendisliği okuyorum. Bu sitede de; ufkunuzu açacak, bilgi hazinenizi katlayacak, bakış açınızı adeta uçuracak, “Vay be, adamlar bunu da mı yapmış?” dedirtecek cinsten içerikler üretmeye çalışıyorum.

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Başa dön tuşu
Kapalı