Posted by : Unknown Senin, 29 Juli 2013

Program kalkulator adalah program standar yang sudah tersedia di Microsoft Windows. Tetapi, tak ada salahnya jika kita mencoba membuat kalkulator sendiri dengan Microsoft Visual Basic 6.0.
Pertama-tama, buatlah sebuah form sesuai selera Anda, yang bentuknya kurang lebih seperti
kalkulator standar Windows, seperti ini:

















Untuk properties dari masing-masing objek, saya contohkan seperti dibawah ini, dengan letak
masing-masing objek disesuaikan dengan gambar diatas.
Textbox 1:
(Name) : txtDisplay
Alignment: 1-Right Justify
Text : (kosongkan)
Maxlength : 12

Command Button 1:
(Name) : cmdAngka
Index : 1
Caption : 1

Command Button 2:
(Name) : cmdAngka
Index : 2
Caption : 2

Command Button 3:
(Name) : cmdAngka
Index : 3
Caption : 3

Command Button 4:
(Name) : cmdAngka
Index : 4
Caption : 4

Command Button 5:
(Name) : cmdAngka
Index : 5
Caption : 5

Command Button 6:
(Name) : cmdAngka
Index : 6
Caption : 6

Command Button 7:
(Name) : cmdAngka
Index : 7
Caption : 7

Command Button 8:
(Name) : cmdAngka
Index : 8
Caption : 8

Command Button 9:
(Name) : cmdAngka
Index : 9
Caption : 9

Command Button 10:
(Name) : cmdAngka
Index : 0
Caption : 0

Command Button 11:
(Name) : cmdPlusMinus
Caption : +/-

Command Button 12:
(Name) : cmdKoma
Caption : .

Command Button 13:
(Name) : cmdOperator
Index : 1
Caption : +

Command Button 14:
(Name) : cmdOperator
Index : 2
Caption : -

Command Button 15:
(Name) : cmdOperator
Index : 3
Caption : x

Command Button 16:
(Name) : cmdOperator
Index : 4
Caption : /

Command Button 17:
(Name) : cmdClearEntry
Caption : CE

Command Button 18:
(Name) : cmdClear
Caption : C

Command Button 19:
(Name) : cmdSamaDengan
Caption : =

Berikutnya, Anda tinggal membuat coding dari kalkulator tersebut. Jika Anda mengikuti semua
setting properties seperti diatas, maka codingnya saya contohkan seperti ini:



