救命啊,关于TINIFile如何读出4K以上的Section Value 程序大致如下,做了一个过程,声明了一个字符串局部变量,过程要求从INI文件中要取某个Section的Value,但出现问题,只能读出2047个字符(value大概有4K左右),后来我把string改成了AnsiString, 而且也把编译器开关{$H+}打开了,但就是读不出. delphi的帮助文档中写了AnsiSTRING可以支持2^31个字符,为什么读不出?快!帮忙!救命啊,在线等 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 上午看到这个问题,正要回答,结果公司的路由器坏了。VCL内部定义的缓冲区大小为0..2047,所以你不能完全读出Value。可以用一个API函数直接读取:GetPrivateProfileString(PChar(Section), PChar(KeyName), PChar(Default), Buffer, SizeOf(Buffer), PChar(FileName));使用时,将缓冲区Buffer设置足够大就可以了。————————————————————————————————————宠辱不惊,看庭前花开花落,去留无意;毁誉由人,望天上云卷云舒,聚散任风。———————————————————————————————————— to lxpbuaa(桂枝香在故国晚秋):我后来也发现了这个问题,但是我又发现GetPrivateProfileString将Buffer限制在了4095(我手工测试的,如果你将Buffer: array [0..8191] of char这样设置,它也只读出4095个字节出来), 我的文件有4K多,还有一部分读不出来啊!!急!!还有没有别的办法?? 来听课是否可以考虑不用INI文件呢? alenwelkin(助人~~~为乐):那你就用TFileStream来读。或者保存这个值时,分为几段,如Value1、Value2……人总是灵活的。—————————————————————————————————宠辱不惊,看庭前花开花落,去留无意;毁誉由人,望天上云卷云舒,聚散任风。————————————————————————————————— 1。把ini文件拆成多个文件,2。用tinydb之类的替代品。 同意: lxpbuaa(桂枝香在故国晚秋) 不一定非要去从读出这里找一个实现,只要解决读出来即可"人总是灵活的。" <-----赞同 用流保存不就行了,这么大的数据量何必用ini呢 问题已经解决了,GetPrivateProfileString没有问题,数据正好是4K(去掉Section Value)以后,调试的时候用鼠标看值没有全显示出来,用Evaluate算值的时候又算出是4K,我还以为是限制住了。搞得大家晕,不好意思。其实如果用INI相关的API解决不了问题我就打算自己写个类去读文件了。但主要是因为程序大部分已经写好了,待读的INI文件太大,读到一半的时候出了问题,要改程序又比较麻烦,无耐过来救,多谢各位了。 to bluenightsky() :不是我要用INI保存,是别人要用,是一个程控交换机的数据文件。 Python 转 delphi create_string_buffer Delphi飞信控件开源了 delphi操作CMD 问几个基本问题.各位一定帮我啊 为什么不能清空Edit1.Text 我是新来的,问几个问题,请多多关照!!! 用datasource链接ODBC(Access 2000)数据库,怎样跳过每次运行程序时的登录窗口?? 把几个ole控件中的内容一起放到word中显示应该怎么做 一个数据库问题请高手帮(急要) 能否实现dbgrid中的某一范围内的数据统一显示为‘**’ 请问TNMNNTP组件到哪里找呢? 莫名其妙
VCL内部定义的缓冲区大小为0..2047,所以你不能完全读出Value。可以用一个API函数直接读取:GetPrivateProfileString(PChar(Section),
PChar(KeyName), PChar(Default), Buffer, SizeOf(Buffer), PChar(FileName));使用时,将缓冲区Buffer设置足够大就可以了。————————————————————————————————————
宠辱不惊,看庭前花开花落,去留无意;毁誉由人,望天上云卷云舒,聚散任风。
————————————————————————————————————
是否可以考虑不用INI文件呢?
那你就用TFileStream来读。或者保存这个值时,分为几段,如Value1、Value2……
人总是灵活的。—————————————————————————————————
宠辱不惊,看庭前花开花落,去留无意;毁誉由人,望天上云卷云舒,聚散任风。
—————————————————————————————————
2。用tinydb之类的替代品。