[VB6]Cara Membuat Kalkulator dengan VB6 - 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) : txtDisplayAlignment: 1-Right JustifyText : (kosongkan)Maxlength : 12Command Button 1:(Name) : cmdAngkaIndex : 1Caption : 1Command Button 2:(Name) : cmdAngkaIndex : 2Caption : 2Command Button 3:(Name) : cmdAngkaIndex : 3Caption : 3Command Button 4:(Name) : cmdAngkaIndex : 4Caption : 4Command Button 5:(Name) : cmdAngkaIndex : 5Caption : 5Command Button 6:(Name) : cmdAngkaIndex : 6Caption : 6Command Button 7:(Name) : cmdAngkaIndex : 7Caption : 7Command Button 8:(Name) : cmdAngkaIndex : 8Caption : 8Command Button 9:(Name) : cmdAngkaIndex : 9Caption : 9Command Button 10:(Name) : cmdAngkaIndex : 0Caption : 0Command Button 11:(Name) : cmdPlusMinusCaption : +/-Command Button 12:(Name) : cmdKomaCaption : .Command Button 13:(Name) : cmdOperatorIndex : 1Caption : +Command Button 14:(Name) : cmdOperatorIndex : 2Caption : -Command Button 15:(Name) : cmdOperatorIndex : 3Caption : xCommand Button 16:(Name) : cmdOperatorIndex : 4Caption : /Command Button 17:(Name) : cmdClearEntryCaption : CECommand Button 18:(Name) : cmdClearCaption : CCommand Button 19:(Name) : cmdSamaDenganCaption : =
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
No comments:
Post a Comment