我在写的一个计算器的代码

来源:百度知道 编辑:UC知道 时间:2024/05/23 16:45:12
Dim ct As String
Private Sub Command1_Click()
ct = "+"
End Sub

Private Sub Command2_Click()
ct = "-"
End Sub

Private Sub Command3_Click()
ct = "*"
End Sub

Private Sub Command4_Click()
ct = "/"
End Sub

Private Sub Command5_Click()
Dim a, b, completion As Double
a = Text1.Text
b = Text2.Text
Select Case completion
Case ct = "+"
Text3.Text = Val(a) + Val(b)
Case ct = "-"
Text3.Text = Val(a) - Val(b)
Case ct = "*"
Text3.Text = Val(a) * Val(b)
Case ct = "/"
Text3.Text = Val(a) / Val(b)
End Select

End Sub
哪里错了吗
我发错了
我输入的是这个
Dim ct As String
Private Sub Command1_Click()
ct = "+"
End Sub

Private Sub Command2_Click()
ct = "-"
End Sub

Private Sub Command3_Click()
c

你认为呢?谁能知道你是什么编程思想!

Select Case completion
Case ct = "+"
Text3.Text = Val(a) + Val(b)
Case ct = "-"
Text3.Text = Val(a) - Val(b)
Case ct = "*"
Text3.Text = Val(a) * Val(b)
Case ct = "/"
Text3.Text = Val(a) / Val(b)
End Select

格式不对

应该是
Select case ct
case "-"
……
case "+"
……
等等
end select

另外其实没有那么复杂的 你引用一下VBSCRIPT库,然后直接给vbs表达式让他返回结果就可以了……

用这个东西:
Microsoft Script Control
在VB的部件中可以找到

接下来就是超级少的代码的计算器:

Private Sub Form_Click()
With ScriptControl1
.Language = "VBScript"
End With

Dim sExp As String
sExp = Text1.Text 'Text1.Text内容为计算的表达式如1+2

Dim sRet As String
sRet = ScriptControl1.Eval(sExp)

MsgBox sRet

End Sub
当然要过滤下把Text1.Text的内容要去除字母和等号 否则如果text1.text