读取和修改非标准ini文件中的值(已解决)
本帖最后由 alomoi 于 2011-11-29 19:22 编辑CashRegisterCode = 9999 && 设备编号
CDKey = 12345-12345-12345-12345-12345 && 用户产品授权号
如上面所示,这个INI文件中包含了大量空格...IniRead&IniWrite 米办法正确识别其中的内容。
删掉空格的话另一个程序又会不认..(撞头
可是咱需要通过autoit直接修改INI中"9999"和"12345-12345-12345-12345-12345"部分的内容TwT
求前辈们指导m(_ _)m 当然不是空格的问题,而是因为文件的编码为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 & '"')
2
当然不是空格的问题,而是因为文件的编码为UTF-8,内置函数不支持。可以使用 _Ini
afan 发表于 2011-11-18 12:28 http://www.autoitx.com/images/common/back.gif
m(_ _)m,感谢前辈指点。
用这个函数之后确实可以读到内容了,可是它把后面的一大串空格和字符都一起读了出来TwT
求助有米有办法只读取和修改"9999","12345-12345-12345-12345-12345"部分...m(_ _)m 这一用正则啊!StringRegExpReplace() LS正解想要读取很轻松去掉空格不是梦 TwT...问题是正则的帮助咱看两天,完全搞不懂...
哪位前辈方便的话能不能帮忙写一下,咱也好当作示例深入学习...m(_ _)m 很到很奇怪,即使不会正则,用字符串替换函数不是一样可以做到这工作吗?
楼主不要像某些人一样,只会伸手哦! #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, 128)
$Val = _IniRead('ID.ini', 'ID', 'CDKey', '')
$aVal = StringRegExp($Val, '(\H+)(\h*&&.+)', 3)
If @Error Then Exit
_IniWrite('ID.ini', 'ID', 'CDKey', $NewVal2 & $aVal, 128)
afan 发表于 2011-11-19 18:46 http://www.autoitx.com/images/common/back.gif
m(_ _)m感谢前辈指点。
很到很奇怪,即使不会正则,用字符串替换函数不是一样可以做到这工作吗?
楼主不要像某些人一样,只会伸手 ...
user3000 发表于 2011-11-19 18:15 http://www.autoitx.com/images/common/back.gif
0 0,字符串替换函数是个啥?
帮助文件里搜不到...
页:
[1]