计算器代码
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Option Explicit ‘强烈声明Public num As String, num1 As String
Dim A As Integer
Dim B As String
Dim C as integer
Private Sub Command1_Click(C As Integer)
Text1.SetFocus
num = num + Command1(C).Caption
Text1.Text = num
End Sub
单击数字键0~9和点“.”时,光标落实到焦点上
并把数字键的值递给text1.text
'Private Sub Command1_LostFocus(Index As Integer) 'Text1.Text = Text1.Text & Format$(Index)
'Text1.Text = Text1.Text & cmdNumber(Index).Caption 'Text1.Text = Text1.Text & Index
'End Sub
Private Sub Command10_Click()
Text1.Text = "0."
num = ""
End Sub
当单击command10(清零)事件时,text1.text等于字符“0.”,num值为空字符
Private Sub Command11_Click()
End
End Sub
当单击command11(关机)事件时,退出程序
Private Sub Command2_Click(C As Integer)
num1 = num
Text1.Text = ""
num = ""
End Sub
当单击“+,-,×,÷”command2数组事件时,text.1.Text显示空字符
Private Sub Command3_Click()
If InStr(num, ".") Then
MsgBox "已经存在小数点!!"
Exit Sub
Else
num = num + Command3.Caption
End If
End Sub
如果再次单击command3时,“.”返回第一次存在的“.”的出现位置,会弹出窗体提醒,除此之外则是正常的数字和点号连接
Private Sub Command4_Click()
Select Case A
Case 0
num = Str(V al(num1) + V al(num))
Case 1
num = Str(V al(num1) - V al(num))
Case 2
num = Str(V al(num1) * V al(num))
Case 3
If V al(num) = 0 Then
MsgBox "除数不能为零!!!"
Text1.Text = "0."
num = ""
Else
num = Str(V al(num1) / V al(num))
End If
End Select
If num = 0 Then
Text1.Text = "0."
ElseIf num <= -1 Or num >= 1 Then
Text1.Text = num
ElseIf num > 0 And num < 1 Then
Text1.Text = "0" & Trim(num)
Else
Text1.Text = "-0" & Trim(-num)
End If
num = ""
End Sub
‘num的值等于val函数转化字符的数值并通过select case结构选择事件来判断实现相加,相减,相乘,相除,当转化后的字符值为零时,弹出信息窗口提醒,之后用if ····then····elseif 结构来解决输出零和负数,并且把计算机默认隐藏的小数点之前的零用trim函数把字符前后空格消掉,并且按情况把“0.”数值显示出来
Private Sub Command5_Click()
If Text1.Text <> "" Then
Text1.Text = -1 * Text1.Text
num = Text1.Text
End If
End Sub
当单击command5时,计算机判断text1.text的值大小,通过if·····then····结构分情况解决正负数问题
Private Sub Command6_Click()
Text1.Text = Sqr(V al(Text1.Text))
End Sub
当单击command6时对text1.Text的值进行开平方
Private Sub Command7_Click()
Text1.Text = V al(Text1.Text) * V al(Text1.Text)
End Sub
当单击command7时对text.1.text的值重复相乘,相当于对text1.text 的值平方
Private Sub Command9_Click()
B = Mid(Text1.Text, 1, Len(Text1.Text - 1))
Text1.Text = B
' If B = 0 Then
' Mid(Text1.Text, 1, 0) = B
' B = Text1.Text
' Text1.Text = "0."
' End If
End Sub
当单击command9时用mid函数将text1.text的字符,从字符从右边一个开始连续取一个字符,并输出剩下的字符
Private Sub Timer1_Timer()
Text2.Text = Now
End Sub
用时间控件将计算机系统时间赋值给text2.text,并在开始程序时显示出来
Private Sub Command8_Click()
Text1.Text = "0" & Text1.Text / 100
End Sub
单击command8时,把text1.text的值转换为百分化形式。