请问如何分别读取ini中的值??
ini示例:中国="D:\Program Files\OICQ\QQ1.exe","-d","D:\Program Files\OICQ\QQ1.ico"
外国="D:\Program Files\OICQ\QQ8.exe","-f","D:\Program Files\OICQ\QQ9.ico"
内国="D:\Program Files\OICQ\QQ4.exe","-e","D:\Program Files\OICQ\QQ2.ico"
没国="D:\Program Files\OICQ\QQ7.exe","-v","D:\Program Files\OICQ\QQ8.ico"
怎么依次读取所有值?
分别取到如下值:
D:\Program Files\OICQ\QQ1.exe
-d
D:\Program Files\OICQ\QQ1.ico
... ini可以这么写吗? 本帖最后由 502762378 于 2011-5-15 17:05 编辑
$file = "1.ini"
$i = IniReadSection("1.ini","run")
For $3 = 1 To $i
$i_1 = StringSplit($i[$3],'"')
MsgBox(4096,$i_1,$i_1&@LF&$i_1)
Next
$file = "1.ini"
$i = IniReadSection("1.ini","run")
For $3 = 1 To $i
$i_1 = StringSplit($i[ ...
502762378 发表于 2011-5-15 00:40 http://autoitx.com/images/common/back.gif
循环读取所有数据呢,循环套循环? 你这个已经不是正经的ini内容写法了,不如直接用
FileReadLine(),然后split了
或者用_FileReadToArray()也较方便点 回复 4# hongshow
如果就这个字段,其他字符窜的规则和以上相同,这样便可以
如果还有其他字段,循环套循环 ini函数可以读取=后面的,比如"D:\Program Files\OICQ\QQ1.exe","-d","D:\Program Files\OICQ\QQ1.ico",然后就要用字符串函数来处理了,比如split 回复 7# 飘云
不对吧,ini等号后面的应该是一个字符串才对呀,不能分开吧,如果说错了,见谅,不是很熟 本帖最后由 飘云 于 2011-5-16 12:52 编辑
回复 8# netegg
可以的,这个随便做个试验就能看出来,用IniReadSection即可,如果用那个iniread函数,不知道为什么会把首尾的引号给过滤了
回复 4# hongshow
循环读取建议用AdlibRegister函数 回复 9# 飘云
不是说了吗,等号后面是一个字符串
item = "****"
两头的引号是用来表示中间的所有东西是数据 回复 1# hongshow
$file = "a.ini"
$iniread = IniReadSection($file, "run")
For $i = 1 To $iniread
$a = StringRegExp($iniread[$i], '"(.*?)"', 3)
For $s = 1 To UBound($a)
MsgBox(4096, $iniread[$i], $a[$s - 1])
Next
Next 回复 11# netegg
我晕,你到底想说什么,如果是对我那句“不知道为什么会把首尾的引号给过滤了”的说明,那大可不必,因为等号后面的内容如果没有引号也能被函数正确读取,所以问题的关键不在于等号后面是否是一个字符串,再说这个和LZ的问题无关吧? 回复 13# 飘云
那倒是,怪我多想了 $ini=@ScriptDir&"\ini.ini"
$var=IniRead($ini,"run","中国","")
$var=StringReplace($var,'"',"")
$array=StringSplit($var,",")
$line=""
For $i=1 To $array
$line=$line&$array[$i]
If $i<>$array Then $line=$line&@CRLF
Next
MsgBox(64,"输出",$line)只需要取值的话,第4行以下可以无视...
To 蛋蛋:ini的key值如果首尾都是相同引号(成对的单引号或双引号都ok)的话,读取时认为是被引号框起的那部分文字,比如LZ的这个ini文件里面"D:\Program Files\OICQ\QQ1.exe","-d","D:\Program Files\OICQ\QQ1.ico",蓝色部分是函数取到的值,如果非成对的引号,比如"D:\Program Files\OICQ\QQ1.exe","-d","D:\Program Files\OICQ\QQ1.ico',这样的key值会把首位的引号当作一个字符,取到得值为整段。
页:
[1]
2