1

私は今 AHK を再学習していますが、理解できない問題が発生しました。

私のフォームには、デフォルトで次のように設定されているテキストボックスがあります:0000

「開始」ボタンを押すと、ループの繰り返しごとにこれに 1 を追加する必要があります..

IE: 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.00010.000100タイマーが最初に呼び出すときに生成されますAdd
StringTrimLeft最初とStringTrimRight最後の 2 文字を削除するために使用できます。

何らかの理由で常に 3 つのゼロを先頭に置きたい場合:

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 に答える