⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 calculator.frm

📁 非常好用的计算器
💻 FRM
📖 第 1 页 / 共 5 页
字号:
   Begin VB.Menu menu2 
      Caption         =   "帮助(&H)"
      Begin VB.Menu menu2_2 
         Caption         =   "帮助(&H)"
      End
      Begin VB.Menu menu2_1 
         Caption         =   "关于计算器(&A)"
      End
      Begin VB.Menu menu2_4 
         Caption         =   "-"
      End
      Begin VB.Menu menu2_3 
         Caption         =   "退出(&E)"
      End
   End
End
Attribute VB_Name = "Calculator"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Option Base 1
Const PI As Double = 3.14159265358979
Private Datas(500) As Double
Private Star1, Star2, Star3, Star4, Star5, Star6 As Integer
Public Flag As Integer
Public Firstnum As String, Secondnum As String, Flags As String
Public x As String, y As String
Public Flag1 As Integer, Flag2 As Integer, Flag3 As Integer, Flag4 As Integer, _
n, Flag5, Flag6 As Integer


Public Function Fruit(x, y)
 If Flag1 = 1 Then
  Fruit = Trim(Str(Val(x) + Val(y)))
 ElseIf Flag2 = 1 Then
  Fruit = Trim(Str(Val(x) - Val(y)))
 ElseIf Flag3 = 1 Then
  Fruit = Trim(Str(Val(x) * Val(y)))
 ElseIf Flag4 = 1 Then
  If Val(y) = 0 Then
    Nn = MsgBox("除数不能为零!", vbOKOnly + vbExclamation, "数据错误警告")
    Text1.Text = ""
    Firstnum = ""
    Secondnum = ""
  Else
    Fruit = Trim(Str(Val(x) / Val(y)))
   End If
ElseIf Flag5 = 1 Then
   If Val(y) = 0 Then
    Nn = MsgBox("不能开零次方!", vbOKOnly + vbExclamation, "数据错误警告")
    Text1.Text = ""
    Firstnum = ""
    Secondnum = ""
    Exit Function
  ElseIf Val(x) < 0 And Val(x) / 2 = Int(Val(x) / 2) Then
  Nn = MsgBox("负数不能开偶次方!", vbOKOnly + vbExclamation, "数据错误警告")
    Text1.Text = ""
    Firstnum = ""
    Secondnum = ""
    Exit Function
  Else
   Fruit = Trim(Str(Val(x) ^ (1 / Val(y))))
  End If
ElseIf Flag6 = 1 Then
If Val(x) <= 0 Or Val(x) = 1 Or Val(y) <= 0 Then
Nn = MsgBox("数据不符合对数的定义!", vbOKOnly + vbExclamation, "数据错误警告")
    Text1.Text = ""
    Firstnum = ""
    Secondnum = ""
    Exit Function
Else
Fruit = Trim(Str(Log(Val(y)) / Log(Val(x))))
 End If
 End If
End Function

Private Sub Command1_Click()
 If Flag1 = 0 And Flag2 = 0 And Flag3 = 0 And Flag4 = 0 And Flag5 = 0 And Flag6 = 0 Then
    Firstnum = Firstnum & "1"
    Text1.Text = Trim(Firstnum)
 Else
  If Flag5 = 1 Or Flag6 = 1 Then
  Text1.Text = ""
  Secondnum = Secondnum & "1"
  Text1.Text = Trim(Flags & Secondnum)
  Else
  Secondnum = Secondnum & "1"
  Text1.Text = Trim(Flags & Secondnum)
  End If
 End If
 Text1.SetFocus
End Sub


Private Sub Command10_Click()
 If Flag1 = 0 And Flag2 = 0 And Flag3 = 0 And Flag4 = 0 And Flag5 = 0 And Flag6 = 0 Then
    Firstnum = Firstnum & "0"
  Text1.Text = Trim(Firstnum)
 Else
  If Flag5 = 1 Or Flag6 = 1 Then
  Text1.Text = ""
  Secondnum = Secondnum & "0"
  Text1.Text = Trim(Flags & Secondnum)
  Else
  Secondnum = Secondnum & "0"
  Text1.Text = Trim(Flags & Secondnum)
  End If
 End If
