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

[系统综合] 读取和修改非标准ini文件中的值(已解决)

  [复制链接]
发表于 2011-11-18 11:52:54 | 显示全部楼层 |阅读模式
本帖最后由 alomoi 于 2011-11-29 19:22 编辑
[ID]                                                                            
CashRegisterCode     = 9999                                                         && 设备编号
CDKey                = 12345-12345-12345-12345-12345                                && 用户产品授权号
如上面所示,这个INI文件中包含了大量空格...IniRead&IniWrite 米办法正确识别其中的内容。
删掉空格的话另一个程序又会不认..(撞头
可是咱需要通过autoit直接修改INI中"9999"和"12345-12345-12345-12345-12345"部分的内容TwT

求前辈们指导m(_ _)m

本帖子中包含更多资源

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

×
发表于 2011-11-18 12:28:02 | 显示全部楼层
当然不是空格的问题,而是因为文件的编码为UTF-8,内置函数不支持。
可以使用 _Ini http://www.autoitx.com/forum.php?mod=viewthread&tid=12319
#include "_Ini.au3"
Local $Val = _IniRead('ID.ini', 'ID', 'CashRegisterCode', '')
Msgbox(0, 0, '"' & $Val & '"')
_IniWrite('ID.ini', 'ID', 'CashRegisterCode', '修改值', 128)
$Val = _IniRead('ID.ini', 'ID', 'CashRegisterCode', '')
Msgbox(0, 0, '"' & $Val & '"')
 楼主| 发表于 2011-11-18 16:08:16 | 显示全部楼层

2

当然不是空格的问题,而是因为文件的编码为UTF-8,内置函数不支持。
可以使用 _Ini
afan 发表于 2011-11-18 12:28


m(_ _)m,感谢前辈指点。
用这个函数之后确实可以读到内容了,可是它把后面的一大串空格和字符都一起读了出来TwT

求助有米有办法只读取和修改"9999","12345-12345-12345-12345-12345"部分...m(_ _)m
发表于 2011-11-18 16:35:16 | 显示全部楼层
这一用正则啊!StringRegExpReplace()
发表于 2011-11-19 10:49:54 | 显示全部楼层
LS正解  想要读取很轻松  去掉空格不是梦
 楼主| 发表于 2011-11-19 17:55:46 | 显示全部楼层
TwT...问题是正则的帮助咱看两天,完全搞不懂...
哪位前辈方便的话能不能帮忙写一下,咱也好当作示例深入学习...m(_ _)m
发表于 2011-11-19 18:15:43 | 显示全部楼层
很到很奇怪,即使不会正则,用字符串替换函数不是一样可以做到这工作吗?
楼主不要像某些人一样,只会伸手哦!
发表于 2011-11-19 18:46:11 | 显示全部楼层
#include "_Ini.au3"
Local $NewVal1 = '0000'        ;指定CashRegisterCode新值
Local $NewVal2 = '88888-88888-88888-88888-88888'        ;指定CDKey新值

Local $Val = _IniRead('ID.ini', 'ID', 'CashRegisterCode', '')
Local $aVal = StringRegExp($Val, '(\H+)(\h*&&.+)', 3)
If @Error Then Exit
_IniWrite('ID.ini', 'ID', 'CashRegisterCode', $NewVal1 & $aVal[1], 128)

$Val = _IniRead('ID.ini', 'ID', 'CDKey', '')
$aVal = StringRegExp($Val, '(\H+)(\h*&&.+)', 3)
If @Error Then Exit
_IniWrite('ID.ini', 'ID', 'CDKey', $NewVal2 & $aVal[1], 128)

评分

参与人数 2金钱 +20 收起 理由
alomoi + 10 感谢指点m(_ _)m
ganyuansi + 10 初来,看见以后有用的代码给1分

查看全部评分

 楼主| 发表于 2011-11-29 19:21:03 | 显示全部楼层
afan 发表于 2011-11-19 18:46

m(_ _)m感谢前辈指点。

很到很奇怪,即使不会正则,用字符串替换函数不是一样可以做到这工作吗?
楼主不要像某些人一样,只会伸手 ...
user3000 发表于 2011-11-19 18:15

0 0,字符串替换函数是个啥?
帮助文件里搜不到...
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-9-28 15:22 , Processed in 0.110494 second(s), 28 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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