找回密码
 加入
搜索
查看: 3648|回复: 17

如何在相同字段名中添加数据

 火.. [复制链接]
发表于 2009-11-26 13:29:48 | 显示全部楼层 |阅读模式
请问标准ini文件中出现多个字段名该如何选择添加数据。

如:
[filename]
1=xxx.exe

[filename]
a=111.exe

而我想在第二字段 a=111.exe 下面添加一行数据。
请问是否有标准的处理函数,还是得通过其他办法写入呢?
多谢!
发表于 2009-11-26 14:10:07 | 显示全部楼层
相同字段名就不标准了,既然不标准就不能按ini的方式操作了
 楼主| 发表于 2009-11-26 14:22:04 | 显示全部楼层
那就比较麻烦了.
txtsetup.sif 就存在多个相同字段名。
麻烦,微软也搞这个~~~
发表于 2009-11-26 14:49:45 | 显示全部楼层
sif <> ini ...
要不贴出文本,大家出主意
发表于 2009-11-26 16:07:04 | 显示全部楼层
那就枚举字段呗,读取关键字的时候按一般文本操作
 楼主| 发表于 2009-11-26 17:59:52 | 显示全部楼层
感谢楼上的朋友出主意.
已经解决了,只是想知道有煤函数直接点而已.
发表于 2009-11-26 18:09:57 | 显示全部楼层
按道理应该可以,先枚举字段名,然后枚举值名,用两个while嵌套在一起用
 楼主| 发表于 2009-11-26 18:20:35 | 显示全部楼层
还是麻烦各位下吧,总感觉我那方法不对劲.

文本内容比较多,精简些贴上来。

[Files]
d1,usetup.exe,system32\smss.exe
d1,ntdll.dll,system32\ntdll.dll

[Files]
d1,_default.pif
d1,12520437.cpx
d1,12520850.cpx
d1,1394.inf
d1,1394bus.sys
d1,1394vdbg.sys
……

我希望在后面字段中添加一行数据。
发表于 2009-11-26 18:25:55 | 显示全部楼层
本帖最后由 netegg 于 2009-11-26 18:27 编辑

还以为什么呢,想多了,想想注册表结构,就好办了
和ini是相通的
而且你这个几乎可以不用ini的函数,直接读取匹配行就行了
 楼主| 发表于 2009-11-26 18:59:30 | 显示全部楼层
能不能举个例子呢?
需要说明的是,我无法确定字段中最后一行数据.
直接读取匹配行应该不行,不知我是否理解错你的意思.
发表于 2009-11-26 19:15:33 | 显示全部楼层
_FileReadToArray
_ArraySearch
_ArrayInsert
_ArrayToString
发表于 2009-11-26 20:05:06 | 显示全部楼层
本帖最后由 netegg 于 2009-11-26 20:15 编辑

追加的话直接用_arrayadd()就行了
然后在全部写回文件,都不麻烦,何必非和文本较劲
如果非要直接操作文本,把字段想成子键,关键字想成项,关键字的值想成值,就行了,一样的
再说ini文件本来就是往注册表转值用的,全名英文忘了,应该是初始化
枚举行数,_filecountlines
或者用个循环,错误处理退出
$i = 0
while 1
$i += 1  
      fileread("*.ini", $i)
  if @error then
     exitloop
  else
      .....
endif
wend
msgbox('','',$i-1)
 楼主| 发表于 2009-11-26 20:46:41 | 显示全部楼层
多谢多谢,就是想找最小工作和最小代码量完成.
 楼主| 发表于 2009-11-26 20:57:46 | 显示全部楼层
另外我对注册表函数比较感兴趣,麻烦楼上朋友举个例子好吗
具体用什么函数可实现呢,多谢!
发表于 2009-11-26 21:01:17 | 显示全部楼层
回复 14# sky808

什么意思
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-9-22 13:37 , Processed in 0.080780 second(s), 23 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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