End Sub

Private Sub Command11_Click()
 If Flag1 = 0 And Flag2 = 0 And Flag3 = 0 And Flag4 = 0 And Flag5 = 0 And Flag6 = 0 Then
     Firstnum = Firstnum & "."
   Text1.Text = Trim(Firstnum)
 Else
   If Flag5 = 1 Or Flag6 = 1 Then
  Text1.Text = ""
  Secondnum = Secondnum & "."
  Text1.Text = Trim(Flags & Secondnum)
  Else
  Secondnum = Secondnum & "."
  Text1.Text = Trim(Flags & Secondnum)
  End If
 End If
 Text1.SetFocus
End Sub

Private Sub Command12_Click()
 If Flag1 = 0 And Flag2 = 0 And Flag3 = 0 And Flag4 = 0 And Flag5 = 0 And Flag6 = 0 Then
    Firstnum = "-" & Firstnum
  Text1.Text = Trim(Firstnum)
 Else
 If Flag5 = 1 Or Flag6 = 1 Then
  Text1.Text = ""
  Secondnum = "-" & Secondnum
  Text1.Text = Trim(Flags & Secondnum)
  Else
    Secondnum = "-" & Secondnum
  Text1.Text = Trim(Flags & Secondnum)
 End If
 End If
 Text1.SetFocus
End Sub

Private Sub Command13_Click()
 If Flag1 = 1 Then
  Firstnum = Trim(Val(Firstnum) + Val(Secondnum))
  Text1.Text = Trim(Firstnum & "+")
  Flags = Firstnum & "+"
  Flag1 = 1
 ElseIf Flag2 = 1 Then
  Firstnum = Trim(Val(Firstnum) - Val(Secondnum))
  Text1.Text = Trim(Firstnum & "+")
  Flags = Firstnum & "+"
  Flag2 = 0
  Flag1 = 1
 ElseIf Flag3 = 1 Then
  Firstnum = Trim(Val(Firstnum) * Val(Secondnum))
  Text1.Text = Trim(Firstnum & "+")
  Flags = Firstnum & "+"
  Flag3 = 0
  Flag1 = 1
 ElseIf Flag4 = 1 Then
  If Val(Secondnum) = 0 Then
   Nn = MsgBox("除数不能为零!", vbOKOnly + vbExclamation, "数据错误警告")
   Text1.Text = ""
   Firstnum = ""
   Secondnum = ""
   Exit Sub
  Else
   Firstnum = Trim(Val(Firstnum) / Val(Secondnum))
   Text1.Text = Trim(Firstnum & "+")
   Flags = Firstnum & "+"
   Flag4 = 0
   Flag1 = 1
  End If
 Else
  Flag1 = 1
  Text1.Text = Trim(Firstnum & "+")
  Flags = Firstnum & "+"
 End If
 Secondnum = ""
 Text1.SetFocus
End Sub

Private Sub Command14_Click()
 If Flag1 = 1 Then
  Firstnum = Trim(Val(Firstnum) + Val(Secondnum))
  Text1.Text = Trim(Firstnum & "-")
  Flags = Firstnum & "-"
  Flag1 = 0
  Flag2 = 1
 ElseIf Flag2 = 1 Then
  Firstnum = Trim(Val(Firstnum) - Val(Secondnum))
  Text1.Text = Trim(Firstnum & "-")
  Flags = Firstnum & "-"
  Flag2 = 1
 ElseIf Flag3 = 1 Then
  Firstnum = Trim(Val(Firstnum) * Val(Secondnum))
  Text1.Text = Trim(Firstnum & "-")
  Flags = Firstnum & "-"
  Flag3 = 0
  Flag2 = 1
 ElseIf Flag4 = 1 Then
  If Val(Secondnum) = 0 Then
    Nn = MsgBox("除数不能为零!", vbOKOnly + vbExclamation, "数据错误警告")
    Text1.Text = ""
    Firstnum = ""
    Secondnum = ""
    Exit Sub
  Else
   Firstnum = Trim(Val(Firstnum) / Val(Secondnum))
   Text1.Text = Trim(Firstnum & "-")
   Flags = Firstnum & "-"
   Flag4 = 0
   Flag2 = 1
  End If
 Else
  Flag2 = 1
  Text1.Text = Trim(Firstnum & "-")
  Flags = Firstnum & "-"
 End If
 Secondnum = ""
 Text1.SetFocus
