使一个角色在VB6上只出现一次

时间:2012-01-29 09:46:50

标签: vb6

我正在VB6上创建一个简单的计算器。

这是我正在处理的代码:

    textScreen.Text = textScreen.Text & "+"

当我按下某些数字按钮,然后点击时,结果如下 多次加号按钮

    75+++++++

我希望加号只出现一次,即使我点击了 它的按钮很多次:

    92+

...当我再次点击某些数字按钮时,然后点击 在加号按钮上,我希望加号再次显示:

    58+4+

这与Windows 7上的默认计算器类似。

2 个答案:

答案 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