DELPHI中的INI文件编程

评价:
0
(0用户)

第一部分:INI文件的结构:

;——注释

[小节名]

关键字=

—- INI文件允许有多个小节,每个小节又允许有多个关键字, =后面是该关键字的值。

—- 值的类型有三种:字符串、整型数值和布尔值。其中字符串存贮在INI文件中时没有引号,布尔真值用1表示,布尔假值用0表示。

—- 注释以分号;开头。

第二部分:

定义

—- 1、在InterfaceUses节增加IniFiles

—- 2、在Var变量定义部分增加一行:

fileHandle:Tinifile;

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

下面是一个通过ini文件读取数据库设置的例子,通过这个例子可以使我们更好地理解。

 

procedure DBConfig(var server_name,db_name,user_id,user_pwd:string);

var

  fileHandle:tinifile;

begin

  fileHandle:=TIniFile.Create(GetCurrentDir()+'dbconfig.ini');

  server_name:=fileHandle.ReadString('dbsettings','server_name','ZYF');

  db_name:=fileHandle.ReadString('dbsettings','db_name','Al_Product');

  user_id:=fileHandle.ReadString('dbsettings','user_id','tap');

  user_pwd:=fileHandle.ReadString('dbsettings','user_pwd','tap');

  fileHandle.Destroy;

end;

注意:如果括号中的文件名没有指明路径的话,那么这个dbconfig.ini文件必须存储在Windows目录中,才能读出设定值,否则只有默认值,如果想把dbconfig.ini文件存储在应用程序当前目录中,读取的方法是:为其指定完整的路径及文件名。

    除了应用上面的GetCurrentDir()方法,下面的两条语句也可以完成这个功能:

Filename:=ExtractFilePath(Paramstr(0))+'program.ini';

myinifile:=Tinifile.Create(filename);

 

这里主要用到了下面的方法来读取文件

——fileHandle:=TIniFile.Create(GetCurrentDir()+'dbconfig.ini'); //在当前工作目录下,创建一个INI文件

——filehandle.Readstring('小节名','关键字',缺省值); //读取一个关键字,可以指定缺省值

——fileHandle.Destroy  //操作完毕,结束句柄

第三部分:其他操作

     INI文件

同样的,TIniFile类也提供了三种不同的对象方法,向INI文件写入字符串、整型数及布尔类型的关键字。

fileHandle.WriteString('小节名','关键字',变量或字符串值);

fileHandle.WriteInteger('小节名','关键字',变量或整型数值);

fileHandle.WriteBool('小节名','关键字',变量或TrueFalse);

当这个INI文件不存在时,还会自动创建该INI文件。

     删除关键字

—- 除了可用写入方法增加一个关键字,Tinifile类还提供了一个删除关键字的对象方法:

fileHandle.DeleteKey('小节名','关键字');

     小节操作

增加一个小节可用写入的方法来完成,删除一个小节可用下面的对象方法:

    fileHandle.EraseSection('小节名');

 

        另外Tinifile类还提供了三种对象方法来对小节进行操作:

    fileHandle.ReadSection(‘小节名’,TStrings变量);

      可将指定小节中的所有关键字名读取至一个字符串列表变量中;

 

    fileHandle. ReadSections(TStrings变量);

      可将INI文件中所有小节名读取至一个字符串列表变量中去。

 

    fileHandle.ReadSectionValues('小节名',TStrings变量);

      可将INI文件中指定小节的所有行(包括关键字、=、值)读取至一个

      字符串列表变量中去。

 

     释放:在适当的位置用下面的语句释放fileHandle

    fileHandle.Destroy;

 

注册并通过认证的用户才可以进行评价!

发表评论

Back to Top