Delphi ini文件读写
参考: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文件读写的更多相关文章
- Delphi INI 文件读写
delphi中,配置文件的相关操作. () INI文件的结构: ;这是关于INI文件的注释部分 [节点] 关键字=值 ... INI文件允许有多个节点,每个节点又允许有多个关键字, “=”后面是该关键 ...
- delphi INI文件
INI 文件读写 filecreate('路径加文件名')://创建一个文件. (1) INI文件的结构: ;这是关于INI文件的注释部分 [节点] 关键字=值 ... INI文件允许有多个节点,每个 ...
- [IO] C# INI文件读写类与源码下载 (转载)
/// <summary> /// 类说明:INI文件读写类. /// 编 码 人:苏飞 /// 联系方式:361983679 /// 更新网站:[url]http://www.sufei ...
- QSettings配置读写-win注册表操作-ini文件读写
版权声明:若无来源注明,Techie亮博客文章均为原创. 转载请以链接形式标明本文标题和地址: 本文标题:QSettings配置读写-win注册表操作-ini文件读写 本文地址:http:// ...
- C#对INI文件读写
C#本身没有对INI格式文件的操作类,可以自定义一个IniFile类进行INI文件读写. using System; using System.Collections.Generic; using S ...
- 封装 INI 文件读写函数
delphi读写ini文件实例 //--两个过程,主要实现:窗体关闭的时候,文件保存界面信息:窗体创建的时候,程序读取文件文件保存的信息. //--首先要uses IniFiles(单元) //--窗 ...
- C#实现.ini文件读写操作
1.ini文件是什么? 见百度百科:https://baike.baidu.com/item/ini%E6%96%87%E4%BB%B6/9718973?fr=aladdin 2.C#语 ...
- VC++ 实现INI文件读写操作
转载:https://blog.csdn.net/fan380485838/article/details/73188420 在实际项目开发中,会用ini配置文件,在此总结一下对ini读写操作 一:读 ...
- ini文件读写 保存上次存储内容
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; usin ...
随机推荐
- 在ROS下编写自己的节点来订阅话题(C++)
参考 http://blog.csdn.net/u013453604/article/details/49102957 的博客,其实这些内容和 <开源机器人操作系统> 这本书差不多 ...
- r-cnn学习系列(三):从r-cnn到faster r-cnn
把r-cnn系列总结下,让整个流程更清晰. 整个系列是从r-cnn至spp-net到fast r-cnn再到faster r-cnn. RCNN 输入图像,使用selective search来构造 ...
- linux kernel 平台总线实例分析
linux 平台总线的实现有三大块 , platform bus , platform device , platform drvice 平台类型结构体: /** * struct bus_type ...
- Linux中的动态库和静态库(.a/.la/.so/.o)
Linux中的动态库和静态库(.a/.la/.so/.o) Linux中的动态库和静态库(.a/.la/.so/.o) C/C++程序编译的过程 .o文件(目标文件) 创建atoi.o 使用atoi. ...
- sublime text 个性设置
http://stackoverflow.com/questions/13781833/sublime-text-2-how-to-change-the-font-size-of-the-file-s ...
- oracle 存储过程中调用存储过程
create procedure sp_name() begin ……… end 比如: create procedure pro_showdbs() show datebase; end //用ex ...
- Linux下安装gcc和g++
以CentOS为例,安装后是没有C语言和C++编译环境的,需要手动安装,最简单的是用yum的方式安装,过程如下: 1.安装gcc yum install gcc 询问是否,按y键回车即可,或者 yum ...
- zmqsend for FFmpeg
编译 FFmpeg 时,配置中添加 --enable-libzmq 就可以通过 tcp 通讯给 FFmpeg 发送命令 Usage: zmqsend [-h ip:port] TARGET COMMA ...
- [Android]drawable-nodpi文件夹 的作用
把一些不能被拉伸的图片放在 drawable-nodpi 中,此图片将不会被放大,以原大小显示. 看下图: 这两个图片被放到了drawable-nodpi 中 在不同分辨率下的显示大小是一样的,不会被 ...
- Lake Counting_深度搜索_递归
Lake Counting Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 30414 Accepted: 15195 D ...