End Sub

Private Sub Command15_Click()
 If Flag1 = 1 Then
  Firstnum = Trim(Val(Firstnum) + Val(Secondnum))
  Text1.Text = Trim(Firstnum & "*")
  Flags = Firstnum & "*"
  Flag1 = 0
  Flag3 = 1
 ElseIf Flag2 = 1 Then
  Firstnum = Trim(Val(Firstnum) - Val(Secondnum))
  Text1.Text = Trim(Firstnum & "*")
  Flags = Firstnum & "*"
  Flag2 = 0
  Flag3 = 1
 ElseIf Flag3 = 1 Then
  Firstnum = Trim(Val(Firstnum) * Val(Secondnum))
  Text1.Text = Trim(Firstnum & "*")
  Flags = Firstnum & "*"
  Flag3 = 1
 ElseIf Flag4 = 1 Then
  If Val(Secondnum) = 0 Then
    Nn = MsgBox("除数不能为零!", vbOKOnly + vbExclamation, "数据错误警告")
    Text1.Text = ""
    Firstnum = ""
    Secondnum = ""
    Exit Sub
  Else
   Firstnum = Trim(Val(Firstnum) / Val(Secondnum))
   Text1.Text = Trim(Firstnum & "*")
   Flags = Firstnum & "*"
   Flag4 = 0
   Flag3 = 1
  End If
 Else
  Flag3 = 1
  Text1.Text = Trim(Firstnum & "*")
  Flags = Firstnum & "*"
 End If
 Secondnum = ""
 Text1.SetFocus
End Sub

Private Sub Command16_Click()
 If Flag1 = 1 Then
  Firstnum = Trim(Val(Firstnum) + Val(Secondnum))
  Text1.Text = Trim(Firstnum & "/")
  Flags = Firstnum & "/"
  Flag1 = 0
  Flag4 = 1
 ElseIf Flag2 = 1 Then
  Firstnum = Trim(Val(Firstnum) - Val(Secondnum))
  Text1.Text = Trim(Firstnum & "/")
  Flags = Firstnum & "/"
  Flag2 = 0
  Flag4 = 1
 ElseIf Flag3 = 1 Then
  Firstnum = Trim(Val(Firstnum) * Val(Secondnum))
  Text1.Text = Trim(Firstnum & "/")
  Flags = Firstnum & "/"
  Flag3 = 0
  Flag4 = 1
 ElseIf Flag4 = 1 Then
  If Val(Secondnum) = 0 Then
    Nn = MsgBox("除数不能为零!", vbOKOnly + vbExclamation, "数据错误警告")
    Text1.Text = ""
    Firstnum = ""
    Secondnum = ""
    Exit Sub
   Else
    Firstnum = Trim(Val(Firstnum) / Val(Secondnum))
    Text1.Text = Trim(Firstnum & "/")
    Flags = Firstnum & "/"
    Flag4 = 1
   End If
 Else
  Flag4 = 1
  Text1.Text = Trim(Firstnum & "/")
  Flags = Firstnum & "/"
 End If
 Secondnum = ""
 Text1.SetFocus
End Sub

Private Sub Command17_Click()
 Text1.Text = Fruit(Firstnum, Secondnum)
 Flag1 = 0
 Flag2 = 0
 Flag3 = 0
 Flag4 = 0
 Flag5 = 0
 Flag6 = 0
 Firstnum = Text1.Text
 Secondnum = ""
 Text1.SetFocus
