日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

ini 文件操作記要(1): 使用 TIniFile - 萬(wàn)一的 Delphi 博客 - 博客園

 遠(yuǎn)在南非 2010-08-21
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 文件的小節(jié)與關(guān)鍵字}

{
ini文件結(jié)構(gòu):
;注釋
[小節(jié)名]
關(guān)鍵字=值

INI文件支持: string、integer、boolean、Date、Time、DateTime、Double 與二進(jìn)制類型
string 值沒(méi)有引號(hào)
boolean 的真假用 1、0 表示
}


procedure TForm1.FormCreate(Sender: TObject);
begin
path := ChangeFileExt(ParamStr(0),'.ini');
ini := TIniFile.Create(path); {ini 對(duì)象建立需要文件路徑參數(shù), 如果缺少路徑會(huì)默認(rèn)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);

{寫入結(jié)果:
[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',''); {最后一個(gè)參數(shù)是默認(rèn)值}
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;

//讀入所有小節(jié)名到 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;

//讀入指定小節(jié)的所有關(guān)鍵字到 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;

//讀入指定小節(jié)的所有關(guān)鍵字與值到 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'); {刪除關(guān)鍵字}
ini.EraseSection('CCC'); {刪除小節(jié)}
// ini.UpdateFile; {保存到文件}

{添加小節(jié)與關(guān)鍵字或修改值, 直接寫入即可}
end;

//其他功能
procedure TForm1.Button7Click(Sender: TObject);
var
b: Boolean;
s: string;
begin
b := ini.SectionExists('DDD'); {判斷某個(gè)小節(jié)是否存在}
b := ini.ValueExists('AAA','AString'); {判斷某個(gè)關(guān)鍵字的值是否存在}
s := ini.FileName; {獲取文件名}
end;

procedure TForm1.FormDestroy(Sender: TObject);
begin
ini.Free;
end;

end.

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多