怎么读取ini中所有的键名和键值??具体问题进来看看!!(20分)

  • 主题发起人 主题发起人 淡淡的笑
  • 开始时间 开始时间

淡淡的笑

Unregistered / Unconfirmed
GUEST, unregistred user!
怎么读取ini中所有的键名和键值??
比如有一个INI文件为
[Set]
zz=1
as=99
dq=989
... //此为任意键名和键值
有什么方法能全部读取所有在INI中存在的键名和键值??
 
我刚学会!
用TINIFile,其它的本论坛上有!
 
Tinifile我也会呀。inifile.readstring('set','z1',''),,象这样的只能
读取所知道的那个'Z1'段,而我要的是那些个末知的段。。
 
将它Load进TStrings,
然后 for i:=0 to strings.count-1do
string 自己分析吧!
 
我想你得自己编程读取文件。
我曾经为实现这个功能,用VC6编写了一套类用于类似于Profile(INI)文件的处理。
 
ini file 的 section 是自己定义的,
要全部读出来,只能一个一个了。
 
如果不知道都有哪些键,说明不是你自己做的,那你一下字都读出也没什么用
 
简单:
ini.ReadSections
 
ReadSection只能读出指定的Section下的所有key值到一个Strings中,‘淡淡的
笑’的需求是未知的Section,所以我认为应该编一个字符串处理程序:
如:定义一个动态记录数组
如:type Myini=record
Mysection:String;
Mykey:TStrings;
end;
var MyIniArray:array of Myini;

1.首先将INI文件中的所有行读到一个Strings中.
2.启动一个循环,终止于所有行结束
3.判断第n行第一个字符是否为‘[’
4.如是则表明这行是Section,将其读到MyIniArray[n]中的MySection字符串中.
5.然后以这个Section为条件用ReadSection读出该Section下的所有Key到
MyIniArray[n]的Mykey中。
6.循环往复即可达到需求。
当然我没有测试过,语法错误,考虑不周请原谅,但我认为这个方法可行!
 
好了,有办法了,cakk 的提示,原来没看过所有的方法,
ReadSections 读入所有的 Section 名字,然后用一个循环
依次读出每个 section, 但 怎么知道数据的类型呢?
 
都当作字符串读取贝!
 
是否必要时还用破解UNIX的字典
 
>>是否必要时还用破解UNIX的字典
这干嘛那?
 
delphi的帮助,是读一个段中的键名的。
Reads all the key names from a specified section of an INI file into a string list.
procedure ReadSection (const Section: string;
Strings: TStrings);
override;
Description
Call ReadSection to retrieve the names of all keys within a specified section of an INI file into a string list object.
Section identifies the section from which to retrieve a list of key names. Strings specifies the string object to hold the retrieved names. Strings can point to a TString object such as a string list, or to a component property, such as Items for a TListBox component, that is a TString object itself.
至于读键值,用个FOR循环吧。
 
不用for循环,还有类似方法的:
GetKeyNames
GetValueNames
 
接受答案了.
 
后退
顶部