转自:http://www.cnblogs.com/del/archive/2007/12/17/1003755.html
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(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;
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.
分享到:
相关推荐
- 对于ini文件,如果要修改或删除键值,使用TIniFile的相应方法如EraseKey或WriteBool等。 - 当文件可能被其他进程使用时,考虑使用适当的文件共享模式。 通过以上方法,开发者可以在Delphi中方便地处理文本文件...
在Delphi中,我们可以使用内置的TIniFile类来轻松地进行Ini文件的操作。下面将详细介绍如何在Delphi中对Ini文件进行读取、写入和修改等操作。 1. ** Ini文件的基本结构 ** Ini文件以纯文本形式存在,通常由三个...
- Delphi XE提供了`TIniFile`组件,它是`Classes`单元的一部分,方便地实现了对INI文件的操作。`TIniFile`提供了读写INI文件的各种方法,如`ReadString`、`WriteString`、`ReadInteger`、`WriteInteger`等。 3. **...
本篇文章将深入探讨在Delphi 7中处理INI文件的三种主要方法:TIniFile、WriteString和ReadString以及自定义的读写函数。 **1. TIniFile类** TIniFile是Delphi提供的一个内置组件,用于方便地读写INI文件。首先,你...
可以使用`TIniFile`类来操作INI文件,例如`WriteInteger`方法来写入列索引和宽度。 2. **恢复DBGrid列状态** - 应用程序启动时,或者用户选择恢复设置时,先从INI文件读取列的状态信息。使用`TIniFile`的`...
9. **优化性能**:虽然ini文件操作相对简单,但大量读写可能影响性能。可以考虑缓存已读取的配置,或者批量处理更改,以提高效率。 10. **版本控制与兼容性**:随着程序升级,ini文件的结构可能会变化。为保证兼容...
2. **配置文件**:存储最近打开文件记录通常会使用配置文件,如INI文件或XML文件,以便持久化数据。Delphi提供了`TIniFile`和`TXMLDocument`等类来方便地操作这些文件。 3. **菜单栏和上下文菜单**:在Windows应用...
这可以是XML文件、ini文件、注册表项或者更现代的数据库系统。Delphi提供了各种组件,如TIniFile、TRegistry,以及XML解析库,来方便地读写这些数据。 2. 文件打开事件:在程序中,你需要监听文件打开事件。通常,...
TIniFile用于处理.INI配置文件,而TRegistry则与Windows注册表交互。 1. **创建历史记录结构** 为了存储文件路径,我们可以定义一个记录结构,例如: ```delphi TRecentFile = record FileName: string; end; ...
4. INI文件操作:如何使用TIniFile读写配置文件,以实现定时关机等功能。 以上内容是根据“WakeUP_Poweroff.rar”压缩包中的资源,特别是“WakeUP_Poweroff”项目,对网络唤醒和Delphi编程实践的深入解析。对于希望...
`TIniFile`,用于读写INI配置文件;`TMemo`,可以用来显示和编辑文本文件内容等。 6. **Delphi的事件驱动编程**: 通常在Delphi中,我们会将文件读写操作封装在按钮点击事件或其他用户交互事件中,确保在正确的...
Delphi提供了`TIniFile`组件,可以方便地读写ini文件。例如: ```delphi uses IniFiles; var Ini: TIniFile; ProcessPath: string; begin Ini := TIniFile.Create('config.ini'); try // 读取进程路径 ...
这个系统利用了Delphi的强大功能,结合ini文件进行数据的读写操作,能够根据设定的题目数量自动创建和管理评价问卷。下面我们将深入探讨这个系统的组成部分和涉及的技术知识。 首先,Delphi是一个集成开发环境(IDE...
1. **文件操作**:在Delphi中,我们可以使用`TFile`和`TFileStream`等类来读写文件。例如,为了保存程序状态,我们需要将相关信息写入文件,然后在启动时读取这些信息。 2. **数据序列化**:为了将对象的状态转化...
INI文件是Windows操作系统中常见的配置文件格式,用于存储应用程序的设置和参数。在Delphi中,我们可以使用TIniFile类来轻松读写这些文件。在本例中,boult.ini.bak可能是原始配置文件的备份,通过源码我们可以学习...
Delphi提供`TIniFile`类,方便读写INI格式的配置文件。 6. **项目管理**: - `main.ddp`和`.ddp`文件是Delphi项目文件,它们记录了项目的所有设置,包括使用的单元、编译选项、依赖项等。`.dpr`(项目源文件)会...
Delphi提供了一系列的文件操作函数和类,如`TIniFile`,可以方便地与配置文件交互。 3. **加密解密**:为了保护系统敏感信息,初始化工具可能包含了加密和解密算法。Delphi支持多种加密库,例如,可以使用内置的`...
在Delphi中,可以使用TIniFile或TMemIniFile类来操作此类配置文件,这些类提供了读写配置文件的接口,如ReadString、WriteString等方法。 "timestart.exe"可能是由Delphi编译的主程序,它包含了定时器逻辑和执行...
读写配置文件的操作包括使用TIniFile对象来创建和初始化INI文件对象,并通过读写字符串的方式来实现对特定参数的读取和设置。 最后,文章还提到了调用Oracle导出程序的具体实现。在文章给出的代码片段中,作者详细...
6. **配置文件管理**:为了保存用户的设置,如定时时间、录像参数等,可以使用配置文件(如`.ini`文件)。Delphi提供了`TIniFile`类,可以方便地读写配置文件。 7. **错误处理和日志记录**:任何程序都可能出现异常...