我正在VB6上创建一个简单的计算器。
这是我正在处理的代码:
textScreen.Text = textScreen.Text & "+"
当我按下某些数字按钮,然后点击时,结果如下 多次加号按钮:
75+++++++
我希望加号只出现一次,即使我点击了 它的按钮很多次:
92+
...当我再次点击某些数字按钮时,然后点击 在加号按钮上,我希望加号再次显示:
58+4+
这与Windows 7上的默认计算器类似。
答案 0 :(得分:3)
嗯,有不同的方法。但总的来说,我不会只是连接一些字符串。这样你以后就必须解析字符串,而不是仅仅解决所请求的术语。而是尝试使用您的操作/数字创建一些堆栈;只需在网上查看计算器示例。
无论如何,为此,你必须以某种方式存储最后一个操作(例如我输入了一个数字还是一个操作符?)
如果您想将计算器限制为没有括号等的简单操作,可以使用布尔值:
Dim lastOp As Boolean
然后,在添加+
(或任何其他运算符)之前:
If Not lastOp Then
textScreen.Text = textScreen.Text & "+"
lastOp = true
End If
添加任何数字时(例如):
lastOp = false
textScreen.Text = textScreen.Text & "0"
(不要指望100%无错误代码,我想我8年没碰过VB6了。)
答案 1 :(得分:1)
你可能只是检查文本中的最后一个字符是否为“+”:
If Mid(textScreen.Text, Len(textScreen.Text), 1) <> "+" Then
textScreen.Text = textScreen.Text & "+"
End If