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

一、ini文件的结构

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

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

二、ini 文件的操作

1.在interface 的 uses 节增加 IniFiles

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

  1. inifile: Tinifile;

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

3.打开 ini 文件:

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

  

4.读取关键字的值:

  1. a:= inifile.Readstring('节点', '关键字', 缺省值);  //string类型
  2.  
  3. b:= inifile.Readinteger('节点', '关键字', 缺省值);  //integer类型
  4.  
  5. c:= inifile.Readbool('节点', '关键字', 缺省值);  //boolean类型

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

5.写入 ini 文件:

  1. infile.writestring('节点', '关键字', 变量或字符串值); //写入 string类型
  2.  
  3. infile.writestring('节点', '关键字', 变量或整型值); //写入 integer类型
  4.  
  5. infile.writestring('节点', '关键字', 变量或TrueFalse); //写入 Boolean类型

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

6.删除关键字:

  1. infile.DeleteKey('节点', '关键字');  //删除关键字
  2.  
  3. inifile.EraseSection('节点');  //删除节点

  

7.节点操作:

  1. inifile.readsection('节点', TStrings变量);  //可将指定节点的所有关键字名读取至一个字符串列表变量中
  2.  
  3. inifile.readsections(TStrings变量);  //可将 ini 文件中所有节点读取至一个字符串列表变量中去。
  4.  
  5. inifile.readsectionvalues('节点', TStrings变量);  //可将 ini 文件中指定节点的所有行(包括关键字、 = 、 值)读取至一个字符串变量中去

  

8.释放:  

  1. inifile.free;

  

三、例子

  1. unit Unit1;
  2.  
  3. interface
  4.  
  5. uses
  6. Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  7. Dialogs, IniFiles, StdCtrls;
  8.  
  9. type
  10. TForm1 = class(TForm)
  11. Button1: TButton;
  12. Button2: TButton;
  13. procedure FormCreate(Sender: TObject);
  14. procedure Button1Click(Sender: TObject);
  15. procedure Button2Click(Sender: TObject);
  16. procedure FormDestroy(Sender: TObject);
  17. private
  18. { Private declarations }
  19. public
  20. { Public declarations }
  21. Inif: TIniFile;
  22. end;
  23.  
  24. var
  25. Form1: TForm1;
  26.  
  27. implementation
  28.  
  29. {$R *.dfm}
  30.  
  31. procedure TForm1.FormCreate(Sender: TObject);
  32. begin
  33. Inif:= TIniFile.Create(ExtractFilePath(Paramstr(0))+'T.ini');
  34. end;
  35.  
  36. procedure TForm1.Button1Click(Sender: TObject);
  37. begin
  38. Inif.WriteString('T','t1','info'); //修改
  39. end;
  40.  
  41. procedure TForm1.Button2Click(Sender: TObject);
  42. begin
  43. Inif.DeleteKey('T','t2'); //删除
  44. end;
  45.  
  46. procedure TForm1.FormDestroy(Sender: TObject);
  47. begin
  48. Inif.Free;
  49. end;
  50.  
  51. 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. 学号160809224姓名黄家帅c语言程序设计实验2 选择结构程序设计

    实验2-1 输入3个数,并按由大到小的顺序输出. 实验要求: 编写一个C程序,输入3个数,并按由大到小的顺序输出. 源码: #include <stdio.h>void main(){ i ...

  2. WebStorm设置左侧菜单栏背景色和样式

    WebStrom一直以来都是默认的白色主题,今天想修改了下主题皮肤,结果导致左侧项目资源栏和顶部菜单栏也变成了黑色,结果无法改变回来,网上查了各种帖子,居然也没找到解决方法,自己研究了半天,终于搞定了 ...

  3. BZOJ 2685: Sgu385 highlander

    Sol 期望DP. \(f[i][j][k]\) 表示已经确定了 \(i\) 个点, 最大环大小为 \(j\) ,个数为 \(k\) 的方案数. 转移非常复杂,因为细节特别多. \(f[i][j][1 ...

  4. python gui之tkinter事件处理

    事件一览表 事件 代码 备注 鼠标左键单击按下 1/Button-1/ButtonPress-1   鼠标左键单击松开 ButtonRelease-1   鼠标右键单击 3   鼠标左键双击 Doub ...

  5. show_sync_logs

    存入数据库的操作 CREATE TABLE `show_sync_logs` ( `id` ) NOT NULL AUTO_INCREMENT, `queue` ) DEFAULT NULL COMM ...

  6. ERROR Cannot determine the location of the VS Common Tools Folder

    参考:ERROR Cannot determine the location of the VS Common Tools Folder   http://blog.csdn.net/m3728975 ...

  7. document.documentElement.scrollTop || document.body.scrollTop

    如果有doctype的声明,需要用document.documentElement.scrollTop没有doctype的声明,用document.body.scrollTop

  8. 开源工作流 Bonita BPM (JAVA)

    Bonita BPM 开源工作流 Bonita BPM  (JAVA) http://www.bonitasoft.com/

  9. Selenium WebDriver 处理table

    首先,html table是由 table 元素以及一个或多个 tr.th 或 td 元素组成. for example: 这是一个简单的html table: 源码如下: <html> ...

  10. 【关于服务器端SQL Server 2008的设置】 使其他客户端机可通过ODBC数据源可访问

    服务器系统:Server 2003 数据库:SQL Server 2005 服务器配置:开启服务:server.workstation(这两个服务对于提供局域网共享有很大作用) 关闭防火墙 开启gue ...