找回密码
 加入
搜索
查看: 1950|回复: 9

[AU3基础] ini文件如何依据给定的关键字与值反向获取字段名呢?[已解决]

[复制链接]
发表于 2017-3-3 16:34:15 | 显示全部楼层 |阅读模式
本帖最后由 仙乃日 于 2017-3-4 09:49 编辑


例如有ini文件如下:
[350583198410065431]
日期=20170302
标本号=01
[350583198410065432]
日期=20170302
标本号=02
[350583198410065433]
日期=20170302
标本号=03
[350583198410065434]
日期=20170302
标本号=04
如果事先指定
日期=20170302
标本号=03
这2条,怎么反向获取其所属的字段名呢?
发表于 2017-3-3 17:02:09 | 显示全部楼层
只会正向找,去每个 字段名 下面 查找有无符合的字段。
发表于 2017-3-3 17:40:34 | 显示全部楼层
貌似只能正向遍历一遍?
发表于 2017-3-3 17:53:35 | 显示全部楼层
不会正则的话
IniReadSectionNames
IniReadSection
一个个比对了.
发表于 2017-3-3 22:00:42 | 显示全部楼层
先全部读取到数组然后 在循环找一下了
 楼主| 发表于 2017-3-4 09:51:01 | 显示全部楼层
本相想用正则试试,但是自己测试不理想。用来老办法啦
Local $Ts = TimerInit()
Local $ini_file=@ScriptDir & '\生化2.ini'
Local $secName=IniReadSectionNames($ini_file)
If Not @error Then
                For $i = 1 To $secName[0]
                        Local $akey_V=IniRead($ini_file,$secName[$i],"日期","A")
                        Local $bkey_V=IniRead($ini_file,$secName[$i],"标本号","A")
                        If $akey_V="20170302" And $bkey_V="04" Then
                        MsgBox(0, TimerDiff($Ts), "Section: " & $secName[$i])
                        ExitLoop
                        EndIf
                Next
EndIf
发表于 2017-3-4 16:49:25 | 显示全部楼层
回复 1# 仙乃日


    我X,此仙乃日是否彼仙乃日???
 楼主| 发表于 2017-3-4 17:03:26 | 显示全部楼层
回复  仙乃日


    我X,此仙乃日是否彼仙乃日???
邪恶海盗 发表于 2017-3-4 16:49


啥意思??
发表于 2017-3-4 18:11:13 | 显示全部楼层
回复 8# 仙乃日
学习了
发表于 2017-3-9 23:16:29 | 显示全部楼层
本帖最后由 zghwelcome 于 2017-3-9 23:17 编辑
Local $ini_file=@ScriptDir & '\生化2.ini'
$open = FileOpen($ini_file,FileGetEncoding($ini_file))
$read = FileRead($open)
FileClose($open)
Local $secName= ''
$secName_reg = StringRegExp($read,'\[([^\[\]]*?)\][^\[\]]*?标本号=03[^\[\]]*?日期=20170302',1) 
If Not @error Then 
        $secName = $secName_reg[0]
Else
        $secName_reg = StringRegExp($read,'\[([^\[\]]+?)\][^\[\]]*?日期=20170302[^\[\]]*?标本号=03',1) 
        If Not @error Then $secName = $secName_reg[0]
EndIf
MsgBox(0,0,$secName)
P版能给出更优美的正则
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-3-29 14:32 , Processed in 0.087213 second(s), 23 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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