Delphi
中的
INI
文件编程
---- INI
文件在系统配置及应用程序参数保存与设置方面,具有很重要的作用,所以可视化的编程一族,如
VB
、
VC
、
VFP
、
Delphi
等都提供了读写
INI
文件的方法,其中
Delphi
中操作
INI
文件,最为简洁,这是因为
Delphi3
提供了一个
TInifile
类,使我们可以非常灵活的处理
INI
文件。
一、有必要了解
INI
文件的结构:
;
注释
[
小节名
]
关键字
=
值
...
---- INI
文件允许有多个小节,每个小节又允许有多个关键字,
“=”
后面是该关键字的值。
----
值的类型有三种:字符串、整型数值和布尔值。其中字符串存贮在
INI
文件中时没有引号,布尔真值用
1
表示,布尔假值用
0
表示。
----
注释以分号
“;”
开头。
二、定义
---- 1
、在
Interface
的
Uses
节增加
IniFiles
;
---- 2
、在
Var
变量定义部分增加一行:
myinifile:Tinifile;
----
然后,就可以对变量
myinifile
进行创建、打开、读取、写入等操作了。
三、打开
INI
文件
myinifile:=Tinifile.create('program.ini');
---
上面这一行语句将会为变量
myinifile
与具体的文件
program.ini
建立联系,然后,就可以通过变量
myinifile
,来读写
program.ini
文件中的关键字的值了。
----
值得注意的是,如果括号中的文件名没有指明路径的话,那么这个
Program.ini
文件会存储在
Windows
目录中
,
把
Program.ini
文件存储在应用程序当前目录中的方法是:为其指定完整的路径及文件名。下面的两条语句可以完成这个功能:
Filename:=ExtractFilePath(Paramstr(0))
+'program.ini';
myinifile:=Tinifile.Create(filename);
四、读取关键字的值
---
针对
INI
文件支持的字符串、整型数值、布尔值三种数据类型,
TINIfiles
类提供了三种不同的对象方法来读取
INI
文件中关键字的值。
---
假设已定义变量
vs
、
vi
、
vb
分别为
string
、
integer
、
boolean
类型。
vs:=myinifile.Readstring('
小节名
','
关键字
',
缺省值
);
vi:=myinifile.Readinteger('
小节名
','
关键字
',
缺省值
);
vb:=myinifile.Readbool('
小节名
','
关键字
',
缺省值
);
---
其中缺省值为该
INI
文件不存在该关键字时返回的缺省值。
五、写入
INI
文件
----
同样的,
TInifile
类也提供了三种不同的对象方法,向
INI
文件写入字符串、整型数及布尔类型的关键字。
myinifile.writestring('
小节名
','
关键字
',
变量或字符串值
);
myinifile.writeinteger('
小节名
','
关键字
',
变量或整型数值
);
myinifile.writebool('
小节名
','
关键字
',
变量或
True
或
False);
----
当这个
INI
文件不存在时,上面的语句还会自动创建该
INI
文件。
六、删除关键字
----
除了可用写入方法增加一个关键字,
Tinifile
类还提供了一个删除关键字的对象方法:
myinifile.DeleteKey('
小节名
','
关键字
');
七、小节操作
---
增加一个小节可用写入的方法来完成,删除一个小节可用下面的对象方法:
myinifile.EraseSection('
小节名
');
---
另外
Tinifile
类还提供了三种对象方法来对小节进行操作:
--- myinifile.readsection('
小节名
',TStrings
变量
);
可将指定小节中的所有关键字名读取至一个字符串列表变量中;
--- myinifile.readsections(TStrings
变量
);
可将
INI
文件中所有小节名读取至一个字符串列表变量中去。
---- myinifile.readsectionvalues('
小节名
',TStrings
变量
);
可将
INI
文件中指定小节的所有行(包括关键字、
=
、值)读取至一个字符串列表变量中去。
八、释放
在适当的位置用下面的语句释放
myinifile
:
myinifile.distory;