0

私は非常に単純な間違いを犯していると確信していますが、今日は金髪の日を過ごしているに違いありません. 私はそれを把握することはできません。

これが私の状況です: を使用して、ユーザーから入力のいくつかの値を取得しますInputBox

InputBox, r, what is the value of r ?, Enter Value, , 400, 100, 300, 300, , 10, 1
InputBox, c, what is the value of c ?, Enter Value, , 420, 120, 300, 300, , 10, 3
InputBox, ct, what is the count ?, Enter Value, , 440, 140, 300, 300, , 10, 10

次に、これらの値をファイルに書き込みます。これにより、次回ユーザーが同じホットキー コンボを押したときに、前回使用したのと同じ値を使用するオプションが与えられます。

だから私はこのようなものを使うと思った:

file := FileOpen( "c:\users\me\ahk.txt", "a" )
if !IsObject(file)
{
MsgBox Can't open "%FileName%" for writing.
return
}

str := "r_val="
file.Write(str)
str := %r%
file.write(str)
str := "`r`n
file.write(str)

; ... repeat for all variables

file.Close()

記録したいすべての変数値に対して最後のブロックを繰り返します。

私の問題は、静的文字列が指定されたファイルに何らかの方法で書き込まれていますが、% 記号で囲まれた wariables には書き込まれていないことです。私はahkヘルプファイルをかなり読んで、「t」の例に従っていると思いました。しかし、私の結果は私が期待したものではありません。

また、最初の書き込み後にファイルを閉じてから使用しようとしました

fileappend,
(
%mintmout%
),"c:\users\me\ahk.txt"

しかし、それも役に立ちませんでした。

誰かがここで何が間違っているのか、それを修正する方法を教えてもらえますか?

また、この追加の質問に答えることができれば、当面の問題を解決した後に来ると確信しています.

私のファイルは次のようになります:

r=5
c=7
ct=10
...

このファイルから読み取り、それぞれの変数に値を割り当てる必要があります。ahk スクリプトでこれを達成するにはどうすればよいですか?

事前に回答いただきありがとうございます。

4

1 に答える 1

2

:=変数の代入に使用する場合、%シンボルは必要ありません。

この線

 str := %r%

する必要があります

str := r

2 番目の質問については、値を頻繁に書き込んで取得する必要がある場合は、単純なテキスト ファイルの代わりにIniReadIniWriteを使用することをお勧めします。

于 2013-10-29T12:39:02.707 に答える