gue mau bagi ilmu lagi nihh.
kali ini tentang kalkulator lahh. ga begitu sulit kok !
Bahannya :
- Visual Basic 6 [ klik disini ]
- SC calculator ( bagi yang belum ngerti : IDWS )
*penampakannya belom ada, jadi dimaklumin ya gan.
yang pertama dibuat yaitu :
- 19 command button
1. cmdangka(0) - (9)
2. cmdclear
3. cmdclearentry
4. cmdkoma
5. cmdoperator(1) - (4)
- 1 text box
1. txtangka
- 1 Label
- 1 Timer
ni Script Formnya :
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 String
Dim min_len As Integer
txt = txtangka.Text
If Left$(txt, 1) = "-" Then
min_len = 2
Else
min_len = 1
End If
If Len(txt) > min_len Then
txtangka.Text = Left$(txt, Len(txt) - 1)
Else
txtangka.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()
txtangka.Text = ""
End Sub
' menambahkan koma (desimal)
Private Sub cmdKoma_Click()
If InStr(txtangka.Text, ".") Then
Beep
Else
If NilaiBaru Then
txtangka.Text = "."
NilaiBaru = False
Else
txtangka.Text = txtangka.Text & "."
End If
End If
End Sub
' Menghitung
Private Sub cmdSamaDengan_Click()
Dim HasilBaru As Double
If txtangka.Text = "" Then
HasilBaru = 0
Else
HasilBaru = CDbl(txtangka.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, "Kalkulator ERROR"
Call cmdClear_Click
Else
Hasil = Hasil / HasilBaru
End If
End Select
Operator = opNol
NilaiBaru = True
txtangka.Text = Format$(Hasil)
End Sub
' menuliskan angka
Private Sub cmdAngka_Click(Index As Integer)
If NilaiBaru Then
txtangka.Text = Format$(Index)
NilaiBaru = False
Else
txtangka.Text = _
txtangka.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
txtangka.Text = "-"
ElseIf Left$(txtangka.Text, 1) = "-" Then
txtangka.Text = Right$(txtangka.Text, 2)
Else
txtangka.Text = "-" & txtangka.Text
End If
End Sub
Private Sub Timer1_Timer()
Label1.Left = Label1.Left - 80
If (Label1.Left <= -(Label1.Width)) Or (Label1.Left >= _
Me.ScaleWidth Then Label1.Left = Me.ScaleWidth
End Sub
Tidak ada komentar:
Posting Komentar