Delphi ini文件读写

摘要:
注释以分号“;”开头。二、ini文件的操作1.在interface的uses节增加IniFiles2.在var变量定义部分增加一行:inifile:Tinifile;然后,就可以对变量inifile进行创建、打开、读取、写入等操作了。

参考:http://www.cnblogs.com/zhangzhifeng/archive/2011/12/01/2270267.html

一、ini文件的结构

;这是关于 ini 文件的注释
[节点]
关键字=值
...

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

二、ini 文件的操作

1.在interface 的 uses 节增加 IniFiles

2.在var 变量定义部分增加一行:

inifile: Tinifile;

然后,就可以对变量 inifile进行创建、打开、读取、写入等操作了。

3.打开 ini 文件:

inifile:= Tinifile.Create('tmp.ini');
//Create的参数是 ini 文件的路径的字符串

4.读取关键字的值:

a:= inifile.Readstring('节点', '关键字', 缺省值);  //string类型

b:= inifile.Readinteger('节点', '关键字', 缺省值);  //integer类型

c:= inifile.Readbool('节点', '关键字', 缺省值);  //boolean类型

其中 [缺省值] 为该 ini 文件不存在该关键字时返回的缺省值

5.写入 ini 文件:

infile.writestring('节点', '关键字', 变量或字符串值);    //写入 string类型

infile.writestring('节点', '关键字', 变量或整型值);    //写入 integer类型

infile.writestring('节点', '关键字', 变量或True或False);    //写入 Boolean类型

当这个 ini 文件的节点不存在时,上面的语句还会自动创建该 ini 文件

6.删除关键字:

infile.DeleteKey('节点', '关键字');  //删除关键字

inifile.EraseSection('节点');  //删除节点

7.节点操作:

inifile.readsection('节点', TStrings变量);  //可将指定节点的所有关键字名读取至一个字符串列表变量中

inifile.readsections(TStrings变量);  //可将 ini 文件中所有节点读取至一个字符串列表变量中去。

inifile.readsectionvalues('节点', TStrings变量);  //可将 ini 文件中指定节点的所有行(包括关键字、 = 、 值)读取至一个字符串变量中去

8.释放:  

inifile.free;

三、例子

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, IniFiles, StdCtrls;

type
  TForm1 = class(TForm)
    Button1: TButton;
    Button2: TButton;
    procedure FormCreate(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure FormDestroy(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
    Inif: TIniFile;
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
begin
  Inif:= TIniFile.Create(ExtractFilePath(Paramstr(0))+'T.ini');
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  Inif.WriteString('T','t1','info');  //修改
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
  Inif.DeleteKey('T','t2');   //删除
end;

procedure TForm1.FormDestroy(Sender: TObject);
begin
  Inif.Free;
end;

end.

免责声明:文章转载自《Delphi ini文件读写》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇解决博易博客后台文章管理页面无法显示分页的问题i686和x86_64的区别下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Delphi中initialization和finalization

Delphi中initialization和finalization 注:本文主要是讨论delphi程序启动时和退出时的执行顺序,期间有些知识来源于Delphi帮助,有些来自《Delphi7程序设计教程》(这本书只告诉我有initialization 和 finalization 这两个关键字,但是没讲明白)(唉,现在的书只讨论框框架架,不讨论细节,写...

Delphi NativeXML 乱码的问题

我遇到 NativeXML 在它的一个节点的属性上面写入属性,但是当读出的值中包含汉字的时候出现了乱码。检查代码如下 NativeXml := TNativeXml.Create; try       NativeXml.EncodingString := 'GB2312';// 'UTF-8';        NativeXml.Utf8Convert...

delphi ehLib 安装包下载及安装方法

1.下载安装包,这里提供一个百度云盘共享链接,D7-XE8都有:https://pan.baidu.com/s/1DTlxok4RiSmDokuabnGvQw2.添加环境变量,菜单"Tools"->"Options"->左侧"Environment Options"->"delphi Options"->"Library"->...

Delphi初浅入门笔记之一 :ObjectPascal基础

因为公司的需要,花了三天学习了一些Delphi的基本知识。但是由于个人原因,快要离职了。怕以后会忘记,将那三天的学习成果记录下来。 Delphi语法基础: Delphi是一种完全面向对象的开发平台(始终不理解什么叫面向对象的开发平台和面向对象的关系),它以面向对象的程序设计语言Object Pascal作为其程序设计语言。 Pascal语言是一种结构化的程...

Delphi Delay 延时计数的功能。 下面的方法都是思路,但是没有用在项目上

procedure Tfrm_InstrumentControl.aa;varCurLength: Word;vTimeLength: Word;beginScreen.Cursor := crHourGlass;tryvTimeLength := StrToIntDef(num_GrossAnalyzeTime.Text, 0) * 60;CurLeng...

怎样把图片资源导入Dll,并且取出来? (转)

谈Delphi编程中资源文件的应用                                                                                                                                               陈经韬   (一)初级应用篇:    ...