zyal 发表于 2008-6-26 14:08

谁帮我看下,一个计算器。只有一种运算,代码错了。不知道错在那里?

这是我写的响应代码,一个加法计算器
Private Sub RuaCommand_Click()
Dim Number1 As Single, Number2 As Single, Result As Single

Number1 = Val(InputText1.Text)
Number2 = Val(InputText2.Text)

If AddOption.Value = True Then
Result = Number1 + Number2
End If
End Sub
系统说实时错误“424”
要求对象“                  空白         ”
代码应该怎么写?

[[it] 本帖最后由 zyal 于 2008-6-26 14:09 编辑 [/it]]

冰镇柠檬汁儿 发表于 2008-6-26 14:11

[tk01] 不知道

chunxue2002 发表于 2008-6-26 17:27

正确,你的编译器有问题!!

正确,你的编译器有问题!!

zyal 发表于 2008-6-26 23:35

我运行了。但还是运行不了。郁闷的很

连简单的1+1都算不了。。。。烦啊。。。

ptmwvbzf 发表于 2008-6-27 14:35

偷偷问下楼上嘀这个M意思:AddOption.Value = True

hyhhd 发表于 2008-6-27 14:55

对象应该指的是“AddOption”,
我觉得:
1、可以加一个AddOption单击的事件,在事件中写:
If AddOption.Value = True Then
AddOperation=true
End If
2、在模块级中声明:private AddOperation as Boolean
3、在RuaCommand_Click事件中:
Private Sub RuaCommand_Click()
Dim Number1 As Single, Number2 As Single, Result As Single

Number1 = Val(InputText1.Text)
Number2 = Val(InputText2.Text)

If AddOperation = True Then
Result = Number1 + Number2
End If
End Sub

还有一种,就是建立类模块。

hyhhd 发表于 2008-6-27 14:57

最好将Single改为double

烤野猪 发表于 2008-6-27 18:10

[tk06] [tk06] 看不太懂

zyal 发表于 2008-6-28 11:58

改了几天终于对了。但是计算的结果都是0。汗

Private Sub RuaCommand_Click()
Dim Number1 As Single, Number2 As Single, Result As Single

Number1 = Val(InputText1)
Number2 = Val(InputText2)

If AddOption = True Then
Result = Number1 + Number2
End If
OutputText.Text = Result
End Sub

ptmwvbzf 发表于 2008-6-28 13:43

你addoption=true时才执行计算,addoption又没见你赋值,肯定是不计算Result = Number1 + Number2
那result肯定等于零喽

zyal 发表于 2008-6-28 22:55

那我应该怎么改?说清楚点。我新手

hyhhd 发表于 2008-6-29 10:58

建议你最好将运算写成函数:
private function Add (Num1 as double,Num2 as doule,optional CalculatePression as integer = 16) as doublie
   if ismissing(CalculatePression)=true then
      add=num1+num2

   else
      add=math.round(num1+num2,CalculatePression)

   endif

end function
其它的一次类推减、乘、除等计算函数。

private sub Command_Click()
Dim Number1 As double
dim Number2 As double

   Number1 = Val(InputText1)
   Number2 = Val(InputText2)
   OutputText.Text = add(Number1,Number2)

end sub
没必要AddOption=true的判断。我觉得奇怪的是,当主功能调通后,你再根据需要再加上其它附加的东西。就像上面有人说得一样,你就没给AddOption进行赋值AddOption=true,它怎么可能去进行加法计算?所以,我怀疑你的这段代码不是你编的。

swz 发表于 2008-6-29 21:58

简单的只能加减的计算器

[img]http://hi.bccn.net/attachment/200806/29/265433_1214748337FScB.jpg[/img]


简单代码
Private Sub Command1_Click()
Dim number1 As Single, number2 As Single, sum As Single
number1 = Val(Text1.Text)
number2 = Val(Text2.Text)
sum = number1 + number2
Text3.Text = sum
End Sub

[[it] 本帖最后由 swz 于 2008-6-29 22:43 编辑 [/it]]

页: [1]

编程论坛