1

我现在正在重新学习 AHK,但遇到了一个我似乎无法解决的问题。

在我的表单上,我有一个文本框,默认设置为:0000

当我点击“开始”按钮时,我需要在循环的每次迭代中为此添加 1..

即:0001、0002、0003、0004 等。

我已经尝试搜索谷歌以查看是否有答案,但无济于事。到目前为止,我所拥有的一切都删除了前面的 0。

guiControlGet, txtLst,, last

tot := %txtLst%+1

我也试过: tot := 1+%txtLst%和类似的东西:tot := 0001 + %txtLst%都无济于事。

欢迎提出任何建议。我会尝试任何东西真的。

4

2 回答 2

1

您将 0000 视为整数。没有这样的整数0001
您需要进行浮点加法。
这是一个使用计时器的测试示例:

number := 0000

SetTimer, Add, 1000

Add:
number += 0.0001
StringTrimLeft, temp, number, 2
StringTrimRight, OutputVar, temp, 2 
traytip,, %OutputVar%
Return

number += 0.0001将产生0.000100第一次定时器调用Add
StringTrimLeft并可StringTrimRight用于删除第一个和最后两个字符。

如果出于某种原因您始终希望前面三个零:

number := 0000

SetTimer, Add, 1000

Add:
number += 1
OutputVar := 000 number
traytip,, %OutputVar%
Return

手动参考:
SetTimer
+=
StringTimLeft
StringTrimRight

于 2012-08-15T17:32:20.340 回答
0

你试过这个...

ProcessCounter := 1
Processed = % Edit Point . SubStr("0000"ProcessCounter, -3)
msgbox, %Processed%
于 2012-08-16T08:54:51.377 回答