用vb编一个计算器,需要用到数组,看看下面的代码,欢迎来找碴!

王朝vb·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

这是我的代码,请帮我看看哪有问题:(我是要用数组作个计算器)

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

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航