学习一下 发表于 2009-11-30 23:03:34

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

本帖最后由 学习一下 于 2009-12-2 21:32 编辑

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

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


问题解决:用6楼提示的方法,非常感谢afan 的热心帮助

saromman 发表于 2009-11-30 23:30:47

你版本多少啊?

学习一下 发表于 2009-11-30 23:40:12

3.2.12.0.1 汉化的

afan 发表于 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 http://www.autoitx.com/images/common/back.gif

原来是这样,有可以替换的办法吗?用自定义函数的话怎么写?愁死了

afan 发表于 2009-12-1 00:40:02

回复 5# 学习一下


    用 _FileReadToArray 试试吧
我试过一下,速度不快,得想怎么写好。。。

afan 发表于 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。如INI文件读取错误或字段不存在将设置 @error=1;字段内容为空将设置 @error=2
; 作者: Afan -- http://www.autoitx.com
;=================================================================start

http://www.autoitx.com/forum.php?mod=viewthread&tid=12319

zske777 发表于 2010-1-5 14:50:06

哦...

Mika 发表于 2016-7-28 14:15:10

学习一下~~~
页: [1]
查看完整版本: 用IniReadSection读.inf文件读取某个字段不完整