下面是一个完整的例子,它介绍了一个INI文件的基本使用方法,让初入门的读者对它有一
个简单的认识。而且这个例程的结构性还算不是很糟,应该是很容易理解的。
例子中先是用 USE 引用了 INI 的代码单元.
我们在窗体上放了两上按钮,按钮1是用来往INI文件里写信息的,按钮2则从中读出来。
从中可以看出,INI文件在读写之前要先建一个变量将它联系起来,再进行读写。在读写完
之后及时进行释放,以使信息可以准确的写进INI文件中。例如:
FINI.WriteString('MainGrou', 'SubStr', 'This is a string.');
这一句,'MainGrou'是它的主键,也就是在INI文件中用中括号括着的。'SubStr'是子键,
它隶属于一个指定的主键,在INI文件中显示成一个在等号前面的字符串。
'This is a string.'是这个子键的值。对于一个指定的INI文件,只可有一个指定名称的主
键,而每一个不同的主键则可以用同名的子键保存各自的信息而不互相干扰。
在
程序中,我们用 Try..Finally 语句来确保无论任何情况下它都能够得到释放,这的确
是个好主意,其它一些应该释放的东西也应该这么做的。
按钮2中我们读出了INI文件的内容。我们注意到Read...()函数的第三个参数,那是它的默
认值,也就是如果在INI文件中并没有此子键,就用这个默认值作为返回值。我们读出 V3
后进行判断,如果是TRUE则读一个字符串进行显示,否则读两个整数并取和显示出来。
因为经常引用到 FINI 这个变量,在按钮2中我们用 With 使整个程序看起来更加直接,结
构更加明确,但要注意,应用 With 应该适当,不要太滥,如果这样只会让程序更加难看,
有时还会引起引用错乱。
==========================================
复制内容到剪贴板
代码:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, INIFiles;
type
TForm1 = class(TForm)
Button1: TButton;
Button2: TButton;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.DFM}
procedure TForm1.Button1Click(Sender: TObject);
Var
FINI : TINIFile;
begin
FINI := TINIFile.Create('C:\Test.INI');
Try
FINI.WriteString('MainGrou', 'SubStr', 'This is a string.');
FINI.WriteInteger('MainGrou', 'Int1', 88);
FINI.WriteInteger('MainGrou', 'Int2', 345);
FINI.WriteBool('MainGrou', 'Bool', True);
Finally
FINI.Destroy;
End;
end;
procedure TForm1.Button2Click(Sender: TObject);
Var
FINI : TINIFile;
V1, V2 : Integer;
V3 : Boolean;
V4 : String;
begin
FINI := TINIFile.Create('C:\Test.INI');
With FINI do
Try
V3 := fini.ReadBool('MainGrou', 'Bool', True);
If V3 then
begin
V4 := fini.ReadString('MainGrou', 'SubStr', 'Read Error.');
ShowMessage(V4);
end
else
begin
V1 := fini.ReadInteger('MainGrou', 'Int1', 0);
V2 := fini.ReadInteger('MainGrou', 'Int2', 0);
ShowMessage(IntToStr(V1+V2));
end;
Finally
Destroy;
End;
end;
end.