首页 > 技术文章 > 自制计算器 v1.1

jisuanjizhishizatan 2021-09-11 16:09 原文

之前的v1.0版本功能还不够完善,这个版本一并做了修改。
代码,每个sub表示哪个按钮做了注释。

Dim a, temp, ans As Integer
Dim op As String


Sub showans()
    Text1.Text = a
End Sub

Sub clearans()
    Text1.Text = " "
End Sub


Private Sub Command1_Click()
'按钮1

If a >= 0 Then
a = a * 10 + 1
Else
a = a * 10 - 1
End If
Call showans
End Sub

Private Sub Command10_Click()
'按钮0
a = a * 10
Call showans

End Sub

Private Sub Command11_Click()
'按钮=
If op = "+" Then
a = temp + a
ElseIf op = "-" Then
a = temp - a
ElseIf op = "*" Then
a = temp * a
ElseIf op = "/" Then
If a <> 0 Then
a = temp / a
Else
MsgBox ("Divisor can't be zero!")
End If
ElseIf op = "^" Then
a = temp ^ a
ElseIf op = "sqrt" Then
a = Sqr(a)
End If
Call showans
temp = a
End Sub

Private Sub Command12_Click()
'按钮CE
a = 0
Call showans
End Sub

Private Sub Command13_Click()
'按钮+
temp = a
a = 0
op = "+"
Call clearans
End Sub

Private Sub Command14_Click()
'按钮-
temp = a
a = 0
op = "-"
Call clearans
End Sub

Private Sub Command15_Click()
'按钮*
temp = a
a = 0
op = "*"
Call clearans
End Sub

Private Sub Command16_Click()
'按钮/
temp = a
a = 0
op = "/"
Call clearans
End Sub

Private Sub Command17_Click()
'按钮^ 乘方
temp = a
a = 0
op = "^"
Call clearans
End Sub

Private Sub Command18_Click()
'按钮sqrt 开方
temp = a
a = 0
op = "sqrt"
Call clearans
End Sub

Private Sub Command19_Click()
'按钮+/- 切换正负
a = -a
Call showans
End Sub

Private Sub Command2_Click()
'按钮2
If a >= 0 Then
a = a * 10 + 2
Else
a = a * 10 - 2
End If
Call showans
End Sub

Private Sub Command20_Click()
'按钮← 退格
a = Int(a / 10)
Call showans
End Sub

Private Sub Command3_Click()
'按钮3
If a >= 0 Then
a = a * 10 + 3
Else
a = a * 10 - 3
End If
Call showans
End Sub

Private Sub Command4_Click()
'按钮4
If a >= 0 Then
a = a * 10 + 4
Else
a = a * 10 - 4
End If
Call showans
End Sub

Private Sub Command5_Click()
'按钮5
If a >= 0 Then
a = a * 10 + 5
Else
a = a * 10 - 5
End If
Call showans
End Sub

Private Sub Command6_Click()
'按钮6
If a >= 0 Then
a = a * 10 + 6
Else
a = a * 10 - 6
End If
Call showans
End Sub

Private Sub Command7_Click()
'按钮7
If a >= 0 Then
a = a * 10 + 7
Else
a = a * 10 - 7
End If
Call showans
End Sub

Private Sub Command8_Click()
'按钮8
If a >= 0 Then
a = a * 10 + 8
Else
a = a * 10 - 8
End If
Call showans
End Sub

Private Sub Command9_Click()
'按钮9
If a > 0 Then
a = a * 10 + 9
Else
a = a * 10 - 9
End If
Call showans
End Sub

Private Sub Form_Load()
a = 0
temp = 0
ans = 0

End Sub

推荐阅读