Rekenmachine: code
- De variabelen die we gebruiken
Dim getal1 As Double
Dim getal2 As Double
Dim operator As String * 1
Dim punt As String
Dim puntgezet As Boolean
Dim isgelijkgedrukt As Boolean
- Als de control opstart, plaatsen we het decimaalteken op de knop.
Private Sub UserControl_Initialize()
punt = Mid(2 / 3, 2, 1)
cmdpunt.Caption = punt
lblNum.Caption = 0
End Sub
- Om te wissen:
Private Sub cmdC_Click()
getal1 = 0
getal2 = 0
operator = ""
lblNum.Caption = "0"
End Sub
Private Sub cmdCE_Click()
lblNum.Caption = "0"
End Sub
- Een cijfer:
Private Sub cmdNummer_Click(Index As Integer)
'Wissen als er juist is berekend is
If isgelijkgedrukt = True Then
lblNum.Caption = "0"
isgelijkgedrukt = False
End If
Select Case Index
Case 0
'Als er geen nul staat
If Not lblNum.Caption = "0" Then lblNum.Caption = lblcaption & CStr(Index)
Case Else
If Not lblNum.Caption = "0" Then
lblNum.Caption = lblNum.Caption & CStr(Index)
Else
lblNum.Caption = CStr(Index)
End If
End Select
End Sub
- Voor het decimaal- en minteken:
Private Sub cmdpunt_Click()
If puntgezet Then Exit Sub
lblNum.Caption = lblcaption & punt
puntgezet = True
End Sub
Private Sub cmdTeken_Click()
lblNum.Caption = CDbl(lblNum.Caption) * -1
End Sub
- De knoppen van de operatoren houden gewoon bij welke operator is gebruikt:
Private Sub cmdPlus_Click()
operator = "+"
getal1 = CDbl(lblNum.Caption)
lblNum.Caption = "0"
End Sub
Private Sub cmdgedeeld_Click()
operator = "/"
puntgezet = False
getal1 = CDbl(lblNum.Caption)
lblNum.Caption = "0"
End Sub
Private Sub cmdgehdeel_Click()
operator = "\"
puntgezet = False
getal1 = CDbl(lblNum.Caption)
lblNum.Caption = "0"
End Sub
Private Sub cmdmaal_Click()
operator = "*"
puntgezet = False
getal1 = CDbl(lblNum.Caption)
lblNum.Caption = "0"
End Sub
Private Sub cmdMacht_Click()
operator = "^"
puntgezet = False
getal1 = CDbl(lblNum.Caption)
lblNum.Caption = "0"
End Sub
Private Sub cmdmin_Click()
operator = "-"
puntgezet = False
getal1 = CDbl(lblNum.Caption)
lblNum.Caption = "0"
End Sub
Private Sub cmdMod_Click()
operator = "Mod"
puntgezet = False
getal1 = CDbl(lblNum.Caption)
lblNum.Caption = "0"
End Sub
- Het berekenen doen we zo:
Private Sub cmdis_Click()
getal2 = CDbl(lblNum.Caption)
isgelijkgedrukt = True
puntgezet = False
Select Case operator
Case "+"
lblNum.Caption = getal1 + getal2
Case "-"
lblNum.Caption = getal1 - getal2
Case "/"
If getal2 = 0 Then
MsgBox "Kan niet delen door 0", vbCritical
Exit Sub
End If
lblNum.Caption = getal1 / getal2
Case "*"
lblNum.Caption = getal1 * getal2
Case "\"
If getal2 = 0 Then
MsgBox "Kan niet delen door 0", vbCritical
Exit Sub
End If
lblNum.Caption = getal1 + getal2
Case "Mod"
If getal2 = 0 Then
MsgBox "Kan niet delen door 0", vbCritical
Exit Sub
End If
lblNum.Caption = getal1 Mod getal2
Case "^"
If getal1 < 0 And Not (getal2 = Int(getal2)) Then
MsgBox "Ongeldige bewerking", vbCritical
Exit Sub
End If
lblNum.Caption = getal1 ^ getal2
End Select
End Sub
[VB Web] - [hlrnet] - [copyright]