博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ini 文件操作记要(1): 使用 TIniFile
阅读量:5885 次
发布时间:2019-06-19

本文共 5207 字,大约阅读时间需要 17 分钟。

  hot3.png

unit Unit1;interfaceuses  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(0),'.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,111);  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,222);  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,333);  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',0);  b := ini.ReadBool('BBB','BBoolean',False);  f := ini.ReadFloat('BBB','BDouble',0);  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));       {222}  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.

转载于:https://my.oschina.net/hermer/blog/320638

你可能感兴趣的文章
读取手机硬件信息
查看>>
一致哈希
查看>>
The connection to adb is down, and a severe error has occured. 问题解决
查看>>
在Jenkins中配置运行远程shell命令
查看>>
代码杂记
查看>>
linux中防CC攻击两种实现方法(转)
查看>>
《Programming WPF》翻译 第9章 4.模板
查看>>
Windows7+VS2012下OpenGL 4的环境配置
查看>>
Linux Kernel中断子系统来龙去脉浅析【转】
查看>>
Linux NFS服务器的安装与配置
查看>>
Ada boost学习
查看>>
Unity中SendMessage和Delegate效率比较
查看>>
Linux下EPoll通信模型简析
查看>>
react-native 制作购物车ShopCart
查看>>
Linux服务器 java生成的图片验证码乱码问题
查看>>
【转】QT中QDataStream中浮点数输出问题
查看>>
mongodb3.2配置文件yaml格式 详解
查看>>
RecycleView
查看>>
一致性哈希算法(consistent hashing)
查看>>
centOS_5.4_安装Open×××
查看>>