编程资料集中营
 | 网站首页 | 文章中心 | 编程资料2 | 软件下载 | BT下载 | 八卦星闻 | 音乐在线 | 在线游戏 | 免费电影 | 进入问吧 | 
Delphi中的INI文件编程,INI文件在系统配置及应用程序参数保存与设置方面具有很重要的作用,所以可视化的编程一族,如VB、VC、VFP、Delphi等都提供了读写INI文件的方法,其中Delphi中操作INI文件最为简洁,这是因为Delphi3提供了一个Tinifile类,使我们可以非常灵活地处理INI文件。一、了解INI文件的结构;注释[小节名]关键字=值...INI文件允许有多个,
您现在的位置: 编程资料,学习资料,c,c++,vc,vc++,java,jsp,j2ee,j2me,asp,php >> 文章中心 >> delphi >> 文章正文
【字体:
Delphi中的INI文件编程   进入问吧

本站地址:http://www.bajiao123.com

作者:佚名    文章来源:不详    点击数:    更新时间:2007-8-1    

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;


  九、一个实例

  下面用一个简单的例子演示了建立、读取、存储INI 文件的方法。myini.ini 文件中包含有" 程序参数" 小节,和用户名称(字符串)、是否正式用户(布尔值)和已运行时间(整型值)三个关键字。程序在窗体建立读取这些数据,并在窗体释放时写myini.ini 文件。

 unit Unit1;
 interface
 uses
 Windows, Messages, SysUtils, Classes,
   Graphics, Controls, Forms, Dialogs,
   inifiles,StdCtrls, ExtCtrls;
 type
  TForm1 = class(TForm)
  Edit1: TEdit;
  CheckBox1: TCheckBox;
  Edit2: TEdit;
  Label1: TLabel;
  Label2: TLabel;
  Timer1: TTimer;
  Label3: TLabel;
  procedure FormCreate(Sender: TObject);
  procedure FormDestroy(Sender: TObject);
  procedure Timer1Timer(Sender: TObject);
 private
  { Private declarations }
 public
  { Public declarations }
 end;
 var
  Form1: TForm1;
 implementation
 var
  myinifile:TInifile;
 { $R *.DFM}
 procedure TForm1.FormCreate
    (Sender: TObject);
 var
  filename:string;
 begin
  filename:=ExtractFilePath
  (paramstr(0)) +'myini.ini';
  myinifile:=Tinifile.Create(filename);
  edit1.Text:= myinifile.readstring
   (' 程序参数',' 用户名称',

[1] [2] 下一页

   

进入问吧

本站地址:http://www.bajiao123.com

文章录入:admin    责任编辑:admin 
编程资料集中营