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的更多相关文章

  1. ini 文件操作记要(1): 使用 TIniFile

    ini 文件操作记要(1): 使用 TIniFile unit Unit1; interface uses   Windows, Messages, SysUtils, Variants, Class ...

  2. ini 文件操作记要(2): 使用 TMemIniFile

    unit Unit1; interface uses  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Form ...

  3. delphi对ini文件的操作(转载 万一)

    ini 文件操作记要(1): 使用 TIniFileunit Unit1;interfaceusesWindows, Messages, SysUtils, Variants, Classes, Gr ...

  4. Delphi对ini文件的操作

    一.INI文件的结构:; 注释[小节名]关键字=值 INI文件允许有多个小节,每个小节又允许有多个关键字, “=”后面是该关键字的值. 值的类型有三种:字符串.整型数值和布尔值.其中字符串存贮在INI ...

  5. ini文件操作

    Config.ini 文件操作 [SYS] sysname=hy company=hyhy tel=2 using System; using System.Collections.Generic; ...

  6. Delphi中文本文件的操作

    Delphi中文本文件的操作 相关知识内容: 在对文本文件进行任何处理之前,首先要打开此文本文件.声明变量:通过此变量可以来引用一个文本文件. 打开一个文件需要两步:首先是 AssignFile(), ...

  7. Ini文件操作类

    /// <summary> /// Ini文件操作类 /// </summary> public class Ini { // 声明INI文件的写操作函数 WritePriva ...

  8. 第32课 Qt中的文件操作

    1. Qt的中IO操作 (1)Qt中IO操作的处理方式 ①Qt通过统一的接口简化了文件和外部设备的操作方式 ②Qt中的文件被看作一种特殊的外部设备 ③Qt中的文件操作与外部设备的操作相同 (2)IO操 ...

  9. winform INI文件操作辅助类

    using System;using System.Runtime.InteropServices;using System.Text; namespace connectCMCC.Utils{ // ...

随机推荐

  1. shell编程之循环

    一.for循环 for循环是Shelll中最常见的循环结构,根据书写习惯又分为列表for循环.不带列表的for循环以及类C的for循环.for循环是一种运行前的测试语句,也就是在运行任何循环体之前先要 ...

  2. sparse 稀疏函数的用法

    sparse函数 功能:创建稀疏矩阵 用法1:S=sparse(X)—将矩阵X转化为稀疏矩阵的形式,即矩阵X中任何零元素去除,非零元素及其下标(索引)组成矩阵S. 如果X本身是稀疏的,sparse(X ...

  3. Omi框架学习之旅 - 组件通讯(data通讯) 及原理说明

    接着上一篇的data-*通讯,这篇写data通讯. data通讯主要为了复杂的数据通讯. 老规矩:先上demo代码, 然后提出问题, 之后解答问题, 最后源码说明. class Hello exten ...

  4. 一、java虚拟机内存区域

    内存区域 java虚拟机在java程序的过程中会把它所管理的内存划分为若干个不同的数据区域.java虚拟机规范将JVM管理的内存分为:程序计数器.本地方法栈.Java虚拟机栈.方法区.Java堆.如下 ...

  5. Spring Boot Admin 日志查看功能

    按照官方配置POM和配置文件后,能够结合Eureka查看各微服务状态,但是日志始终查看不了,出现406等错误. 最后偶然发现,是在在从官方网站拷贝配置的时候,出现的问题. logging.file=* ...

  6. hadoop_spark伪分布式实验环境搭建和运行实例详细教程

    hadoop+spark伪分布式环境搭建 安装须知 单机模式(standalone): 该模式是Hadoop的默认模式.这种模式在一台单机上运行,没有分布式文件系统,而是直接读写本地操作系统的文件系统 ...

  7. 【转】Git版本控制软件从入门到精通学习手册

    GIT 学习手册简介 本站为 Git 学习参考手册.目的是为学习与记忆 Git 使用中最重要.最普遍的命令提供快速翻阅. 这些命令以你可能需要的操作类型划分,并且将提供日常使用中需要的一些常用的命令以 ...

  8. libmysqlclient.so.16: cannot open shared object file: No such file or directory

    编译安装的mysql5.6.39,安装目录是/usr/local/mysql,启用程序时报错:libmysqlclient.so.16: cannot open shared object file: ...

  9. 作用域&作用域链和with,catch语句&闭包

    作用域(函数) 作用域:变量与函数的可访问范围,即作用域控制着变量与函数的可见性和生命周期; 在一些类C编程语言中花括号内的每一段代码都有各自的作用域,而且变量在声明它们的代码段外是不可见的,称之为块 ...

  10. vue 动态修改 css

    <div v-for="i in resultDate" v-if="i.ProjectId>='4'" @click=EveyTesttInfo( ...