初学VB,编计算器碰到问题
初学VB,编计算器,有问题请教,代码如下:
Dim num1, num2 As Double
Dim StrNum1, StrNum2 As String
Dim Sign As Integer '定义运算符
Dim Pointed As Boolean '小数点是否按过
Dim ClickSign As Boolean '判断是否已有运算符号
Dim Result As Double '定义结果
Dim FirstNum As Boolean '判断是否是数字开头
Sub Command1_Click(Index As Integer) '0-9数字键
If FirstNum Then
StrNum1 = Str(Index) '实型转字符型
FirstNum = False '初赋值为假
Else '非初赋值
StrNum1 = StrNum1 + Str(Index)
End If
text1.Text = StrNum1 '显示
End Sub
Private Sub Command1_KeyPress(Index As Integer, KeyAscii As Integer)
Select Case KeyAscii
Case 96
Index = 0
Call Command1_Click
Case 97
Index = 1
Call Command1_Click
Case 98
Index = 2
Call Command1_Click
Case 99
Index = 3
Call Command1_Click
Case 100
Index = 4
Call Command1_Click
.......
End Select
End Sub
Private Sub Command2_Click(Index As Integer) '运算符
Pointed = False '还原标记值
If ClickSign Then '前面已有运算符未运算
Call run
Else
ClickSign = True
StrNum2 = StrNum1 '把字符串1复制给字符串2
StrNum1 = "" '字符串1清空
End If
Sign = Index '储存键入的运算符
End Sub
Private Sub Command3_Click() '等于号
If Not ClickSign Then
text1.Text = StrNum1
Result = Val(StrNum1)
FirstNum = True
Pointed = False
Else
Call run
ClickSign = False
End If
End Sub
Private Sub point_Click() '小数点
If Not Pointed Then '如果没有小数点
StrNum1 = StrNum1 + "."
Else '已有小数点
Exit Sub '则退出单击事件
End If
Pointed = True
text1.Text = StrNum1
End Sub
Private Sub CE_Click()
Call Form_Load
End Sub
Sub Form_Load()
num1 = 0
num2 = 0
StrNum1 = ""
StrNum2 = ""
FirstNum = True
PointFlag = False
Sign = -1
ClickSign = False
text1.Text = "0."
End Sub
Public Sub run()
num1 = Val(StrNum2)
num2 = Val(StrNum1)
Select Case Sign
Case 0 '加
Result = num1 + num2
Case 2 '减
Result = num1 - num2
Case 1 '乘
Result = num1 * num2
Case 3 '除
Result = num1 / num2
End Select
StrNum2 = Str(Result)
StrNum1 = StrNum2
text1.Text = StrNum2
End Sub
问题一是0的问题,如何解决在小数点前之能有一个0
问题二是小数点的问题,一开始运行可以,当按CE键后小数点就不起作用了
问题三是数字小键盘的键盘事件不行,不知道错在那里
帮忙改改代码,谢谢