End Sub

Private Sub Command18_Click()
 Unload Me
End Sub

Private Sub Command19_Click()
 If Text1.Text = "" Then
  Nn = MsgBox("没有自变量!", vbOKOnly + vbExclamation, "操作错误警告!")
  Exit Sub
 Else
  If Option2.Value = True Then
   If Flag1 = 1 Or Flag2 = 1 Or Flag3 = 1 Or Flag4 = 1 Then
    Text1.Text = Trim(Sin((Val(Fruit(Firstnum, Secondnum))) * 3.14159265358979 / 180))
   Else
    Text1.Text = Trim(Sin((Val(Firstnum)) * 3.14159265358979 / 180))
   End If
  Else
   If Flag1 = 1 Or Flag2 = 1 Or Flag3 = 1 Or Flag4 = 1 Then
    Text1.Text = Trim(Sin(Val(Fruit(Firstnum, Secondnum))))
   Else
    Text1.Text = Trim(Sin(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 Command2_Click()
 If Flag1 = 0 And Flag2 = 0 And Flag3 = 0 And Flag4 = 0 And Flag5 = 0 And Flag6 = 0 Then
    Firstnum = Firstnum & "2"
  Text1.Text = Trim(Firstnum)
 Else
  If Flag5 = 1 Or Flag6 = 1 Then
  Text1.Text = ""
  Secondnum = Secondnum & "2"
  Text1.Text = Trim(Flags & Secondnum)
  Else
  Secondnum = Secondnum & "2"
  Text1.Text = Trim(Flags & Secondnum)
  End If
 End If
 Text1.SetFocus
End Sub

Private Sub Command20_Click()
 Dim Nn As Integer
 If Text1.Text = "" Then
  Nn = MsgBox("没有自变量!", vbOKOnly + vbExclamation, "操作错误警告!")
  Exit Sub
 Else
  If Option2.Value = True Then
   If Flag1 = 1 Or Flag2 = 1 Or Flag3 = 1 Or Flag4 = 1 Then
    Text1.Text = Trim(Cos((Val(Fruit(Firstnum, Secondnum))) * 3.14159265358979 / 180))
   Else
    Text1.Text = Trim(Cos((Val(Firstnum)) * 3.14159265358979 / 180))
   End If
  Else
   If Flag1 = 1 Or Flag2 = 1 Or Flag3 = 1 Or Flag4 = 1 Then
    Text1.Text = Trim(Cos(Val(Fruit(Firstnum, Secondnum))))
   Else
    Text1.Text = Trim(Cos(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 Command21_Click()
 Dim Nn As Integer
 If Text1.Text = "" Then
  Nn = MsgBox("没有自变量!", vbOKOnly + vbExclamation, "操作错误警告!")
  Exit Sub
 Else
  If Option2.Value = True Then
   If Flag1 = 1 Or Flag2 = 1 Or Flag3 = 1 Or Flag4 = 1 Then
    Text1.Text = Trim(Tan((Val(Fruit(Firstnum, Secondnum))) * 3.14159265358979 / 180))
   Else
    Text1.Text = Trim(Tan((Val(Firstnum)) * 3.14159265358979 / 180))
   End If
  Else
   If Flag1 = 1 Or Flag2 = 1 Or Flag3 = 1 Or Flag4 = 1 Then
    Text1.Text = Trim(Tan(Val(Fruit(Firstnum, Secondnum))))
   Else
    Text1.Text = Trim(Tan(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 Command22_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(Atn(Val(Fruit(Firstnum, Secondnum))))
   Else
    Text1.Text = Trim(Atn(Val(Firstnum)))
   End If
  End If
 Firstnum = Text1.Text
 Secondnum = ""
 Flag1 = 0
 Flag2 = 0
 Flag3 = 0
 Flag4 = 0
 Text1.SetFocus
End Sub

Private Sub Command23_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 = ""

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -