Basit Bir Hesap Makinası Kod Örneği

Visual Basic & Action script Basit Bir Hesap Makinası Kod Örneği Programlama hakkında bilgi paylaş; Basit Bir Hesap Makinası Kod Örneği Formumuza 1 buton,2 label,1 text box ekliyoruz.Butonu kopyalayarak 19 tane ...
Cevapla
 
Seçenekler
  #1  
Arama 24-12-2007, 11:34
Celebrian - ait Kullanıcı Resmi (Avatar)

Üyelik Tarihi: 19/11/07
Mesajlar: 3.307
 
     WS-Ticareti: (0)
Teşekkürleri: 0
31 Msg. 38 Tşkr.
Rep Gücü: 36 Celebrian rep gücü yükselmeye başladı

Basit Bir Hesap Makinası Kod Örneği

Basit Bir Hesap Makinası Kod Örneği Formumuza 1 buton,2 label,1 text box ekliyoruz.Butonu kopyalayarak 19 tane buton elde ediyoruz bunlarda bildiğimiz hesap makinasının tuşlarını barındırıcak.

'İşlemler yapılmadan önce bir değişkende saklamak için değişken tanımladım
Dim temp As Variant
'Eğer sayımız ondalık bir sayı ise virgülün birden fazla kullanılmasını
'engellemek gerekiyor bunun için de bir değişken tanımladım
Dim ondalık As Boolean
Private Sub Form_KeyPress(KeyAscii As Integer)
Dim sTemplate As String
'Basılan tuş virgül olsa da sistem bunu . olarak algılamalı
've birden fazla kullanmamalı
ondalık = False
'Aşağıdaki instr fonksiyonunun kullanımı ana sayfa fonksiyonlar kısmında bulunmaktadır.
ondalık = InStr(1, Text1.Text, ".")
If ondalık <> 0 Then
ondalık = True
End If
If ondalık = True And (KeyAscii = 44 Or KeyAscii = 46) Then
KeyAscii = 0
Else
'Aşağıdaki kısımda virgül basılmış olsa da sisteme bunu nokta olarak gönderdik
If KeyAscii = 44 Then
KeyAscii = 46
End If
End If
'Aşağıda ise matematiksel(+-*/=) gibi tuşlara basıldığında işlemi formumuzda
'tasarlamış olduğumuz tuşlara gönderdik
If KeyAscii = 47 Then tuşlar_Click (12)
If KeyAscii = 42 Then tuşlar_Click (13)
If KeyAscii = 45 Then tuşlar_Click (14)
If KeyAscii = 43 Then tuşlar_Click (15)
If KeyAscii = 13 Then tuşlar_Click (11)
'klavyeden kontrol edilmesini istediğimiz tuşları aşağıya giriyoruz
sTemplate = "1234567890,.="
If Not InStr(1, sTemplate, Chr(KeyAscii)) > 0 And KeyAscii <> 13 And KeyAscii <> 8 Then KeyAscii = 0
End Sub
Private Sub Text1_Change()
'klavye kullanarak girişte sorunu çözdük ancak aynı sorun form üzerinde maus kullanarak girişte
'devam etmekte bunu da engellemek için yukarıdaki kodları Text1'in change olayına yazıjyoruz
ondalık = False
ondalık = InStr(1, Text1.Text, ".")
If ondalık <> 0 Then
tuşlar(10).Enabled = False
End If
'klavyeden ondalık sayı girilip backspace tuşuyla silindiğinde .'nın tekrar enable olması gerekir.
If Text1.Text = "" Or ondalık = 0 Then tuşlar(10).Enabled = True
'İmlecin focus'tan sonra sürekli rakamların sağında olması için ekranın alamayacağı bir sayı yazdım
Text1.SelStart = 20
Text1.SetFocus
End Sub
Private Sub tuşlar_Click(Index As Integer)
'Hata oluşması durumunda yapılması gereken kodu yazıyorum
On Error GoTo hata
'Aşağıda her tuşa basılması ile oluşacak olayları kodluyoruz
Select Case Index
Case 0
Label1.Caption = 0
'Hesap makinemizin ekranında sayıların yazılmasını sağlıyorum
Text1.Text = Text1.Text + Label1.Caption
'Değişken gibi kullandığım Label1 caption'una değeri atıyorum
Label1.Caption = Text1.Text
'Bu yaptıklarımı tanımladığım tüm tuşlar için yapıyorum
Case 1
Label1.Caption = 1
Text1.Text = Text1.Text + Label1.Caption
Label1.Caption = Text1.Text
Case 2
Label1.Caption = 2
Text1.Text = Text1.Text + Label1.Caption
Label1.Caption = Text1.Text
Case 3
Label1.Caption = 3
Text1.Text = Text1.Text + Label1.Caption
Label1.Caption = Text1.Text
Case 4
Label1.Caption = 4
Text1.Text = Text1.Text + Label1.Caption
Label1.Caption = Text1.Text
Case 5
Label1.Caption = 5
Text1.Text = Text1.Text + Label1.Caption
Label1.Caption = Text1.Text
Case 6
Label1.Caption = 6
Text1.Text = Text1.Text + Label1.Caption
Label1.Caption = Text1.Text
Case 7
Label1.Caption = 7
Text1.Text = Text1.Text + Label1.Caption
Label1.Caption = Text1.Text
Case 8
Label1.Caption = 8
Text1.Text = Text1.Text + Label1.Caption
Case 9
Label1.Caption = 9
Text1.Text = Text1.Text + Label1.Caption
Label1.Caption = Text1.Text
Case 10
Label1.Caption = "."
Text1.Text = Text1.Text + Label1.Caption
Label1.Caption = Text1.Text
'Bir işlem asnasında birden fazla virgül veya nokta kullanılmaması için
'Basit bir önlem alıyorum
tuşlar(10).Enabled = False
Case 11
'= tuşuna basılması durumunda yapılacak işlemleri kodluyorum
If Label2.Caption = "/" Then
Text1.Text = temp / Val(Text1.Text)
ElseIf Label2.Caption = "*" Then
Text1.Text = temp * Val(Text1.Text)
ElseIf Label2.Caption = "-" Then
Text1.Text = temp - Val(Text1.Text)
ElseIf Label2.Caption = "+" Then
Text1.Text = temp + Val(Text1.Text)
End If
Case 12
'Label2'nin caption'una da matematiksel işlemleri atıyorum
tuşlar(10).Enabled = True
Label2.Caption = "/"
temp = Val(Text1.Text)
Text1.Text = ""
Case 13
Label2.Caption = "*"
temp = Val(Text1.Text)
Text1.Text = ""
Case 14
Label2.Caption = "-"
temp = Val(Text1.Text)
Text1.Text = ""
Case 15
Label2.Caption = "+"
temp = Val(Text1.Text)
Text1.Text = ""
Case 16
'Ekran silme işlemi
Label1.Caption = ""
Text1.Text = ""
Case 17
'Karekök işlemi
Label1.Caption = 0
Text1.Text = Sqr(Text1.Text)
Case 18
'% işlemi
Text1.Text = temp * Val(Text1.Text) / 100
Case 19
'Çıkış
End
End Select
'Disable yapmışolduğum virgül kullanımının hangi durumlarda enabled olacağını belirtiyorum
If (Index < 17) And (Index > 10) Then tuşlar(10).Enabled = True
hata:
'Eğer hata kodu 11(Sıfıra bölme hatası) ise kullanıcıya mesaj veriyor ve C tuşu basımı gönderiyorum
If Err.Number = "11" Then MsgBox "Sıfıra bölme işlemi tanımsızdır.": tuşlar_Click (16)
End Sub

Eğer hesap makinasını klavyeden kontrol etmek istiyorsanız formun enabled özelliğini true yapın.
Alıntı ile Cevapla
Cevapla
Arama Etiketleri: , , , ,



Seçenekler


Benzer Konular
Konu Konu Açanlar Forum Cevaplar Güncel Mesajlar
Basit Bir Hesap Makinesi B737 Javascript 0 26-01-2008 04:33
Hesap Makinası (Tam Anlatımlı), Basit ama güzel bir hesap makinası Celebrian Visual Basic & Action script 0 24-12-2007 01:20
Elektirik Üreten Fotoğraf Makinası egitimbilgisi Donanım Haberleri 0 16-12-2007 03:02
Canon'dan 9 yeni dijital fotoğraf makinası modeli LeaveMeALoNe Donanım Haberleri 0 19-11-2007 07:47
Basit bir web servis örneği (toplama işlemi) kadınca Visual Basic & Action script 0 08-11-2007 12:04

Webmaster Sitesine Reklam Verin

Webmaster web tasarım online reviews ~ Kadınlar blogu ~ Apple iPhone, iPod Touch ( iTouch ) Forum ~ iPhone