找回密码
 加入
搜索
查看: 2241|回复: 5

[AU3基础] 调用ini配置的问题?

  [复制链接]
发表于 2011-5-16 12:09:09 | 显示全部楼层 |阅读模式
$i = '卡号:003658,'
$i = StringRegExp($i, '卡号:(\d+),', 3)
MsgBox(0, 0, $a[0])
上面这个不能做到我的要求,我水平也菜。
要求读取配置文件的卡号然后去读取log.txt中有003658或者003654,匹配就执行程序。
ini文件如下
[配置]
卡号=003659;003657;003654;003653;003650
所以请教大家应该怎么写呢?
发表于 2011-5-16 20:51:06 | 显示全部楼层
$ini=@ScriptDir&"\ini.ini"                 ;定义ini文件路径
$var=IniRead($ini,"配置","卡号","")                 ;读取卡号的值
$array=StringSplit($var,";")               ;通过分号分割$var
$log=@ScriptDir&"\log.txt"                 ;定义log.txt路径
$open=FileOpen($log)                       ;打开log.txt
$data=FileRead($open)                      ;读取log.txt文件内容,实际上不用fileopen获取句柄,直接读取也可,俺习惯使然
FileClose($open)                           ;关闭log.txt文件
For $i=1 To $array[0]                      ;循环判断log.txt中是否包含ini文件定义的卡号
        $chk=StringInStr($data,$array[$i])     ;在$date中查找是否存在卡号字符串
        If $chk<>0 Then ExitLoop               ;如有,则跳出for...next循环,执行下面的程序
        If $i=$array[0] Then Exit              ;最后一次循环还是无发现,则退出程序
Next
发表于 2011-5-16 23:41:56 | 显示全部楼层
1、StringInStr ( "字符串", "子字符串" [, 区分大小写 [, 出现次序 [, 开始 [, 数量]]]] )  
2、OR结构
 楼主| 发表于 2011-5-17 15:26:55 | 显示全部楼层
谢谢了,回头试试。楼上这位看得不太懂,不过也多谢你。
发表于 2011-5-19 22:01:14 | 显示全部楼层
本帖最后由 love5173 于 2011-5-19 22:03 编辑

回复 4# lotsunhim
我也比较菜,我只是认为根本不需要用正则,只是匹配有没有指定字符串,根本没有模糊匹配的意思,所以用
StringInStr($txt,"003654") or StringInStr($txt,"003658")
就可以了
或者用正则的
StringRegExp($txt,'003654|003658',1)
就可以了,因为我比较懒,所以不想给你写完整代码
发表于 2011-5-20 12:45:58 | 显示全部楼层
回复 6# love5173


确实不用正则也是可以的,简单易懂就行了。。。
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-11-14 14:50 , Processed in 0.076486 second(s), 23 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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