用delphi操作INI文件

2016-02-19 19:59 7 1 收藏

有一种朋友不在生活里,却在生命力;有一种陪伴不在身边,却在心间。图老师即在大家的生活中又在身边。这么贴心的服务你感受到了吗?话不多说下面就和大家分享用delphi操作INI文件吧。

【 tulaoshi.com - 编程语言 】

如何操作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;
  procedureFormCreate(Sender:TObject);
  procedureFormDestroy(Sender:TObject);
  procedureTimer1Timer(Sender:TObject);
  
  private
  {Privatedeclarations}
  public
  {Publicdeclarations}
  end;
  
  var
  Form1:TForm1;
  
  implementation
  var
  myinifile:TInifile;
   
  {$R*.DFM}
  
  procedureTForm1.FormCreate(Sender:TObject);
  var
  filename:string;
  begin
  filename:=ExtractFilePath(paramstr(0))+'myini.ini';
  myinifile:=TInifile.Create(filename);
  edit1.Text:=myinifile.readstring ('程序参数','用户名称','缺省的用户名称');
  edit2.text:=inttostr(myinifile.readinteger('程序参数','已运行时间',0));
  checkbox1.Checked:=myinifile.readbool ('程序参数','是否正式用户',False);
  end;
  
  procedureTForm1.FormDestroy(Sender:TObject);
  begin
  myinifile.writestring('程序参数','用户名称',edit1.Text);
  myinifile.writeinteger('程序参数','已运行时间',strtoint(edit2.text));
  myinifile.writebool('程序参数','是否正式用户',checkbox1.Checked);
  myinifile.Destroy;
  end;
  
  procedureTForm1.Timer1Timer(Sender:TObject);
  begin
  edit2.Text:=inttostr(strtoint(edit2.text)+1);
  end;
  end.  

  

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/bianchengyuyan/)

来源:http://www.tulaoshi.com/n/20160219/1622453.html

延伸阅读
  使用CreateOleObject方法对WORD文档操作具有先天所具备的优势,与delphi所提供的那些控件方式的访问相比,CreateOleObject方法距离WORD核心的操作“更近”,因为它直接使用OFFICE所提供的VBA语言对WORD文档的操作进行编程。 以下是我在本机上所做的实验,机器软件配置如下: Windows XP+delphi7.0+OFFICE 2003 这个程...
标签: Delphi
  昨天敲了半天才出来的,想组成一个系列.供新手学习一下!(虽说我也是新手^_^) Delphi单元文件 1.库单元文件头:其中声明了库单元的名字. 2.Interface部分:   由保留字interface开始,结束于保留字implementation,它用来声明引用的单元,常量,数据类型,变量,过程和函数.在Interface部分声明的变量,常量,数据类型,过程,函数...
文件是同一类型元素的有序集合,是内存与外设间传输数据的渠道。一些外设如显示器、键盘、打印机等都可以看作文件,但最常用的还是磁盘文件,这也是本章我们主要讨论的对象。 Delphi继承了Object Pascal的文件管理功能,并有很大的发展,其中最主要的是提供了用于文件管理的标准控件,同时也提供了更多的文件管理函数。利用Delphi的强...
6.4 文件管理综合举例:文件管理器的实现 在本章的最后,我们利用Delphi提供的文件控件和文件管理函数开发一个简单的文件管理器。虽然这一文件管理器还无法和Windows提供的文件管理器相比拟,但它也为一般的文件操作提供了足够多的功能,而且如果读者感兴趣,还可以对它做进一步的扩充。在后边的拖放操作一章中,我们就为它提供了拖...
在Delphi中使用TidIcmpClient控件可以非常简单的实现图形界面的Ping! 新建一个工程,命名为 PingGUI.dpr ,窗口命名为“frmPing”,加入如下组件:     lstReplies: TListBox;     ICMP: TIdIcmpClient;     Panel1: TPanel;     btnPing: TButton; &nbs...

经验教程

861

收藏

25
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部