📄 calculator.frm
字号:
Firstnum = ""
Secondnum = ""
Exit Sub
Else
Text1.Text = Trim(1 / (Val(Fruit(Firstnum, Secondnum))))
End If
Else
If Val(Fruit(Firstnum, Secondnum)) = 0 Then
Nn = MsgBox("除数不能为零!", vbOKOnly + vbExclamation, "数据错误警告")
Text1.Text = ""
Firstnum = ""
Secondnum = ""
Exit Sub
Else
Text1.Text = Trim(1 / (Val(Firstnum)))
End If
End If
End If
Firstnum = Text1.Text
Secondnum = ""
Flag1 = 0
Flag2 = 0
Flag3 = 0
Flag4 = 0
Text1.SetFocus
End Sub
Private Sub Command24_Click()
If Text1.Text = "" Then
Nn = MsgBox("没有自变量!", vbOKOnly + vbExclamation, "操作错误警告!")
Exit Sub
Else
If Flag1 = 1 Or Flag2 = 1 Or Flag3 = 1 Or Flag4 = 1 Then
If Val(Fruit(Firstnum, Secondnum)) < 0 Then
Nn = MsgBox("开平方自变量应大于等于零!", vbOKOnly + vbExclamation, "数据错误警告")
Text1.Text = ""
Firstnum = ""
Secondnum = ""
Exit Sub
Else
Text1.Text = Trim((Val(Fruit(Firstnum, Secondnum))) ^ 0.5)
End If
Else
If Val(Firstnum) < 0 Then
Nn = MsgBox("开平方自变量应大于等于零!", vbOKOnly + vbExclamation, "数据错误警告")
Text1.Text = ""
Firstnum = ""
Secondnum = ""
Exit Sub
Else
Text1.Text = Trim((Val(Firstnum)) ^ 0.5)
End If
End If
End If
Firstnum = Text1.Text
Secondnum = ""
Flag1 = 0
Flag2 = 0
Flag3 = 0
Flag4 = 0
Text1.SetFocus
End Sub
Private Sub Command25_Click()
If Text1.Text = "" Then
Nn = MsgBox("没有自变量!", vbOKOnly + vbExclamation, "操作错误警告!")
Exit Sub
Else
If Flag1 = 1 Or Flag2 = 1 Or Flag3 = 1 Or Flag4 = 1 Then
Text1.Text = Trim((Val(Fruit(Firstnum, Secondnum))) ^ 2)
Else
Text1.Text = Trim((Val(Firstnum)) ^ 2)
End If
End If
Firstnum = Text1.Text
Secondnum = ""
Flag1 = 0
Flag2 = 0
Flag3 = 0
Flag4 = 0
Text1.SetFocus
End Sub
Private Sub Command26_Click()
If Text1.Text = "" Then
Nn = MsgBox("没有自变量!", vbOKOnly + vbExclamation, "操作错误警告!")
Exit Sub
Else
If Flag1 = 1 Or Flag2 = 1 Or Flag3 = 1 Or Flag4 = 1 Then
Text1.Text = Trim(10 ^ (Val(Fruit(Firstnum, Secondnum))))
Else
Text1.Text = Trim(10 ^ (Val(Firstnum)))
End If
End If
Firstnum = Text1.Text
Secondnum = ""
Flag1 = 0
Flag2 = 0
Flag3 = 0
Flag4 = 0
Text1.SetFocus
End Sub
Private Sub Command27_Click()
If Text1.Text = "" Then
Nn = MsgBox("没有自变量!", vbOKOnly + vbExclamation, "操作错误警告!")
Exit Sub
Else
If Flag1 = 1 Or Flag2 = 1 Or Flag3 = 1 Or Flag4 = 1 Then
Text1.Text = Trim(Exp((Val(Fruit(Firstnum, Secondnum)))))
Else
Text1.Text = Trim(Exp((Val(Firstnum))))
End If
End If
Firstnum = Text1.Text
Secondnum = ""
Flag1 = 0
Flag2 = 0
Flag3 = 0
Flag4 = 0
Text1.SetFocus
End Sub
Private Sub Command28_Click()
If Text1.Text = "" Then
Nn = MsgBox("没有自变量!", vbOKOnly + vbExclamation, "操作错误警告!")
Exit Sub
Else
If Flag1 = 1 Or Flag2 = 1 Or Flag3 = 1 Or Flag4 = 1 Then
If Val(Fruit(Firstnum, Secondnum)) <= 0 Then
Nn = MsgBox("对数函数自变量应大于零!", vbOKOnly + vbExclamation, "数据错误警告")
Text1.Text = ""
Firstnum = ""
Secondnum = ""
Exit Sub
Else
Text1.Text = Trim(Log((Val(Fruit(Firstnum, Secondnum)))))
End If
Else
If Val(Firstnum) <= 0 Then
Nn = MsgBox("对数函数自变量应大于零!", vbOKOnly + vbExclamation, "数据错误警告")
Text1.Text = ""
Firstnum = ""
Secondnum = ""
Exit Sub
Else
Text1.Text = Trim(Log((Val(Firstnum))))
End If
End If
End If
Firstnum = Text1.Text
Secondnum = ""
Flag1 = 0
Flag2 = 0
Flag3 = 0
Flag4 = 0
Text1.SetFocus
End Sub
Private Sub Command29_Click()
If Text1.Text = "" Then
Nn = MsgBox("没有自变量!", vbOKOnly + vbExclamation, "操作错误警告!")
Exit Sub
Else
If Flag1 = 1 Or Flag2 = 1 Or Flag3 = 1 Or Flag4 = 1 Then
If Val(Fruit(Firstnum, Secondnum)) <= 0 Then
Nn = MsgBox("对数函数自变量应大于零!", vbOKOnly + vbExclamation, "数据错误警告")
Text1.Text = ""
Firstnum = ""
Secondnum = ""
Exit Sub
Else
Text1.Text = Trim(Log((Val(Fruit(Firstnum, Secondnum)))) / Log(10))
End If
Else
If Val(Firstnum) <= 0 Then
Nn = MsgBox("对数函数自变量应大于零!", vbOKOnly + vbExclamation, "数据错误警告")
Text1.Text = ""
Firstnum = ""
Secondnum = ""
Exit Sub
Else
Text1.Text = Trim(Log((Val(Firstnum))) / Log(10))
End If
End If
End If
Firstnum = Text1.Text
Secondnum = ""
Flag1 = 0
Flag2 = 0
Flag3 = 0
Flag4 = 0
Text1.SetFocus
End Sub
Private Sub Command3_Click()
If Flag1 = 0 And Flag2 = 0 And Flag3 = 0 And Flag4 = 0 And Flag5 = 0 And Flag6 = 0 Then
Firstnum = Firstnum & "3"
Text1.Text = Trim(Firstnum)
Else
If Flag5 = 1 Or Flag6 = 1 Then
Text1.Text = ""
Secondnum = Secondnum & "3"
Text1.Text = Trim(Flags & Secondnum)
Else
Secondnum = Secondnum & "3"
Text1.Text = Trim(Flags & Secondnum)
End If
End If
Text1.SetFocus
End Sub
Private Sub Command30_Click()
Flag1 = 0
Flag2 = 0
Flag3 = 0
Flag4 = 0
Firstnum = ""
Secondnum = ""
Text1.Text = ""
Text1.SetFocus
End Sub
Private Sub Command31_Click()
On Error GoTo ErrorHandler
Dim I As Integer, Sum As Double
Dim Bla As Boolean, Blb As Boolean, Blc As Boolean, Bld As Boolean
If Text1.Text = "" Then
Nn = MsgBox("没有自变量!", vbOKOnly + vbExclamation, "操作错误警告!")
Exit Sub
Else
Bla = InStr(Text1.Text, "+") <> 0
Blb = InStr(Text1.Text, "-") > 1
Blc = InStr(Text1.Text, "*") <> 0
Bld = InStr(Text1.Text, "/") <> 0
If Bla Or Blb Or Blc Or Bld Then
Nn = MsgBox("请先按“=”得到结果,再按此按钮!", vbOKOnly + vbExclamation, "操作错误警告!")
Exit Sub
Else
If Val(Text1.Text) < 0 Or Val(Text1.Text) <> Int(Val(Text1.Text)) Then
Nn = MsgBox("计算阶乘时,自变量应为非负整数!", vbOKOnly + vbExclamation, "操作错误警告!")
Else
If Val(Text1.Text) = 0 Or Val(Text1.Text) = 1 Then
Text1.Text = 1
Firstnum = "1"
Secondnum = ""
Else
Sum = 1
For I = 1 To Val(Text1.Text)
Sum = Sum * I
Next I
Firstnum = Trim(Str(Sum))
Text1.Text = Firstnum
End If
End If
End If
End If
Sum = 0
Text1.SetFocus
ErrorHandler: ' 错误处理程序。
Select Case Err.Number ' 检查错误代号。
Case 6 ' 发生“数据溢出”的错误。
Nn = MsgBox("对不起,本计算器无法为如此大的数计算阶乘!", vbOKOnly + vbExclamation, "数据溢出")
Firstnum = ""
Secondnum = ""
Text1.Text = ""
Exit Sub
End Select
End Sub
Private Sub Command32_Click()
Dim Nn As Integer
If Flag = 0 Then
Nn = MsgBox("无统计数据!", vbOKOnly + vbExclamation, "数据错误警告")
Text1.Text = ""
Firstnum = ""
Secondnum = ""
Exit Sub
Else
Star1 = 1
Text1.Text = Trim(Str(Flag))
End If
Text1.SetFocus
End Sub
Private Sub Command33_Click()
Dim T As Long
Dim Nn As Integer
If Flag = 0 Then
Nn = MsgBox("无统计数据!", vbOKOnly + vbExclamation, "数据错误警告")
Text1.Text = ""
Firstnum = ""
Secondnum = ""
Exit Sub
Else
Sum = 0
Star2 = 1
For T = 1 To Flag
Sum = Sum + Datas(T)
Next T
Text1.Text = Trim(Str(Sum))
End If
Text1.SetFocus
End Sub
Private Sub Command34_Click()
Dim T As Long
Dim Nn As Integer
If Flag = 0 Then
Nn = MsgBox("无统计数据!", vbOKOnly + vbExclamation, "数据错误警告")
Text1.Text = ""
Firstnum = ""
Secondnum = ""
Exit Sub
Else
Sum = 0
Star3 = 1
For T = 1 To Flag
Sum = Sum + Datas(T)
Next T
Text1.Text = Trim(Str(Sum / Flag))
End If
Text1.SetFocus
End Sub
Private Sub Command35_Click()
Dim T As Long
Dim Nn As Integer
If Flag = 0 Then
Nn = MsgBox("无统计数据!", vbOKOnly + vbExclamation, "数据错误警告")
Text1.Text = ""
Firstnum = ""
Secondnum = ""
Exit Sub
Else
Sum = 0
Star4 = 1
For T = 1 To Flag
Sum = Sum + (Datas(T)) ^ 2
Next T
Text1.Text = Trim(Str(Sum))
End If
Text1.SetFocus
End Sub
Private Sub Command36_Click()
Dim T As Long, Sum1 As Double
Dim Nn As Integer
If Flag = 0 Then
Nn = MsgBox("无统计数据!", vbOKOnly + vbExclamation, "数据错误警告")
Text1.Text = ""
Firstnum = ""
Secondnum = ""
Exit Sub
Else
Sum = 0
Star5 = 1
For T = 1 To Flag
Sum = Sum + Datas(T)
Next T
Sum = Sum / Flag
For T = 1 To Flag
Sum1 = Sum1 + (Datas(T) - Sum) ^ 2
Next T
Text1.Text = Trim(Str(Sum1 / Flag))
Sum1 = 0
End If
Text1.SetFocus
End Sub
Private Sub Command37_Click()
Dim T As Long, Sum1 As Double
Dim Nn As Integer
If Flag = 0 Then
Nn = MsgBox("无统计数据!", vbOKOnly + vbExclamation, "数据错误警告")
Text1.Text = ""
Firstnum = ""
Secondnum = ""
Exit Sub
Else
Sum = 0
Star5 = 1
For T = 1 To Flag
Sum = Sum + Datas(T)
Next T
Sum = Sum / Flag
For T = 1 To Flag
Sum1 = Sum1 + (Datas(T) - Sum) ^ 2
Next T
Text1.Text = Trim(Str(Sum1 / (Flag - 1)))
Sum1 = 0
End If
Text1.SetFocus
End Sub
Private Sub Command38_Click()
Dim Nn As Integer, I As Integer, Sum As Double
Dim Bla As Boolean, Blb As Boolean, Blc As Boolean, Bld As Boolean
If Text1.Text = "" Then
Nn = MsgBox("没有数据!", vbOKOnly + vbExclamation, "操作错误警告!")
Exit Sub
Else
If Star1 = 1 Or Star2 = 1 Or Star3 = 1 _
Or Star4 = 1 Or Star5 = 1 Or Star6 = 1 Then
Flag = 0: Star1 = 0: Star2 = 0: Star3 = 0
Star4 = 0: Star5 = 0: Star6 = 0
End If
Bla = InStr(Text1.Text, "+") <> 0
Blb = InStr(Text1.Text, "-") > 1
Blc = InStr(Text1.Text, "*") <> 0
Bld = InStr(Text1.Text, "/") <> 0
If Bla Or Blb Or Blc Or Bld Then
Nn = MsgBox("请先按“=”得到结果,再按此按钮!", vbOKOnly + vbExclamation, "操作错误警告!")
Exit Sub
Else
Flag = Flag + 1
Datas(Flag) = Val(Text1.Text)
Text1.Text = ""
Firstnum = ""
Secondnum = ""
End If
End If
Text1.SetFocus
End Sub
Private Sub Command39_Click()
Dim Strtxt As String
Strtxt = Trim(Text1.Text)
If Text1.Text = "" Then
Exit Sub
Else
If InStr(Strtxt, "+") = 0 And InStr(Strtxt, "-") = 0 _
And InStr(Strtxt, "*") = 0 And InStr(Strtxt, "/") = 0 Then
Firstnum = Left(Firstnum, Len(Firstnum) - 1)
Text1.Text = Firstnum
ElseIf InStr(Strtxt, "+") = Len(Strtxt) Then
Flag1 = 0
Text1.Text = Firstnum
Flags = Firstnum
ElseIf InStr(Strtxt, "-") = Len(Strtxt) Then
Flag2 = 0
Text1.Text = Firstnum
Flags = Firstnum
ElseIf InStr(Strtxt, "*") = Len(Strtxt) Then
Flag3 = 0
Text1.Text = Firstnum
Flags = Firstnum
ElseIf InStr(Strtxt, "/") = Len(Strtxt) Then
Flag4 = 0
Text1.Text = Firstnum
Flags = Firstnum
Else
Secondnum = Left(Secondnum, Len(Secondnum) - 1)
Text1.Text = Left(Strtxt, Len(Strtxt) - 1)
End If
End If
Text1.SetFocus
End Sub
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -