Delphi讀寫ini檔案

2021-08-29 17:52:01 字數 4132 閱讀 6699

ini檔案在系統配置及應用程式引數儲存與設定方面,具有很重要的作用,所以視覺化的程式設計一族,如vb、vc、vfp、delphi等都提供了讀寫ini檔案的方法,其中delphi中操作ini檔案,最為簡潔,這是因為delphi提供了乙個tinifile類,使我們可以非常靈活的處理ini檔案

一.ini檔案的結構

[小節名]ini檔案

關鍵字1=值1

關鍵子2=值2

ini檔案允許有多個小節,每個小節又允許有多個關鍵字,「=」後面是該關鍵字的值。

值的型別有三種:字串、整型數值和布林值。

其中字串存貯在ini檔案中時沒有引號,布林真值用1表示,布林假值用0表示。

二、定義

1、在inte***ce的uses節增加inifiles;

2、在var變數定義部分增加一行: myinifile:tinifile;

定義類的乙個例項。然後,就可以對變數myinifile進行建立、開啟、讀取、寫入等操作了。

三、開啟ini檔案

myinifile:=tinifile.create(program.ini);

上面這一行語句將會為變數myinifile與具體的檔案program.ini建立聯絡,然後,就可以通過變數myinifile,來讀寫program.ini檔案中的關鍵字的值了。

值得注意的是,如果括號中的檔名沒有指明路徑的話,那麼這個program.ini檔案會儲存在windows目錄中,把program.ini檔案儲存在應用程式當前目錄中的方法是:為其指定完整的路徑及檔名。

下面的兩條語句可以完成這個功能:

filename:=extractfilepath(paramstr (0))+ 'program.ini'; myinifile:=tinifile.create(filename);

四、寫入ini檔案

tinifile類也提供了三種不同的物件方法,向ini檔案寫入字串、整型數及布林型別的關鍵字。

myinifile.writestring(小節名,關鍵字,變數或字串值);

myinifile.writeinteger(小節名,關鍵字,變數或整型數值);

myinifile.writebool(小節名,關鍵字,變數或true或false);

當這個ini檔案不存在時,上面的語句還會自動建立該ini檔案。

五、刪除關鍵字

除了可用寫入方法增加乙個關鍵字,tinifile類還提供了乙個刪除關鍵字的物件方法:

myinifile.deletekey(小節名,關鍵字);

六、小節操作

增加乙個小節可用寫入的方法來完成,刪除乙個小節可用下面的物件方法:

myinifile.erasesection(小節名);

另外tinifile類還提供了三種物件方法來對小節進行操作:

myinifile.readsection(小節名,tstrings變數);

可將指定小節中的所有關鍵字名讀取至乙個字串列表變數中;

myinifile.readsections(tstrings變數);

可將ini檔案中所有小節名讀取至乙個字串列表變數中去。

myinifile.readsectionvalues(小節名,tstrings變數);

可將ini檔案中指定小節的所有行(包括關鍵字、=、值)讀取至乙個字串列表變數中去。

七、釋放

在適當的位置用下面的語句釋放myinifile:

myinifile.distory;

下面是具體例子。源**如下。

建立了乙個myini.ini檔案,有乙個名為newini的小節,有3個關鍵字「使用者名稱」「已執行時間」「是否正式使用者」。執行效果,可以在edit1裡邊填入「使用者名稱」;edit2顯示時間,不可以改變量值;checkbox1通過打勾,儲存時間和「使用者名稱」進入myini.ini檔案裡邊,重新開啟應用程式時,顯示的時儲存下來的時間和填入的「使用者名稱」,如果在myini.ini檔案裡邊修改,效果和在程式執行過程中修改時一樣的。

unit unit1;

inte***ce

uses

windows,messages,sysutils,variants,classes,graphics,controls,

forms,dialogs,inifiles,stdctrls,extctrls;

type

tform1 = class(tform)

label1: tlabel;

label2: tlabel;

label3: tlabel;

edit1: tedit;

edit2: tedit;

timer1: ttimer;

checkbox1: tcheckbox;

procedure formcreate(sender: tobject);

procedure formdestroy(sender: tobject);

procedure timer1timer(sender: tobject);

private

public

end;

varform1: tform1;

implementation

varmyinifile:tinifile;

procedure tform1.formcreate(sender: tobject);

varfilename:string;

begin

filename := extractfilepath(paramstr(0))+'myini.ini';

myinifile := tinifile.create(filename);

edit1.text := myinifile.readstring('newini','使用者名稱','胡長浩');

edit2.text := inttostr(myinifile.readinteger ('newini','已執行時間',0));

checkbox1.checked := myinifile.readbool ('newini','是否正式使用者',false);

end;

procedure tform1.formdestroy(sender: tobject);

begin

myinifile.writestring('newini','使用者名稱', edit1.text);

myinifile.writeinteger('newini','已執行時間', strtoint(edit2.text));

myinifile.writebool('newini','是否正式使用者', checkbox1.checked);

myinifile.destroy;

end;

procedure tform1.timer1timer(sender: tobject);

begin

edit2.text:=inttostr(strtoint(edit2.text)+1);

end;

end.

用delphi讀寫ini檔案

function inireadstring(afilepath,const section, ident, default: string):string;

varmyinifile:tinifile;

begin

result := default;

trymyinifile:=tinifile.create(afilepath);

result := myinifile.readstring(section,ident,default);

fillay

myinifile.free;

end;

end;

function iniwritestring(afilepath,const section, ident, astr: string):boolean;

varmyinifile:tinifile;

begin

result := false;

trymyinifile:=tinifile.create(afilepath);

myinifile.writestring(section,ident,astr);

result := true;

fillay

myinifile.free;

end;

end;

Delphi讀寫ini檔案

ini檔案在系統配置及應用程式引數儲存與設定方面,具有很重要的作用,所以視覺化的程式設計一族,如vb vc vfp delphi等都提供了讀寫ini檔案的方法,其中delphi中操作ini檔案,最為簡潔,這是因為delphi提供了乙個tinifile類,使我們可以非常靈活的處理ini檔案 一 ini...

Delphi讀寫ini檔案詳解

1.delphi讀寫ini檔案需要引用 inifiles 單元 2.定義變數 varfilename string myinifile tinifile 3.變數附值 filename extractfilepath paramstr 0 program.ini 指明路徑.如果不指明路徑.檔案將在w...

DELPHI中對INI檔案的讀寫

內容 ini檔案在系統配置及應用程式引數儲存與設定方面,具有很重要的作用,所以視覺化的程式設計一族,如vb vc vfp delphi等都提供了讀寫ini檔案的方法,其中delphi中操作ini檔案,最為簡潔,這是因為delphi6.0提供了乙個tinifile類,使我們可以非常靈活的處理ini檔案...