|
发表于 2005-4-27 18:47:04
|
显示全部楼层
<P>我的大概就这个样子:</P><P>Option Explicit
Dim a!, b!
Dim stra As String, strb As String
Dim c As Boolean '判断开头数字
Dim runsign%, signflag As Boolean
Dim pointflag As Boolean '判断小数点
Dim aim!</P><P>Private Sub Command1_Click(Index As Integer)
Select Case Index
'10个数字键
Case 0 To 9
If c Then
stra = Str(a)
c = False
Else
stra = stra & Str(Index)
End If
Text1.Text = stra
'小数点
Case 10
If Not pointflag Then
If c Then
stra = "0."
c = False
Else
stra = stra & "."
End If
End If
pointflag = True
Text1.Text = stra
'等于号
Case 11
If Not signflag Then
Text1.Text = stra
aim = Val(stra)
c = True
pointflag = False
Else
Call run
signflag = False
End If
'四则运算
Case 12 To 15</P><P> c = True
pointflag = False</P><P> If signflag Then</P><P> Call run</P><P> Else</P><P> signflag = True
strb = stra
stra = ""
End If
runsign = Index - 11
Case Else
Call Clear
End Select
End Sub
'四则运算过程
Sub run()
a = Val(strb)
b = Val(stra)
Select Case runsign
Case 1
aim = a + b
Case 2
aim = a - b
Case 3
aim = a * b
Case 4
aim = a / b</P><P>
End Select
strb = Str(aim)
stra = strb
Text1.Text = strb
End Sub</P><P>Private Sub Form_Load()
Call Clear
End Sub
'清除过程
Sub Clear()
Text1.Text = "0." '默认数字
Text1.FontBold = True
Text1.FontSize = 14
a = 0: b = 0: stra = "": strb = "" '变量清零
c = True
runsign = 0
signflag = False
pointflag = False
End Sub</P><P>但是有两个问题没有解决:1.第一次点击一个数字要点两次,因为第一次点是0(不知道怎么回事)</P><P> 2.做连续的运算的时候text显示的上面的数字不能清零</P><P>这两个问题俺弄不出来了 !请大哥们指点下!</P> |
|