delphi中ini 文件操作记要(1): 使用 TIniFile
unit Unit1; interface uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls; type
TForm1 = class(TForm)
Button1: TButton;
Button2: TButton;
Button3: TButton;
Button4: TButton;
Button5: TButton;
Button6: TButton;
Button7: TButton;
procedure FormCreate(Sender: TObject);
procedure FormDestroy(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
procedure Button5Click(Sender: TObject);
procedure Button6Click(Sender: TObject);
procedure Button7Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end; var
Form1: TForm1; implementation {$R *.dfm} uses IniFiles; {uses 包含 TIniFile 的单元} var
ini: TIniFile;
path: string; {ini 文件路径}
Section,Key: string; {分别表示 ini 文件的小节与关键字} {
ini文件结构:
;注释
[小节名]
关键字=值 INI文件支持: string、integer、boolean、Date、Time、DateTime、Double 与二进制类型
string 值没有引号
boolean 的真假用 1、0 表示
} procedure TForm1.FormCreate(Sender: TObject);
begin
path := ChangeFileExt(ParamStr(),'.ini');
ini := TIniFile.Create(path); {ini 对象建立需要文件路径参数, 如果缺少路径会默认Windows目录}
end; //写入 ini 文件:
procedure TForm1.Button1Click(Sender: TObject);
begin
Section := 'AAA';
Key := 'AString';
ini.WriteString(Section,Key,'AAA-String'); Key := 'AInteger';
ini.WriteInteger(Section,Key,); Key := 'ABoolean';
ini.WriteBool(Section,Key,True); Key := 'ADate';
ini.WriteDate(Section,Key,Now); Key := 'ATime';
ini.WriteTime(Section,Key,Now); Key := 'ADateTime';
ini.WriteDateTime(Section,Key,Now); Key := 'ADouble';
ini.WriteFloat(Section,Key,Pi); Section := 'BBB';
Key := 'BString';
ini.WriteString(Section,Key,'BBB-String'); Key := 'BInteger';
ini.WriteInteger(Section,Key,); Key := 'BBoolean';
ini.WriteBool(Section,Key,True); Key := 'BDate';
ini.WriteDate(Section,Key,Now); Key := 'BTime';
ini.WriteTime(Section,Key,Now); Key := 'BDateTime';
ini.WriteDateTime(Section,Key,Now); Key := 'BDouble';
ini.WriteFloat(Section,Key,Pi); Section := 'CCC';
Key := 'CString';
ini.WriteString(Section,Key,'CCC-String'); Key := 'CInteger';
ini.WriteInteger(Section,Key,); Key := 'CBoolean';
ini.WriteBool(Section,Key,False); Key := 'CDate';
ini.WriteDate(Section,Key,Now); Key := 'CTime';
ini.WriteTime(Section,Key,Now); Key := 'CDateTime';
ini.WriteDateTime(Section,Key,Now); Key := 'CDouble';
ini.WriteFloat(Section,Key,Pi); {写入结果:
[AAA]
AString=AAA-String
AInteger=111
ABoolean=1
ADate=2007-12-17
ATime=22:06:23
ADateTime=2007-12-17 22:06:23
ADouble=3.14159265358979
[BBB]
BString=BBB-String
BInteger=222
BBoolean=1
BDate=2007-12-17
BTime=22:06:23
BDateTime=2007-12-17 22:06:23
BDouble=3.14159265358979
[CCC]
CString=CCC-String
CInteger=333
CBoolean=0
CDate=2007-12-17
CTime=22:06:23
CDateTime=2007-12-17 22:06:23
CDouble=3.14159265358979
}
end; //读取 ini 文件:
procedure TForm1.Button2Click(Sender: TObject);
var
s: string;
i: Integer;
b: Boolean;
f: Double;
d: TDate;
t: TTime;
dt: TDateTime;
begin
s := ini.ReadString('BBB','BString',''); {最后一个参数是默认值}
i := ini.ReadInteger('BBB','BInteger',);
b := ini.ReadBool('BBB','BBoolean',False);
f := ini.ReadFloat('BBB','BDouble',);
d := ini.ReadDate('BBB','BDate',Now);
t := ini.ReadTime('BBB','BTime',Now);
dt := ini.ReadDateTime('BBB','BDateTime',Now); ShowMessage(s); {BBB-String}
ShowMessage(IntToStr(i)); {}
ShowMessage(BoolToStr(b)); {-1(True)}
ShowMessage(FloatToStr(f)); {3.14159265358979}
ShowMessage(DateToStr(d)); {2007-12-17}
ShowMessage(TimeToStr(t)); {22:06:23}
ShowMessage(DateTimeToStr(dt)); {2007-12-17 22:06:23}
end; //读入所有小节名到 TStrings:
procedure TForm1.Button3Click(Sender: TObject);
var
List: TStrings;
begin
List := TStringList.Create;
List.LoadFromFile(Path);
ini.ReadSections(List);
ShowMessage(List.Text);
{
AAA
BBB
CCC
}
List.Free;
end; //读入指定小节的所有关键字到 TStrings:
procedure TForm1.Button4Click(Sender: TObject);
var
List: TStrings;
begin
List := TStringList.Create;
ini.ReadSection('AAA',List);
ShowMessage(List.Text);
{
AString
AInteger
ABoolean
ADate
ATime
ADateTime
ADouble
}
List.Free;
end; //读入指定小节的所有关键字与值到 TStrings:
procedure TForm1.Button5Click(Sender: TObject);
var
List: TStrings;
begin
List := TStringList.Create;
ini.ReadSectionValues('BBB',List);
ShowMessage(List.Text);
{
BString=BBB-String
BInteger=222
BBoolean=1
BDate=2007-12-17
BTime=22:06:23
BDateTime=2007-12-17 22:06:23
BDouble=3.14159265358979
}
List.Free;
end; //删除与添加
procedure TForm1.Button6Click(Sender: TObject);
begin
ini.DeleteKey('BBB','BString'); {删除关键字}
ini.EraseSection('CCC'); {删除小节}
// ini.UpdateFile; {保存到文件} {添加小节与关键字或修改值, 直接写入即可}
end; //其他功能
procedure TForm1.Button7Click(Sender: TObject);
var
b: Boolean;
s: string;
begin
b := ini.SectionExists('DDD'); {判断某个小节是否存在}
b := ini.ValueExists('AAA','AString'); {判断某个关键字的值是否存在}
s := ini.FileName; {获取文件名}
end; procedure TForm1.FormDestroy(Sender: TObject);
begin
ini.Free;
end; end.
delphi中ini 文件操作记要(1): 使用 TIniFile的更多相关文章
- ini 文件操作记要(1): 使用 TIniFile
ini 文件操作记要(1): 使用 TIniFile unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Class ...
- ini 文件操作记要(2): 使用 TMemIniFile
unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Form ...
- delphi对ini文件的操作(转载 万一)
ini 文件操作记要(1): 使用 TIniFileunit Unit1;interfaceusesWindows, Messages, SysUtils, Variants, Classes, Gr ...
- Delphi对ini文件的操作
一.INI文件的结构:; 注释[小节名]关键字=值 INI文件允许有多个小节,每个小节又允许有多个关键字, “=”后面是该关键字的值. 值的类型有三种:字符串.整型数值和布尔值.其中字符串存贮在INI ...
- ini文件操作
Config.ini 文件操作 [SYS] sysname=hy company=hyhy tel=2 using System; using System.Collections.Generic; ...
- Delphi中文本文件的操作
Delphi中文本文件的操作 相关知识内容: 在对文本文件进行任何处理之前,首先要打开此文本文件.声明变量:通过此变量可以来引用一个文本文件. 打开一个文件需要两步:首先是 AssignFile(), ...
- Ini文件操作类
/// <summary> /// Ini文件操作类 /// </summary> public class Ini { // 声明INI文件的写操作函数 WritePriva ...
- 第32课 Qt中的文件操作
1. Qt的中IO操作 (1)Qt中IO操作的处理方式 ①Qt通过统一的接口简化了文件和外部设备的操作方式 ②Qt中的文件被看作一种特殊的外部设备 ③Qt中的文件操作与外部设备的操作相同 (2)IO操 ...
- winform INI文件操作辅助类
using System;using System.Runtime.InteropServices;using System.Text; namespace connectCMCC.Utils{ // ...
随机推荐
- ubuntu (14.04) 卸载 gnome 系统桌面
1.将ubuntu 的图形界面切到命令行界面. 2.卸掉 gnome-shell 的主程序 sudo apt-get remove gnome-shell 3.卸载 gnome sudo apt-ge ...
- JavaScript设计模式 - 策略模式(表单验证)
表单提交的时候,总是要校验,不同的表单可能校验相同的功能. 为了避免代码重复的复制黏贴,使用策略模式,写出来的代码赏心悦目,且可扩展,还可以作为插件到处使用 <!DOCTYPE html> ...
- FFmpeg在JAVA中的使用以及Process.waitFor()引发的阻塞问题
此文已由作者叶海啸授权网易云社区发布. 欢迎访问网易云社区,了解更多网易技术产品运营经验. FFmpeg是一个开源免费跨平台的视频和音频流方案,可以快速对音视频流进行多方面的处理,本文主要介绍FFmp ...
- vba 弹框
'第三个按钮,上传数据到数据库 Private Sub CommandButton1_Click() str1 = "abcde" str2 = InputBox("请输 ...
- ajax上传文件以及实现上传进度条(转载)
做微信企业号的时候,在‘我的日志'功能模块里边需要添加一个上传文件的功能,并且要显示上传过程中的进度条和提交后的文件名列表,于是做了基于ajax的文件上传,UI用的是MUI框架,后台是TP框架 前端代 ...
- Vue与Element走过的坑。。。。带上Axios
1.Axios中post传参数组(java后端接收数组) 虽然源数据本身就是数组,但是传参时会自动变成key:数值或者服务器无法接收的对象,如下 如果不仔细看,很容易认为这两种情况没毛病..(后端不背 ...
- 反射反射,程序员的快乐+反射案例:打印和Excel导出
还是那几句话: 学无止境,精益求精 十年河东,十年河西,莫欺少年穷 学历代表你的过去,能力代表你的现在,学习代表你的将来 看过设计模式的童鞋都知道:反射反射,程序员的快乐!今天我们就利用反射来制作打印 ...
- [Oracle]PDB Clone 方法
Source: SQL> alter pluggable databse pdb1 open; Target: SQL> alter session set container=cdb$r ...
- Scala学习(四)---映射和元组
映射和元组 摘要: 一个经典的程序员名言是:"如果只能有一种数据结构,那就用哈希表吧".哈希表或者更笼统地说映射,是最灵活多变的数据结构之一.映射是键/值对偶的集合.Scala有一个通用的叫法:元组, ...
- OpenTK教程-1绘制一个三角形
OpenTK的官方文档是真心的少,他们把怎么去安装OpenTK说的很清楚,但是也就仅限于此,这有一篇learn opentk in 15的教程(链接已经失效,译者注),但是并不完美.你可以在15分钟内 ...