0

我在使 if 表达式起作用时遇到问题。问题是使用了第一个 if 语句,即使旁边的表达式应该返回 FALSE 值。

例如,当我运行这个脚本时,它应该在%X%它运行两次时的值是 10。(第一个是 5,第二个是 10)。%length%然后在第二次运行时顺便有一个值为 2。

我在第二次运行时得到的消息框显示“InputVar 的长度为 2。- One - 2”一直到第 19 次运行时显示“InputVar 的长度为 2。 - One - 19”。然后,当它运行 20(到 22)时,它会显示“InputVar 的长度是 3. - One - 20”。

我究竟做错了什么?

^1::
X:=0
Y:=0
Loop, 22
{
Y:=++Y
X:=5+X
InputVar:=X
StringLen, length, InputVar
if (%length%<2)
{
MsgBox, 1, Length, The length of InputVar is %length%. - One - %Y%, 2
}
else if (%length%==2)
{
MsgBox, 1, Length, The length of InputVar is %length%. - Two - %Y%, 2
}
else if (%length%>2)
{
MsgBox, 1, Length, The length of InputVar is %length%. - Three - %Y%, 2
}
else
{
MsgBox, 1, Length, The length of InputVar is %length%. - Unknown - %Y%, 2
}
Sleep 500
}
Return

;These are the written numbers I should expect to be paired up with %Y%.
;One - 1
;Two - 2-19
;Three - 20-22
4

1 回答 1

0

我编辑了原始帖子。检查第一行。

(已解决!在将 % in %length% 与 2 的值进行比较时,我需要去掉它。)

编辑:而且,BGM,你知道你必须等待一天才能将自己的答案标记为正确答案吗?我明天不回来了:)

于 2013-08-12T21:18:19.910 回答