参考:http://www.cnblogs.com/zhangzhifeng/archive/2011/12/01/2270267.html

一、ini文件的结构

;这是关于 ini 文件的注释
[节点]
关键字=值
...

  ini文件允许有多个节点,每个节点有允许有多个关键字,“=”后面是该关键字的值(类型有三种:字符串、整型数值和布尔值。其中字符串存储在 ini 文件中时没有引号,布尔真值用 1 表示,布尔假值用 0 表示)。注释以分号 “;” 开头。

二、ini 文件的操作

1.在interface 的 uses 节增加 IniFiles

2.在var 变量定义部分增加一行:

inifile: Tinifile;

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

3.打开 ini 文件:

inifile:= Tinifile.Create('tmp.ini');
//Create的参数是 ini 文件的路径的字符串

  

4.读取关键字的值:

a:= inifile.Readstring('节点', '关键字', 缺省值);  //string类型

b:= inifile.Readinteger('节点', '关键字', 缺省值);  //integer类型

c:= inifile.Readbool('节点', '关键字', 缺省值);  //boolean类型

  其中 [缺省值] 为该 ini 文件不存在该关键字时返回的缺省值

5.写入 ini 文件:

infile.writestring('节点', '关键字', 变量或字符串值);    //写入 string类型

infile.writestring('节点', '关键字', 变量或整型值);    //写入 integer类型

infile.writestring('节点', '关键字', 变量或True或False);    //写入 Boolean类型

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

6.删除关键字:

infile.DeleteKey('节点', '关键字');  //删除关键字

inifile.EraseSection('节点');  //删除节点

  

7.节点操作:

inifile.readsection('节点', TStrings变量);  //可将指定节点的所有关键字名读取至一个字符串列表变量中

inifile.readsections(TStrings变量);  //可将 ini 文件中所有节点读取至一个字符串列表变量中去。

inifile.readsectionvalues('节点', TStrings变量);  //可将 ini 文件中指定节点的所有行(包括关键字、 = 、 值)读取至一个字符串变量中去

  

8.释放:  

inifile.free;

  

三、例子

unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, IniFiles, StdCtrls; type
TForm1 = class(TForm)
Button1: TButton;
Button2: TButton;
procedure FormCreate(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure FormDestroy(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
Inif: TIniFile;
end; var
Form1: TForm1; implementation {$R *.dfm} procedure TForm1.FormCreate(Sender: TObject);
begin
Inif:= TIniFile.Create(ExtractFilePath(Paramstr(0))+'T.ini');
end; procedure TForm1.Button1Click(Sender: TObject);
begin
Inif.WriteString('T','t1','info'); //修改
end; procedure TForm1.Button2Click(Sender: TObject);
begin
Inif.DeleteKey('T','t2'); //删除
end; procedure TForm1.FormDestroy(Sender: TObject);
begin
Inif.Free;
end; end.

  

Delphi ini文件读写的更多相关文章

  1. Delphi INI 文件读写

    delphi中,配置文件的相关操作. () INI文件的结构: ;这是关于INI文件的注释部分 [节点] 关键字=值 ... INI文件允许有多个节点,每个节点又允许有多个关键字, “=”后面是该关键 ...

  2. delphi INI文件

    INI 文件读写 filecreate('路径加文件名')://创建一个文件. (1) INI文件的结构: ;这是关于INI文件的注释部分 [节点] 关键字=值 ... INI文件允许有多个节点,每个 ...

  3. [IO] C# INI文件读写类与源码下载 (转载)

    /// <summary> /// 类说明:INI文件读写类. /// 编 码 人:苏飞 /// 联系方式:361983679 /// 更新网站:[url]http://www.sufei ...

  4. QSettings配置读写-win注册表操作-ini文件读写

    版权声明:若无来源注明,Techie亮博客文章均为原创. 转载请以链接形式标明本文标题和地址: 本文标题:QSettings配置读写-win注册表操作-ini文件读写     本文地址:http:// ...

  5. C#对INI文件读写

    C#本身没有对INI格式文件的操作类,可以自定义一个IniFile类进行INI文件读写. using System; using System.Collections.Generic; using S ...

  6. 封装 INI 文件读写函数

    delphi读写ini文件实例 //--两个过程,主要实现:窗体关闭的时候,文件保存界面信息:窗体创建的时候,程序读取文件文件保存的信息. //--首先要uses IniFiles(单元) //--窗 ...

  7. C#实现.ini文件读写操作

    1.ini文件是什么?        见百度百科:https://baike.baidu.com/item/ini%E6%96%87%E4%BB%B6/9718973?fr=aladdin 2.C#语 ...

  8. VC++ 实现INI文件读写操作

    转载:https://blog.csdn.net/fan380485838/article/details/73188420 在实际项目开发中,会用ini配置文件,在此总结一下对ini读写操作 一:读 ...

  9. ini文件读写 保存上次存储内容

    using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; usin ...

随机推荐

  1. Android解析服务器Json数据实例

    Json数据信息如下: { "movies": [ { "movie": "Avengers", "year": 201 ...

  2. C++关键字:mutable(转)

    参考:http://blog.csdn.net/hxz_qlh/article/details/14475573 修饰成员变量,在const成员函数中可修改它,在C++中还从未用过这个关键字.

  3. 【VBA】批量插入图片

    解决如下问题: 需要批量导入图片到Excel 图片放在一个文件夹中 图片有严格的顺序关系,即按照:共通名_编号的方式命名. 图片格式统一,即均为同一格式. 有两种方式可以插入图片到Excel中,其一为 ...

  4. javascript,检测对象中是否存在某个属性

    检测对象中属性的存在与否可以通过几种方法来判断. 1.使用in关键字. 该方法可以判断对象的自有属性和继承来的属性是否存在. var o={x:1}; "x" in o; //tr ...

  5. c语言数据问题

    变量都有作用域,链接属性,和存储类型3个属性,这三个属性决定了变量的作用域和生存期的问题 在c语言中包含4中类型, 整形 浮点型 指针 聚合类型(数组,结构体等) ------------------ ...

  6. Android Xpose Hook(一)

    实验环境:     Droid4x模拟器 (目前Android版本4.2.2)     Android Studio 1.下载相关工具 XposedInstaller下载 http://repo.xp ...

  7. svn迁移到git仓库并保留commit历史记录

    svn迁移到git仓库并保留commit历史记录 最近在做svn迁移到gitlab,由于之前一直是由svn做版本控制.最简单的方式是将svn的内容export出来,然后添加到gitlab即可.但是,如 ...

  8. 使用ssh正向连接、反向连接、做socks代理的方法

     ssh -L 219.143.16.157:58080:172.21.163.32:8080 用户名@localhost -p 10142  在 219.143.16.157机器执行   将ssh隧 ...

  9. 在Debian上用Bind 配置DNS服务器

    1 什么是DNS 初学者可能不理解DNS到底是什么,干什么用.我是在1998年大学毕业时才听说这个词的.那时我在聊天室碰到潍坊信息港的一个网管,我恬不知耻地说我也是个网管,他说也维护DNS吗?我说,D ...

  10. 20145213《Java程序设计》第二周学习总结

    20145213<Java程序设计>第二周学习总结 教材学习内容总结 本周娄老师给的任务是学习教材的第三章--基础语法.其实我觉得还蛮轻松的,因为在翻开厚重的书本,一股熟悉的气息扑面而来, ...