捐助郴维网
感谢您对郴维网的支持,你的支持将是郴维网持续发展的动力!
二维码
×
当前位置:郴维网 >基础知识 > 正文
29 2020.09

delphi 操作ini文件

点击次数:67 更新时间:2020-9-29 23:39:12  【打印此页

.ini文件是Windows下的配置文件,使用.ini文件我们可以很方便的把一个软件的配置信息等保存在.ini文件中。

Delphi提供了一个TInifile类,使我们可以非常灵活的处理ini文件。

 

 

一.ini文件的结构

[小节名]
关键字1=值1
关键子2=值2

ini文件允许有多个小节,每个小节又允许有多个关键字,"="后面是该关键字的值。分号 ";" 开头在ini文件中表示注释。

 

值的类型常用的有三种,还支持浮点、日期等类型:

1. 字符串(其中字符串存贮在ini文件中时没有引号。)

2. 整型数值

3. 布尔值(布尔真值用1表示,布尔假值用0表示。)

ini文件结构如下图所示:

 

 

二、相关方法

1. 读方法

myInifile.Readstring(小节名, 关键字, 变量或字符串值); // 读字符串
myInifile.ReadInteger(小节名, 关键字, 变量或整型数值); // 读整数
myInifile.ReadBool(小节名, 关键字, 变量或True或False); // 读布尔类型

 

2. 写方法

myInifile.WriteString(小节名, 关键字, 变量或字符串值);
myinifile.WriteInteger(小节名, 关键字, 变量或整型数值);
myinifile.WriteBool(小节名, 关键字, 变量或True或False);

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

注2:要添加一个小节,也是使用写方法完成。

注3:如果要对一个关键字的值进行修改,同样使用上面的写方法。

 

3. 删除关键字方法

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

 

4. 操作小节的方法

myInifile.ReadSections(TStrings变量); // 将ini文件中所有小节名读取至一个字符串列表变量中去。
myInifile.ReadSection(小节名, TStrings变量); // 可将指定小节中的所有关键字名读取至一个字符串列表变量中。
myInifile.ReadSectionValues(小节名, TStrings变量); // 可将ini文件中指定小节的所有行(包括关键字、=、值)读取至一个字符串列表变量中去。
myInifile.EraseSection(小节名); // 删除一个小节。

 

如何增加一个小节?

增加一个小节可用写入的方法来完成;也就是说增加小节就必须得添加默认 关键字 和 值。如:

myInifile.WriteString('郴维网', '网址', 'http://www.1118pc.com'); // 这样就添加了一个 '郴维网' 的小节。

 

5. 最后记得要释放资源

myInifile.Free;

 

 

三、Delphi中ini文件的使用

1. 首先在uses中添加IniFiles

2. 在var变量定义 myInifile: TIniFile;

3. 定义类的一个实例。然后就可以对变量myInifile进行创建、打开、读取、写入等操作了。

代码:

unit Unit1;

interface

uses
  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
  Vcl.Controls, Vcl.Forms, Vcl.Dialogs, System.IniFiles, Vcl.StdCtrls; // 1. uses 加入IniFiles

type
  TForm1 = class(TForm)
    btn1: TButton;
    procedure btn1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.btn1Click(Sender: TObject);
var
  filePath: string;
  myInifile: TIniFile; // 2. 定义变量
begin
  // 指定ini文件所在路径。(ExtractFilePath(Paramstr(0))表示当前程序所在路径)
  filePath := ExtractFilePath(Paramstr(0)) + 'test.ini';

  // 3. 创建实例与ini文件关联
  myInifile := TIniFile.Create(filePath);

  // 使用try finally保证TIniFile资源的释放。
  try
    // 4. 读写操作
  finally
    // 5. 最后一定要释放资源
    myInifile.Free;
  end;


end;

end.

 

相关示例代码

1. 建立如下图所示的ini文件,然后读取关键字和值到memo控件中。

// 写入 test.ini
procedure TForm1.btn1Click(Sender: TObject);
var
  filePath: string;
  myInifile: TIniFile;
begin
  filePath := ExtractFilePath(Paramstr(0)) + 'test.ini';
  myInifile := TIniFile.Create(filePath);
  try
    myInifile.WriteString('郴维网', '网址', 'http://www.1118pc.com');
    myInifile.WriteInteger('郴维网', '整形', 888);
    myInifile.WriteBool('郴维网', '布尔', True);
    myInifile.WriteFloat('郴维网', '浮点型', 3.14);
    // 日期型必须是一个 TDate 或 TDateTime 对象, VarToDateTime把字符串转换成日期时间对象
    myInifile.WriteDate('郴维网', '日期', VarToDateTime('2020/9/28'));
    myInifile.WriteDateTime('郴维网', '日期时间', Now); // Now获取当前日期时间
  finally
    myInifile.Free;
  end;

end;

// 读取关键字和值(直接使用ReadSectionValues可以完成)
procedure TForm1.btn2Click(Sender: TObject);
var
  filePath: string;
  myInifile: TIniFile;
begin
  filePath := ExtractFilePath(Paramstr(0)) + 'test.ini';
  myInifile := TIniFile.Create(filePath);
  try
    myInifile.ReadSectionValues('郴维网', mmo1.Lines); // memo控件的Lines便是TStrings对象
  finally
    myInifile.Free;
  end;
end;

Tips
郴维网为您提供各类专业服务:
软件开发,电脑配件销售,WIFI路由器销售,上门电脑维修,上门安装系统,系统安装,软、硬件安装,电脑除尘清灰,显示器维修,WIFI安装调试,服务器维护,数据恢复,密码破解,网络布线,网络检修,打印机维修,打印机加碳粉,苹果电脑安装系统,苹果电脑安装双系统,监控安装维护,电脑外包,笔记本电脑维修,餐饮、美容行业软件安装 等。。。。。。
点击次数:67 更新时间:2020-9-29 23:39:12  【打印此页

上一条:delphi 数据类型列表

下一条:已经是最后一篇了

关键词推荐:郴州电脑城 郴州电脑维修公司 维修电脑公司 郴州软件开发 上门电脑维修 上门安装系统 笔记本电脑维修 郴州打印机维修 打印机加碳粉 电脑安装双系统 苹果电脑双系统 液晶显示器维修 联想笔记本维修 联想笔记本维修电话 戴尔笔记本维修电话 郴州戴尔笔记本维修 戴尔笔记本郴州维修点 华硕笔记本维修点 郴州华硕笔记本维修 郴州笔记本上网维修