Delphi ini文件结构简介
一、INI文件的结构:
; 注释
[小节名]
关键字=值
INI文件允许有多个小节,每个小节又允许有多个关键字, “=”后面是该关键字的值。
值的类型有三种:字符串、整型数值和布尔值。其中字符串存贮在INI文件中时没有引号,布尔真值用1表示,布尔假值用0表示。
注释以分号“;”开头。
二、定义
1、在Interface的Uses节增加IniFiles;
2、在Var变量定义部分增加一行:
myinifile:Tinifile;
然后,就可以对变量myinifile进行创建、打开、读取、写入等操作了。
三、打开INI文件
Filename:=ExtractFilePath(Paramstr(0))+’program.ini’;
myinifile:=Tinifile.Create(filename);
四、读取关键字的值
针对INI文件支持的字符串、整型数值、布尔值三种数据类型,TINIfiles类提供了三种不同的对象方法来读取INI文件中关键字的值。
vs:=myinifile.Readstring(’小节名’,’关键字’,缺省值); string类型
vi:=myinifile.Readinteger(’小节名’,’关键字’,缺省值);integer类型
vb:=myinifile.Readbool(’小节名’,’关键字’,缺省值); boolean类型
五、写入INI文件
myinifile.writestring(’小节名’,’关键字’,变量或字符串值); string类型
myinifile.writeinteger(’小节名’,’关键字’,变量或整型数值);integer类
myinifile.writebool(’小节名’,’关键字’,变量或True或False);boolean类型
当这个INI文件不存在时,上面的语句还会自动创建该INI文件。
六、删除关键字
myinifile.DeleteKey(’小节名’,’关键字’);
七、小节操作
增加一个小节可用写入的方法来完成,删除一个小节可用下面的对象方法:myinifile.EraseSection(’小节名’);另外Tinifile类还提供了三种对象方法来对小节进行操作:
myinifile.readsection(’小节名’,TStrings变量);
可将指定小节中的所有关键字名读取至一个字符串列表变量中;
myinifile.readsections(TStrings变量);
可将INI文件中所有小节名读取至一个字符串列表变量中去。
myinifile.readsectionvalues(’小节名’,TStrings变量);
可将INI文件中指定小节的所有行(包括关键字、=、值)读取至一个字符串列表变量中去。
八、释放
在适当的位置用下面的语句释放myinifile:
myinifile.distory;
九 Delphi内置函数总结
利用Windows API函数WritePrivateProfileString 和GetPrivateProfileString可对.INI文件进行读写操作。其实,对.INI文件的读写完全可以利用Delphi的内置函数来实现。下面就介绍一些对.INI文件读写时相关的类及其属性方法。
1、TIniFile对象
以Delphi中,定义了一个TIniFile对象,将.INI文件封装在其中,并提供一些方法,专门用来对INI文件进行读写操作。如果在程序中要用到TIniFile类或其方法属性,就必须在程序单元的uses语句中手工加入对IniFiles单元的引用。
2、Create方法
该方法用来创建一个处理INI文件的TIniFile类型实例。
方法声明:constructor Create(const FileName:string);
参数说明:FileName指明待创建的INI文件的文件名;
注释:在使用TIniFile对象之前,必须先用此方法创建一个INI文件的实例。FileName中可以包含路径名,缺省时为Windows所在目录(一般就是C:windows,对于Windows NT来说,则一般是c:winnt)。用Create方法创建的实例,在使用完之后,调用Free方法释放内存。
3、ReadSection方法
该方法从INI文件中读出指定段的所有子键名,并存入Strings参数指定的字符串列表对象中。
方法声明:procedure ReadSection(const Section:string; Strings:TStrings);
参数说明:Section指明要读取段的段名;
Strings指明存放子键名的字符串列表;
注释:ReadSection方法仅读入指定段的所有子键名,但不读入子键的值。
4、ReadSections方法
该方法从INI文件中读取所有段名,并存入Strings参数指定的字符中列表中。
方法声明:procedure ReadSections(Strings:TStrings);
参数说明:Strings参数指明存放段名的字符串列表;
注释:ReadSections方法将INI文件中所有段的段名读出,存入一指定的字符串列表中,此字符串列表可以直接使用某个列表框的Items属性。
5、ReadSectionValues方法
该方法从INI文件中读入指定段的所有子键名及其键值,并存入Strings参数指定的字符串列表中。
方法声明:procedure ReadSectionValues(const Section:String; Strings:TStrings);
参数说明:Section指明要读取段的段名;
Strings指明存放段名的字符串列表;
注释:ReadSectionValues方法与ReadSection方法的区别在于后者仅读入子键名,面前者除了读取子键名之外,还读取该子键对应的键值。读入的子键名及键值在字符串列表中的存放方法与在文件中的显示方法一致,即"Key=Value"形式。
6、EraseSection方法
该方法删除INI文件中指定的一个整段。
方法声明:procedure EraseSection(const Section:string);
参数说明:Section指明待删除段的段名;
注释:EraseSection方法不仅删除指定段的段名,面且同时将该段的所有子键及键值删除。
7、DeleteKey方法
该方法删除指定段中的某个指定的子键。
方法声明:procedure DeleteKey(const Section,Key:string);
参数说明:Section指明待删除子键据段的段名;
Key指明待删除子键的键名;
注释:DeleteKey方法删除整个子键(包括键名和键值),也就是删除该子键所在的一行。
8、ReadBool方法
该方法读取指定段的某个子键的布尔值。
方法声明:function ReadBool(const Section,Key:string;Default:Boolean):Boolean;
参数说明:Section指明待读子键所在段的段名;
Key指明待读子键的键名;
Default参数指明缺省时的返回值。
注释:ReadBool方法用于读取一个子键的布尔型值,当键值为"1"时,返回True,键值为"0"时,返回False.
9、WriteBool方法
该方法向指定段的某个子键写入布尔值。
方法声明:procedure WriteBool(const Section, Key:string; Value:Boolean);
参数说明:Senction指明待写入子键所在段的段名;
Key参数指明待写入值的子键键名;
Value指明待写入的布尔值;
注释:WriteBool 方法用于写入一个子键的布尔值,当Value为"True"时,写入"1"。Value为"Flase"时,写入"0"。若在写入时,指定的段或键名不存在,则自动创建该段和键名。
10、ReadInteger方法
该方法读取指定段的某个子键的整型值。
方法声明:function ReadInteger(const Section,Key:string; Default:longint):longint;
注释:此方法与ReadBool方法类似,只是变量类型不同。
11、WriteInteger方法
该方法向指写段的某个子键写放整型值。
方法声明:procedure WriteInteger(const Section,Key:string; Value:longint);
注释:此方法与WriteBool方法类似,只是变量灰型不同。
12、ReadString方法
该方法读取指定段的某个子键的字符串型 值。
方法声明:function ReadString(const Section,Key:string; Default:string):string;
注释;此方法与ReadBool方法类似,只是变量类型不同。
13、WriteString方法
该方法向指写段的某个子键写入整型值。
方法声明:procedure WriteString(const Section,Key:string; Value:string);
注释:此方法与WriteBool方法类似,只是变量类型不同。
14、FileName属性
该属性指明被封装在TIniFile对象中的INI文件的文件名。
属性声明:property FileName:string;
注释:FileName属性是一个运行时的只读属性。
Delphi ini文件结构简介的更多相关文章
- delphi INI文件
INI 文件读写 filecreate('路径加文件名')://创建一个文件. (1) INI文件的结构: ;这是关于INI文件的注释部分 [节点] 关键字=值 ... INI文件允许有多个节点,每个 ...
- Delphi ini文件操作 TIniFile、TMemIniFile
1.使用TIniFile unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Co ...
- Red5文件结构简介
Red5文件结构简介 Red5 是 支持Windows,Linux等多平台的RTMP流媒体服务器,最早属于谷歌下的开源项目,先已移植到Github,地址为https://github.com/Red5 ...
- Delphi INI 文件读写
delphi中,配置文件的相关操作. () INI文件的结构: ;这是关于INI文件的注释部分 [节点] 关键字=值 ... INI文件允许有多个节点,每个节点又允许有多个关键字, “=”后面是该关键 ...
- Delphi ini文件读写
参考:http://www.cnblogs.com/zhangzhifeng/archive/2011/12/01/2270267.html 一.ini文件的结构 ;这是关于 ini 文件的注释 [节 ...
- Delphi操作XML简介
参考:http://www.delphifans.com/InfoView/Article_850.html Delphi 7支持对XML文档的操作,可以通过 TXMLDocument类来实现对XML ...
- Delphi Ini 操作简单例子
interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialog ...
- Delphi INI文件保存与读取
//需要引用IniFiles uses system.IniFiles; //保存INI配置文件 procedure TForm1.btnSaveClick(Sender: TObject); var ...
- 巡风代码架构简介以及Flask的项目文件结构简介
一.巡风: 巡风是一款什么东西,想必安全同行都不陌生吧.用它作为内网漏洞扫描管理架构是一种很好的选择,扫描快,开源,还可自己编写符合规则的POC直接放入相应目录来扩展.今天下午趁着有点时间捋了一下巡风 ...
随机推荐
- 纯JSP简单登录实例
记一下,免得以后忘记了,又要去查. 文件共有四个web.xml.login.jsp.logout.jsp.welcome.jsp四个文件 测试环境:Tomcat 6.0.x 假设项目名称是LoginS ...
- CodeForces - 990G (点分治+链表计数)
题目:https://vjudge.net/contest/307753#problem/J 题意:一棵树,每个点都有个权值,现在问你,树上gcd每个不同的数有多少个 思路:点分治,首先范围只有 1e ...
- winserver安装redis
原文: https://www.cnblogs.com/xuzhiwei/p/4569315.html 1.Redis本身不支持windows,但是有另外的团队在维护着一个windows下的版本 ...
- 关于Http请求Cookie问题
在Http请求中,很多时候我们要设置Cookie和获取返回的Cookie,在这个问题上踩了一个很大的坑,主要是两个问题: 1.不能获取到重定向返回的Cookie: 2.两次请求返回的Cookie是相同 ...
- 嵌入式C语言3.4 关键字---类型描述符auto/register/static/const/extern/volatile/
对内存资源存放位置的限定 1. auto 默认值---分配的内存都是可读可写的区域 auto int a; 区域如果出现 {} 我们认为在栈空间 2. register register int a; ...
- MySQL开启SSL认证,以及简单优化
1.1 MySQL开启SSL认证 #生成一个 CA 私钥 [root@db01 ssl]# openssl genrsa 2048 > ca-key.pem Generating RSA pri ...
- Java 课程总结
学到了什么 本学期通过老师的教导与自学,在Java课程具体学到了以下知识: 1.面向对象编程 1.1 类与对象(匿名对象) 类是由方法与属性组成,其定义了一个基本的模板,代表一个共性.其中属性也可以是 ...
- C++中的类与封装
1,类的组合: 1,类不是孤立存在的,类之间都会有一些关系,组合就是类的基本关系之一: 2,电脑一般而言是由 CPU.内存.主板.键盘和硬盘等部件组合而成: 3,学习电脑组装需要多少时间?学习电脑组装 ...
- Linux中通过grep命令检索文件内容和指定内容前后几行
原文链接: https://www.linuxidc.com/Linux/2017-11/148390.htm Linux系统中搜索.查找文件中的内容,一般最常用的是grep命令,另外还有egrep命 ...
- ubuntu中下载pycharm并添加到桌面
方法一:下载Pycharm与安装 下载地址:https://www.jetbrains.com/pycharm/ Pycharm专业版和社区版对大多数人来说差别不大,区别如下: 我们下载Linux的社 ...