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()

并对我要记录的所有变量值重复最后一个块。

我的问题是,静态字符串以一种或另一种方式写入指定的文件,但不是包含在 % 符号之间的变量。我阅读了很多 ahk 帮助文件,并认为我正在按照“t”的示例进行操作。然而,我的结果并不是我预期的那样。

我也尝试在第一次写入后关闭文件然后使用

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

但这也无济于事。

有人可以告诉我这里出了什么问题以及如何解决吗?

另外,如果你能回答这个额外的问题,我相信在我解决了手头的问题之后就会出现。

我的文件将类似于:

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

我需要从这个文件中读取并将值分配给它们各自的变量。如何在 ahk 脚本中完成此操作?

感谢您提前回答。

4

1 回答 1

2

用于:=变量赋值时,%不需要符号。

线

 str := %r%

应该

str := r

关于您的第二个问题,如果您需要经常写入和检索值,我建议您使用IniReadIniWrite而不是简单的文本文件。

于 2013-10-29T12:39:02.707 回答