Option ExplicitPrivate Hasil As DoublePrivate Const opNol = 0Private Const opTambah = 1Private Const opKurang = 2Private Const opKali = 3Private Const opBagi = 4Private Operator As IntegerPrivate NilaiBaru As Boolean
' untuk menghapus karakter terakhirPrivate Sub Hapus()Dim txt As StringDim min_len As Integertxt = txtDisplay.TextIf Left$(txt, 1) = "-" Thenmin_len = 2Elsemin_len = 1End IfIf Len(txt) > min_len ThentxtDisplay.Text = Left$(txt, Len(txt) - 1)ElsetxtDisplay.Text = "0"End IfEnd Sub
' hapus angka, hasil terakhir dan operatorPrivate Sub cmdClear_Click()cmdClearEntry_ClickHasil = 0Operator = opNolEnd Sub' hapus angkaPrivate Sub cmdClearEntry_Click()txtDisplay.Text = ""End Sub' menambahkan koma (desimal)Private Sub cmdKoma_Click()If InStr(txtDisplay.Text, ".") ThenBeepElseIf NilaiBaru ThentxtDisplay.Text = "."NilaiBaru = FalseElsetxtDisplay.Text = txtDisplay.Text & "."End IfEnd IfEnd Sub
' MenghitungPrivate Sub cmdSamaDengan_Click()Dim HasilBaru As DoubleIf txtDisplay.Text = "" ThenHasilBaru = 0ElseHasilBaru = CDbl(txtDisplay.Text)End IfSelect Case OperatorCase opNolHasil = HasilBaruCase opTambahHasil = Hasil + HasilBaruCase opKurangHasil = Hasil - HasilBaruCase opKaliHasil = Hasil * HasilBaruCase opBagi'Tidak bisa dibagi nolIf HasilBaru = 0 ThenMsgBox "Tidak bisa dibagi 0", vbOKOnly + vbCritical, "Kalku ERROR"Call cmdClear_ClickElseHasil = Hasil / HasilBaruEnd IfEnd SelectOperator = opNolNilaiBaru = TruetxtDisplay.Text = Format$(Hasil)End Sub
' menuliskan angkaPrivate Sub cmdAngka_Click(Index As Integer)If NilaiBaru ThentxtDisplay.Text = Format$(Index)NilaiBaru = FalseElsetxtDisplay.Text = _txtDisplay.Text & Format$(Index)End IfEnd Sub' tombol tambah/kurang/bagi/kaliPrivate Sub cmdOperator_Click(Index As Integer)cmdSamaDengan_ClickOperator = IndexNilaiBaru = TrueEnd Sub
' merubah tanda +/-Private Sub cmdPlusMinus_Click()If NilaiBaru ThentxtDisplay.Text = "-"ElseIf Left$(txtDisplay.Text, 1) = "-" ThentxtDisplay.Text = Right$(txtDisplay.Text, 2)ElsetxtDisplay.Text = "-" & txtDisplay.TextEnd IfEnd Sub
' filter untuk angka saja yg dapat diketikkanPrivate Sub Form_KeyPress(KeyAscii As Integer)txtDisplay_KeyPress KeyAsciiEnd SubPrivate Sub Form_KeyUp(KeyCode As Integer, Shift As Integer)txtDisplay_KeyUp KeyCode, ShiftEnd Sub' supaya kursor tetap di kananPrivate Sub txtDisplay_Change()txtDisplay.SelStart = Len(txtDisplay.Text)End SubPrivate Sub txtDisplay_GotFocus()txtDisplay_ChangeEnd Sub
' untuk mengetikkan angka di keyboardPrivate Sub txtDisplay_KeyPress(KeyAscii As Integer)Dim ch As Stringch = Chr$(KeyAscii)Select Case chCase "0"cmdAngka_Click 0Case "1"cmdAngka_Click 1Case "2"cmdAngka_Click 2Case "3"cmdAngka_Click 3Case "4"cmdAngka_Click 4Case "5"cmdAngka_Click 5Case "6"cmdAngka_Click 6Case "7"cmdAngka_Click 7Case "8"cmdAngka_Click 8Case "9"cmdAngka_Click 9Case "*", "x", "X"cmdOperator_Click opKaliCase "+"cmdOperator_Click opTambahCase vbCrLf, vbCr, "="cmdSamaDengan_ClickCase "-"cmdOperator_Click opKurangCase "."cmdKoma_ClickCase "/"cmdOperator_Click opBagiCase "C", "c"cmdClearEntry_ClickEnd SelectKeyAscii = 0End Sub
' untuk ketikan angka di numpadPrivate Sub txtDisplay_KeyUp(KeyCode As Integer, Shift As Integer)Select Case KeyCodeCase vbKeyNumpad0cmdAngka_Click 0Case vbKeyNumpad1cmdAngka_Click 1Case vbKeyNumpad2cmdAngka_Click 2Case vbKeyNumpad3cmdAngka_Click 3Case vbKeyNumpad4cmdAngka_Click 4Case vbKeyNumpad5cmdAngka_Click 5Case vbKeyNumpad6cmdAngka_Click 6Case vbKeyNumpad7cmdAngka_Click 7Case vbKeyNumpad8cmdAngka_Click 8Case vbKeyNumpad9cmdAngka_Click 9Case vbKeyMultiplycmdOperator_Click opKaliCase vbKeyAddcmdOperator_Click opTambahCase vbKeySeparatorcmdSamaDengan_ClickCase vbKeySubtractcmdOperator_Click opKurangCase vbKeyDividecmdOperator_Click opBagiCase vbKeyDecimalcmdKoma_ClickCase vbKeyBack, vbKeyDeleteHapusEnd SelectKeyCode = 0End Sub

{ 1 komentar... read them below or add one }

  1. mantap gan

    di coba

    mampir ke http://aunaldy.blogspot.com

    dan follow juga ya,,

    BalasHapus

Welcome to My Blog

TIME

Post by Zona 314

Followers

About Me

Total Tayangan Halaman

- Copyright © Zona 314 -Zona 314- Powered by Blogger - Designed Riyan -