找回密码
 加入
搜索
查看: 1470|回复: 8

一个INI读取问题

[复制链接]
发表于 2009-3-22 01:44:22 | 显示全部楼层 |阅读模式
如下图:
用什么方法可以分别读出[config]和[com]里的数据,得出的结果如下,
msgbox(0, $var, $vo)
$var 是取[config]里的1=的字符
$vo 是取[com]里的1=的字符
用到 for ..to .. 里,
msgbox里 $var 一值都是[config]里1=的字符 ,
                 $vo 一值都是[com]里面1=的字符,
当[com]里没有1= xx 以后,$var 就是2=的字符,$vo 就是2=的字符。

虽然有点乱,但希望有人能看明白。

[ 本帖最后由 gogo023 于 2009-3-26 00:43 编辑 ]

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?加入

×
发表于 2009-3-22 21:03:21 | 显示全部楼层
IniReadSection ( "文件名", "字段名" )if $vo[$s][0]=1 then 取CONFIG里的第一个。
 楼主| 发表于 2009-3-23 05:17:22 | 显示全部楼层
原帖由 ddx13 于 2009-3-22 21:03 发表
IniReadSection ( "文件名", "字段名" )if $vo[$s][0]=1 then 取CONFIG里的第一个。


不太明白你的意思,发段代码来看看。
发表于 2009-3-23 08:02:37 | 显示全部楼层
如果1楼的看不懂 那就请仔细看 IniReadSection 的帮助咯
 楼主| 发表于 2009-3-24 00:49:39 | 显示全部楼层
不知道是我没有说明白,还是我太笨。
我要的效果如图。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?加入

×
发表于 2009-3-24 06:55:56 | 显示全部楼层
我晕。。。刚刚才看到论坛上面有这么一个例子。。。现在忘记跑哪去了。。。。
楼主去找找吧。。。
 楼主| 发表于 2009-3-25 07:18:44 | 显示全部楼层
谁能给处明确点的方法或一小段代码。
发表于 2009-3-25 16:13:34 | 显示全部楼层
;~ 程序中指明了要搜索的字段,如果字段名换了,程序可能就不能得到预期的结果。本人属菜鸟,有高手解决的话也告诉我一声。
Global $iniSectionName,$iniSectionValue,$var,$path
$path = "your inifile path"
getiniSectionName()
;~ 获取ini文件字段名
Func getiniSectionName()
$iniSectionName = IniReadSectionNames($path)
Local $iniresult = "",$iniresultcom = ""
if @error Then
        MsgBox(1,"error","don't open inifile.")
Else
;~         For $i = 1 to $iniSectionName[0] Step 1
;~                 MsgBox(1,"Sectionname",$iniSectionName[$i])
;~         Next
        getiniSectionKey($iniSectionName[1])
EndIf
EndFunc

;~ 获取ini文件具体键值
Func getiniSectionKey($sectionname)
        Local $ReturnValue,$titalValue
        $iniSectionValue = IniReadSection($path,$sectionname)
If @error Then
    MsgBox(4096, "", "发生错误,可能目标文件并非标准的INI文件.")
Else
    For $var = 1 To $iniSectionValue[0][0]
;~         MsgBox(4096, "", "关键字:" & $iniSectionValue[$var][0] & @CRLF & "数值:" & $iniSectionValue[$var][1])
                $sectionname = "com";指定要搜索的字段信息。com字段。
                $ReturnValue = $iniSectionValue[$var][0]
                $titalValue = $iniSectionValue[$var][1]
                readinifile($sectionname,$ReturnValue,$titalValue)
    Next
EndIf
EndFunc
;~ 读取ini字段数据
Func readinifile($inivalue,$x,$tital)
        Local $iniFileRead,$z
        $iniFileRead = IniReadSection($path,$inivalue)
        If @error Then
                MsgBox(4096, "", "发生错误,可能目标文件并非标准的INI文件.")
        Else
                for $z =1 to $iniFileRead[0][0]
                        if $iniFileRead[$z][0] == $x Then
                                MsgBox(4096, $tital, "数值:" & $iniFileRead[$z][1])
                        EndIf
                Next
        EndIf
EndFunc
 楼主| 发表于 2009-3-26 00:43:07 | 显示全部楼层
我已经落伍了哟。
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-5-19 15:46 , Processed in 0.076330 second(s), 21 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表