Foruma eklediğim bir uygulamayla ilgili soru soran arkadaşlar var. Onlar için basit bir hesap makinasının yapım aşamalarını ekliyorum. Uygulama ekte.
Önce yeni bir access uygulaması oluşyuruyoruz. Sonra tasarım görünümğnde bir form ekleyip frmHesapmakinasi olarak kydediyoruz.
Form üstüne bir metin kutusu (adı:sayi) ekliyoruz. Daha sonra ise 0-9 arası 10 adet düğme ekliyoruz (adları. b0,b1,...b9). İşlemleri yapacak 6 adet düğme daha ekliyoruz (adları: topla, cikar, carp, bol, esit, clear)
Form üstünde iitediğimiz değişiklikleri ve özellikleri ayarlıyoruz. (Form özelliklerinden biçim sekmesi ayarları.
Formun kod yazma penceresini açarak en üstte iki genel değişken ekliyoruz. (giris ve islem). Eğer sonuçlar diğer formlarda kullanılacak ise yeni bir modülde belirtmemiz gerekiyor.
Numara düğümelerinin klik olaylarının kodlarını şöyle oluşturuyoruz.
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.
Böl butonunun klik olayı:
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.
Çarp butonu klik olayı:
çıkar butonu klik olayı:
Topla butonu klik olayı.
eşit butonu klik olayı:
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....
Clear butonu kodları:
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.
Bir de form ilk açılışında sayı metin kutusuna 0 değerini atamamız veya özelliklerden default ayarını 0 yapmamız gerekir.
İyi çalışmalar
Önce yeni bir access uygulaması oluşyuruyoruz. Sonra tasarım görünümğnde bir form ekleyip frmHesapmakinasi olarak kydediyoruz.
Form üstüne bir metin kutusu (adı:sayi) ekliyoruz. Daha sonra ise 0-9 arası 10 adet düğme ekliyoruz (adları. b0,b1,...b9). İşlemleri yapacak 6 adet düğme daha ekliyoruz (adları: topla, cikar, carp, bol, esit, clear)
Form üstünde iitediğimiz değişiklikleri ve özellikleri ayarlıyoruz. (Form özelliklerinden biçim sekmesi ayarları.
Formun kod yazma penceresini açarak en üstte iki genel değişken ekliyoruz. (giris ve islem). Eğer sonuçlar diğer formlarda kullanılacak ise yeni bir modülde belirtmemiz gerekiyor.
Numara düğümelerinin klik olaylarının kodlarını şöyle oluşturuyoruz.
Kod:
Private Sub b0_Click()
Me.sayi.Value = Val(Me.sayi.Value) * 10 + 0
End Sub
Private Sub b1_Click()
Me.sayi.Value = Val(Me.sayi.Value) * 10 + 1
End Sub
Private Sub b2_Click()
Me.sayi.Value = Val(Me.sayi.Value) * 10 + 2
End Sub
Private Sub b3_Click()
Me.sayi.Value = Val(Me.sayi.Value) * 10 + 3
End Sub
Private Sub b4_Click()
Me.sayi.Value = Val(Me.sayi.Value) * 10 + 4
End Sub
Private Sub b5_Click()
Me.sayi.Value = Val(Me.sayi.Value) * 10 + 5
End Sub
Private Sub b6_Click()
Me.sayi.Value = Val(Me.sayi.Value) * 10 + 6
End Sub
Private Sub b7_Click()
Me.sayi.Value = Val(Me.sayi.Value) * 10 + 7
End Sub
Private Sub b8_Click()
Me.sayi.Value = Val(Me.sayi.Value) * 10 + 8
End Sub
Private Sub b9_Click()
Me.sayi.Value = Val(Me.sayi.Value) * 10 + 9
End Sub
örneğin 123 yazıyosa, 1230 + 1 = 1231
bunu, tıklanınca sayıyı yanına eklemesi için kullanıyoruz.
Böl butonunun klik olayı:
Kod:
Private Sub bol_Click()
If giris > 0 Then
If islem = "+" Then Me.sayi.Value = Val(giris) + Val(Me.sayi.Value)
If islem = "-" Then Me.sayi.Value = Val(giris) - Val(Me.sayi.Value)
If islem = "*" Then Me.sayi.Value = Val(giris) * Val(Me.sayi.Value)
If islem = "/" Then Me.sayi.Value = Val(giris) / Val(Me.sayi.Value)
End If
giris = Me.sayi.Value
Me.sayi.Value = ""
Me.sayi.SetFocus
islem = "/"
End Sub
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.
Çarp butonu klik olayı:
Kod:
Private Sub carp_Click()
If giris > 0 Then
If islem = "+" Then Me.sayi.Value = Val(giris) + Val(Me.sayi.Value)
If islem = "-" Then Me.sayi.Value = Val(giris) - Val(Me.sayi.Value)
If islem = "*" Then Me.sayi.Value = Val(giris) * Val(Me.sayi.Value)
If islem = "/" Then Me.sayi.Value = Val(giris) / Val(Me.sayi.Value)
End If
giris = Me.sayi.Value
Me.sayi.Value = ""
Me.sayi.SetFocus
islem = "*"
End Sub
çıkar butonu klik olayı:
Kod:
Private Sub cıikar_Click()
If giris > 0 Then
If islem = "+" Then Me.sayi.Value = Val(giris) + Val(Me.sayi.Value)
If islem = "-" Then Me.sayi.Value = Val(giris) - Val(Me.sayi.Value)
If islem = "*" Then Me.sayi.Value = Val(giris) * Val(Me.sayi.Value)
If islem = "/" Then Me.sayi.Value = Val(giris) / Val(Me.sayi.Value)
End If
giris = Me.sayi.Value
Me.sayi.Value = ""
Me.sayi.SetFocus
islem = "-"
End Sub
Kod:
Private Sub topla_Click()
If giris > 0 Then
If islem = "+" Then Me.sayi.Value = Val(giris) + Val(Me.sayi.Value)
If islem = "-" Then Me.sayi.Value = Val(giris) - Val(Me.sayi.Value)
If islem = "*" Then Me.sayi.Value = Val(giris) * Val(Me.sayi.Value)
If islem = "/" Then Me.sayi.Value = Val(giris) / Val(Me.sayi.Value)
End If
giris = Me.sayi.Value
Me.sayi.Value = ""
Me.sayi.SetFocus
islem = "+"
End Sub
Kod:
Private Sub esit_Click()
If islem = "+" Then Me.sayi.Value = Val(giris) + Val(Me.sayi.Value)
If islem = "-" Then Me.sayi.Value = Val(giris) - Val(Me.sayi.Value)
If islem = "*" Then Me.sayi.Value = Val(giris) * Val(Me.sayi.Value)
If islem = "/" Then Me.sayi.Value = Val(giris) / Val(Me.sayi.Value)
End Sub
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....
Clear butonu kodları:
Kod:
Private Sub clear_Click()
Me.sayi.Value = 0
islem = ""
giris = 0
End Sub
3. satır >> işlem değişkenini temizler.
4. satır >> giris değişkenini temizler.
Bir de form ilk açılışında sayı metin kutusuna 0 değerini atamamız veya özelliklerden default ayarını 0 yapmamız gerekir.
Kod:
Private Sub Form_Load()
Me.sayi.Value = 0
End Sub
Ekli dosyalar
-
13.4 KB Görüntüleme: 301