用vb编一个计算器,需要用到数组,看看下面的代码,欢迎来找碴!
发表于:2007-06-30来源:作者:点击数:
标签:
这是我的代码,请帮我看看哪有问题:(我是要用数组作个计算器) Option Explicit Dim shu1 As Double, shu2 As Double @#先后输入的两个数 Dim result As Double @#做了运算的结果 Dim process, process0, process1, process2, process3, process4 As Varian
这是我的代码,请帮我看看哪有问题:(我是要用数组作个计算器)
Option Explicit
Dim shu1 As Double, shu2 As Double @#先后输入的两个数
Dim result As Double @#做了运算的结果
Dim process, process0, process1, process2, process3, process4 As Variant @#保存数1与各个运算符的过程
Dim judge As Variant @#判断按了那个运算符
Private Sub Command1_Click(Index As Integer) @#0-9数字键
Text1.Text = Text1.Text & Index
Text1.SetFocus
End Sub
Private Sub Command1_KeyPress(Index As Integer, KeyAscii As Integer) @#阻止键盘输入,不过不知为什么没有用
KeyAscii = 0
End Sub
Private Sub Command2_Click(Index As Integer) @# "."键
Text1.Text = Text1.Text & "."
End Sub
Private Sub Command3_Click() @#退格键
If Text1.Text = "" Then
Exit Sub
End If
Text1.Text = Left(Text1.Text, Len(Text1.Text) - 1)
End Sub
Private Sub Command4_Click() @#清除键
Text1.Text = ""
End Sub
Private Sub Command5_Click(Index As Integer) @#做运算,总觉得逻辑上哪有问题
shu1 = Val(Text1.Text)
process = shu1
Text1.Text = ""
If judge = Command5(0) Then
process0 = shu1 + Command(0)
ElseIf judge = Command5(1) Then
process1 = shu1 + Command5(1)
ElseIf judge = Command5(2) Then
process2 = shu1 + Command(2)
ElseIf judge = Command5(3) Then
process3 = shu1 + Command5(3)
End If
shu2 = Val(Text1.Text)
End Sub
Private Sub Command6_Click() @#等号
result = process + shu2
Text1.Text = result
If process0 Then
result = shu1 + shu2
ElseIf process1 Then
result = shu1 - shu2
ElseIf process2 Then
result = shu1 * shu2
ElseIf process3 Then
result = shu1 / shu2
End If
End Sub
Private Sub Text1_Change()
If judge = False Then
shu2 = Val(Text1.Text)
End If
Text1.SetFocus
End Sub
原文转自:http://www.ltesting.net