
Option Explicit
Private Hasil As Double
Private Const opNol = 0
Private Const opTambah = 1
Private Const opKurang = 2
Private Const opKali = 3
Private Const opBagi = 4
Private Operator As Integer
Private NilaiBaru As Boolean'
untuk menghapus karakter terakhir
Private Sub Hapus()
Dim txt As StringDim min_len As Integer
txt = txtDisplay.Text
If Left$(txt, 1) = "-" Then
min_len =
2
Else
min_len =
1
End If
If Len(txt) > min_len Then
txtDisplay.Text = Left$(txt, Len(txt) - 1)
Elset
xtDisplay.Text = "0"
End If
End Sub'
hapus angka, hasil terakhir dan operator
Private Sub cmdClear_Click()
cmdClearEntry_Click
Hasil = 0
Operator = opNol
End Sub'
hapus angka
Private Sub cmdClearEntry_Click()
txtDisplay.Text = ""
End Sub'
menambahkan koma (desimal)
Private Sub cmdKoma_Click()
If InStr(txtDisplay.Text, ".") Then
Beep
Else
If Nilai
Baru Then
txtDisplay.Text = "."
"
NilaiBaru = False
Else
txtDisplay.Text = txtDisplay.Text & "."
End If
End If
End Sub'
Menghitung
Private Sub cmdSamaDengan_Click()
Dim HasilBaru As Double
If txtDisplay.Text = "" Then
HasilBaru = 0
Else
HasilBaru = CDbl(txtDisplay.Text)
End If
Select Case Operator
Case opNol
Hasil = HasilBaru
Case opTambah
Hasil = Hasil + HasilBaru
Case opKurang
Hasil = Hasil - HasilBaru
Case opKali
Hasil = Hasil * HasilBaru
Case opBagi
'Tidak bisa dibagi nol
If HasilBaru = 0 Then
MsgBox "Tidak bisa dibagi 0", vbOKOnly + vbCritical, "Kalku
ERROR"
Call cmdClear_Click
Else
Hasil = Hasil / HasilBaru
End If
End Select
Operator = opNol
NilaiBaru = True
txtDisplay.Text = Format$(Hasil)
End Sub'
menuliskan angka
Private Sub cmdAngka_Click(Index As Integer)
If NilaiBaru ThentxtDisplay.Text = Format$(Index)
NilaiBaru = False
Else
txtDisplay.Text = _
txtDisplay.Text & Format$(Index)
End If
End Sub'
tombol tambah/kurang/bagi/kali
Private Sub cmdOperator_Click(Index As Integer)
cmdSamaDengan_Click
Operator = Index
NilaiBaru = True
End Sub'
merubah tanda +/-
Private Sub cmdPlusMinus_Click()
If NilaiBaru Then
txtDisplay.Text = "-"
ElseIf Left$(txtDisplay.Text, 1) = "-" Then
txtDisplay.Text = Right$(txtDisplay.Text, 2)
Else
Artikel Populer IlmuKomputer.Com
Copyright © 2005 IlmuKomputer.Com
txtDisplay.Text = "-" & txtDisplay.Text
End If
End Sub'
filter untuk angka saja yg dapat diketikkan
Private Sub Form_KeyPress(KeyAscii As Integer)
txtDisplay_KeyPress KeyAscii
End Sub
Private Sub Form_KeyUp(KeyCode As Integer, Shift As Integer)
txtDisplay_KeyUp KeyCode, Shift
End Sub'
supaya kursor tetap di kanan
Private Sub txtDisplay_Change()txtDisplay.SelStart = Len(txtDisplay.Text)
End Sub
Private Sub txtDisplay_GotFocus()txtDisplay_Change
End Sub'
untuk mengetikkan angka di keyboard
Private Sub txtDisplay_KeyPress(KeyAscii As Integer)
Dim ch As Stringch = Chr$(KeyAscii)Select Case chCase "0"
cmdAngka_Click
0Case
"1"
cmdAngka_Click
1
Case "2"
cmdAngka_Click
2
Case "3"
cmdAngka_Click
3
Case"4"
cmdAngka_Click
4
Case"5"
cmdAngka_Click
5
Case "6"
cmdAngka_Click
6
Case "7"
cmdAngka_Click
7
Case "8"
cmdAngka_Click
8
Case "9"
cmdAngka_Click9
Case "*", "x", "X"
cmdOperator_Click
opKali
Case"+""
cmdOperator_Click
opTambahCase vbCrLf, vbCr, "=""
cmdSamaDengan_Click
Case "-""
cmdOperator_Click
opKurangCase ".""
cmdKoma_ClickCase "/""
cmdOperator_Click opBagiCase "C", "c"
cmdClearEntry_ClickEnd
SelectKeyAscii = 0
End Sub'
untuk ketikan angka di numpad
Private Sub txtDisplay_KeyUp(KeyCode As Integer, Shift As Integer)
Select Case KeyCodeCase
vbKeyNumpad
0
cmdAngka_Click0
Case vbKeyNumpad1
cmdAngka_Click 1
Case vbKeyNumpad2
cmdAngka_Click 2
Case vbKeyNumpad3
cmdAngka_Click 3
Case vbKeyNumpad4
cmdAngka_Click 4
Case vbKeyNumpad5
cmdAngka_Click 5
Case vbKeyNumpad6
cmdAngka_Click 6
Case vbKeyNumpad7
cmdAngka_Click 7
Case vbKeyNumpad8
cmdAngka_Click 8
Case vbKeyNumpad9
cmdAngka_Click 9
Case vbKeyMultiply
cmdOperator_Click opKali
Case vbKeyAdd
cmd Operator_Click opTambah
Case vbKeySeparator
cmdSamaDengan_Click
Case vbKeySubtractcmdOperator_Click opKurang
Case vbKeyDividecmdOperator_Click opBagi
Case vbKeyDecimalcmdKoma_Click
Case vbKeyBack, vbKeyDeleteHapusEnd SelectKeyCode = 0
End Sub
Private Sub Text1_Change()
End Sub


0 komentar:
Posting Komentar