找回密码
 加入
搜索
查看: 2356|回复: 8

用IniReadSection读.inf文件读取某个字段不完整

  [复制链接]
发表于 2009-11-30 23:03:34 | 显示全部楼层 |阅读模式
本帖最后由 学习一下 于 2009-12-2 21:32 编辑

用IniReadSection读.inf文件某个字段中的数据,行数少的没问题,但行数多的就不行了。比如一个字段中有6000行,就能读出500多行;有700多行的,只能读出400多行。读出多少好像还和字符多少有关系。删除一些字符,就能多读几行。不知怎样解决?

$Val = IniReadSection(@ScriptDir & "\nv4_18208.inf", "NVIDIA.Mfg")


问题解决:用6楼提示的方法,非常感谢afan 的热心帮助
发表于 2009-11-30 23:30:47 | 显示全部楼层
你版本多少啊?
 楼主| 发表于 2009-11-30 23:40:12 | 显示全部楼层
3.2.12.0.1 汉化的
发表于 2009-11-30 23:59:01 | 显示全部楼层
本帖最后由 afan 于 2009-12-1 00:26 编辑

老早发现这个问题
只有在字段中的前 32767 字符可以被正常返回,用于 Win9x 兼容
 楼主| 发表于 2009-12-1 00:36:33 | 显示全部楼层
本帖最后由 学习一下 于 2009-12-1 00:40 编辑
老早发现这个问题
只有在字段中的前 32767 字符可以被正常返回,用于 Win9x 兼容
afan 发表于 2009-11-30 23:59


原来是这样,有可以替换的办法吗?用自定义函数的话怎么写?愁死了
发表于 2009-12-1 00:40:02 | 显示全部楼层
回复 5# 学习一下


    用 _FileReadToArray 试试吧
我试过一下,速度不快,得想怎么写好。。。
发表于 2009-12-31 13:42:40 | 显示全部楼层
本帖最后由 afan 于 2010-1-13 19:01 编辑

回复 5# 学习一下

前两天抽空写了个,测试读入5万条仅需0.7秒~

;=====================================================================
; 说明: 原IniReadSection函数只有在字段中的前32767字符可以被正常返回,本函数无此限制(初衷在于此)。
;    原IniReadSection函数遇到某些文件特殊的回车及换行组合会停止继续而返回,本函数会完整读出。
;    其它与原IniReadSection函数不同:不返回无关键字的值;既无关键字又无值只有等号的也不被返回。
; 语法: _IniReadSection('ini文件路径', '字段名'[, '打开模式'])
; 参数: 可选参数'打开模式',某些ini文件由于编码问题直接FileRead读不到,加个打开参数(如32)就OK了。
; 返回值:成功: 返回一个二维数组,其中:元素[0][0]=大小、元素[n][0]=关键字、元素[n][1]=对应的数值。
;    失败: 返回0。如INI文件读取错误或字段不存在将设置 @error=1;字段内容为空将设置 @error=2
; 作者: Afan -- http://www.autoitx.com
;=================================================================start

http://www.autoitx.com/forum.php?mod=viewthread&tid=12319
发表于 2010-1-5 14:50:06 | 显示全部楼层
哦...
发表于 2016-7-28 14:15:10 | 显示全部楼层
学习一下~~~
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-11-16 22:50 , Processed in 0.131344 second(s), 19 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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