ahk 发表于 2011-1-14 21:58:21

[已解决]key是变量时,IniRead函数怎么写?

本帖最后由 ahk 于 2011-1-15 12:05 编辑

IniRead命令的语法是这样的:IniRead ( "filename", "section", "key", "default" )
但假如key是一个变量,应该怎么写呢?
如果——IniRead ( "filename", "section", "$key", "default" )
那么$key本身被视为常量
如果——IniRead ( "filename", "section", $key, "default" )
则提示出错。
总之,""内如果带有$,那么$本身是被当成字符的,而如果不带"",则提示出错。很是头疼!

gzh888666 发表于 2011-1-15 02:37:43

不知道这样行不行?
$2=IniRead( "1.ini", "1", "1","")
MsgBox(0,"","$"&$2)

landays 发表于 2011-1-15 03:10:59

IniRead ( "文件名", "字段名",$i, "默认值" )
这样会出错?

netegg 发表于 2011-1-15 03:16:38

eval('$' & i)试试看

ahk 发表于 2011-1-15 06:27:52

回复 2# gzh888666
不是这个意思
可能我没有说清楚,刚刚重新编辑了帖子。。。

ahk 发表于 2011-1-15 06:28:13

回复 3# landays
是的,就是这个意思

ahk 发表于 2011-1-15 06:31:27

回复 4# netegg
不是这个意思
可能我没有说清楚,刚刚重新编辑了帖子。。

都市浪子666 发表于 2011-1-15 10:04:27



$key="01"
$ver=IniRead ( "filename", "section", $key, "default" )
MsgBox(0,0,$ver)

我这样测试没出错哦

飘云 发表于 2011-1-15 10:08:58

同上,没出错,可能引起错误的原因不在这个读取函数上,LZ把完整源码贴出我们才能帮你找原因,会不会是因为变量是数组?

ahk 发表于 2011-1-15 11:25:21

回复 9# 飘云
高手!确实是数组!
我之前是玩autohotkey的,用数组就没问题。
我是要从ini文件里读取例如data1, data2, data3....等的值,
大概这样可以吧——IniRead ( "filename", "section", $key, "default" )我去试试

ahk 发表于 2011-1-15 11:56:30

For $i = 1 To 80 Step 1
        $key = "data" & $i
        $ver=IniRead ( "result.ini", "state", $key, "default" )
        MsgBox(0, $key, $ver, 1)
Next像这样,成功了!菜鸟谢过楼上各位!
页: [1]
查看完整版本: [已解决]key是变量时,IniRead函数怎么写?