分享

Delphi INI 文件读写 所有sections 单一Section 下面所有Value 的名称列表

 quasiceo 2012-12-29
void __fastcall ReadSections(Classes::TStrings* Strings);
  //得到ini 所有sections 的TStrings列表

void __fastcall  ReadSectionValues(const AnsiString Section, Classes::TStrings* Strings);

//得到单一Section 下面所有Value 的名称列表


Delphi INI 文件读写

Posted on 2011-12-01 11:21 ╰★张志峰★╮ 阅读(460) 评论(0) 编辑 收藏

(1) INI文件的结构:
;这是关于INI文件的注释部分
[节点]
关键字=值
...
INI文件允许有多个节点,每个节点又允许有多个关键字, “=”后面是该关键字的值(类型有三种:字符串、整型数值和布尔值。其中字符串存贮在INI文件中时没有引号,布尔真值用1表示,布尔假值用0表示)。注释以分号“;”开头。

(2) INI文件的操作
1、 在Interface的Uses节增加IniFiles;
2、 在Var变量定义部分增加一行:inifile:Tinifile;然后,就可以对变量myinifile进行创建、打开、读取、写入等操作了。
3、 打开INI文件:inifile:=Tinifile.create('tmp.ini');
4、 读取关键字的值:
a:=inifile.Readstring('节点','关键字',缺省值);// string类型
b:=inifile.Readinteger('节点','关键字',缺省值);// integer类型
c:=inifile.Readbool('节点','关键字',缺省值);// boolean类型
其中[缺省值]为该INI文件不存在该关键字时返回的缺省值。
5、 写入INI文件:
inifile.writestring('节点','关键字',变量或字符串值);
inifile.writeinteger('节点','关键字',变量或整型值);
inifile.writebool('节点','关键字',变量或True或False);
当这个INI文件的节点不存在时,上面的语句还会自动创建该INI文件。
6、 删除关键字:
inifile.DeleteKey('节点','关键字');//关键字删除
inifile.EraseSection('节点');// 节点删除
7、 节点操作:
inifile.readsection('节点',TStrings变量);//可将指定小节中的所有关键字名读取至一个字符串列表变量中;
inifile.readsections(TStrings变量);//可将INI文件中所有小节名读取至一个字符串列表变量中去。
inifile.readsectionvalues('节点',TStrings变量);//可将INI文件中指定小节的所有行(包括关键字、=、值)读取至一个字符串列表变量中去。
8、 释放:inifile.distory;或inifile.free;

(3) INI文件的操作(API方式)


从.INI文件中获取字符串
  var
  strResult:pchar;
  begin
  GetPrivateProfileString(
  windows?, // []中标题的名字
  NullPort?, // =号前的名字
  NIL?, // 如果没有找到字符串时,返回的默认值
  strResult, //存放取得字符
  100, //取得字符的允许最大长度
  c:\forwin95\win.ini? // 调用的文件名
  );
  edit1.text:=strResult; //显示取得字符串
  从.INI文件中获取整数
  edit1.text:=inttostr(GetPrivateProfileInt(
  intl?, // []中标题的名字
  iCountry?, // =号前的名字
  0,// 如果没有找到整数时,返回的默认值
  c:\forwin95\win.ini? // 调用的文件名
  ));
  向.INI文件写入字符串
  WritePrivateProfileString(
  windows?, // []中标题的名字
  load?, // 要写入“=”号前的字符串
  accca?, //要写入的数据
  c:\forwin95\win.ini? // 调用的文件名
  );
  向.INI文件写入整数
  WritePrivateProfileSection(
  windows?, // []中标题的名字
  read=100?, // 要写入的数据
  c:\forwin95\win.ini? // 调用的文件名
  );



    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多