这是数字0的代码:
Private Sub Command0_Click(Index As Integer)
If Text1.Text = "0" Then
Text1.Text = "0"
Else
Text1.Text = Text1.Text + "0"
End If
End Sub
其余数字与它一样
这是加号的代码
Private Sub Command17_Click(Index As Integer)
Text1.Text = ""
x = "+"
pre = now
End Sub
其中pre , now定义为DOUBLE
下面是等号的代码,只列出了加法的部分
Private Sub Command16_Click(Index As Integer)
If x = "+" Then
now = pre + now
Text1.Text = now
End If
End Sub
由于加法怎么也算不对,所以拿上来请各位高手看看错误在哪里
谢谢各位!!!
首先不能用NOW来定义,它是内置函数名。改为NOW1。
我的代码如下:
Dim X As String
Dim pre As Double
Dim now1 As Double
'这是加号的代码
Private Sub Command17_Click(Index As Integer)
pre = Val(Text1.Text)
Text1.Text = ""
X = "+"
'pre = Now'这一句不要
End Sub
'其中pre , now1定义为DOUBLE
'下面是等号的代码,只列出了加法的部分
Private Sub Command16_Click(Index As Integer)
If X = "+" Then
now1 = Val(Text1.Text)
now1 = pre + now1
Text1.Text = now1
End If
End Sub
数字输入处理你的方法也可以,但有更简单的处理办法,设置控件数组command0(0)、command0(1)、....、command0(9)一共10个,分别将它们的caption属性值设为0、1、...、9,这样就可以用下面一句代码来处理0-9所有数字输入问题。效果一样,但代码简洁的多。
Private Sub Command0_Click(Index As Integer)
Text1.Text = Text1.Text & Command0(Index).Caption
End Sub
我的代码如下:
Dim X As String
Dim pre As Double
Dim now1 As Double
'这是加号的代码
Private Sub Command17_Click(Index As Integer)
pre = Val(Text1.Text)
Text1.Text = ""
X = "+"
'pre = Now'这一句不要
End Sub
'其中pre , now1定义为DOUBLE
'下面是等号的代码,只列出了加法的部分
Private Sub Command16_Click(Index As Integer)
If X = "+" Then
now1 = Val(Text1.Text)
now1 = pre + now1
Text1.Text = now1
End If
End Sub
数字输入处理你的方法也可以,但有更简单的处理办法,设置控件数组command0(0)、command0(1)、....、command0(9)一共10个,分别将它们的caption属性值设为0、1、...、9,这样就可以用下面一句代码来处理0-9所有数字输入问题。效果一样,但代码简洁的多。
Private Sub Command0_Click(Index As Integer)
Text1.Text = Text1.Text & Command0(Index).Caption
End Sub
温馨提示:答案为网友推荐,仅供参考
第1个回答 2009-08-07
你先试试把Command16那部分的第3行换成now = val(pre) + val(now)
第2个回答 2009-08-07
now = pre + now
now是关键字,不能赋值的~换个名称吧
now是关键字,不能赋值的~换个名称吧
第3个回答 2009-08-07
我觉得有两个可能原因:一,now是时间关键字,可能引起冲突。
二,你的代码不全,不知你是否把其中数字(now)都转换为数值型。因为Text默认为文本,直接相加肯定出错。
二,你的代码不全,不知你是否把其中数字(now)都转换为数值型。因为Text默认为文本,直接相加肯定出错。