delphi操作ini檔案

2021-08-29 16:45:46 字數 3795 閱讀 7869

如何操作ini檔案?  

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

一、有必要了解 ini 檔案的結構:

;注釋

[小節名]

關鍵字=值

...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檔案支援的字串、整型數值、布林值三種資料型別,tinifiles類提供了三種不同的物件方法來讀取ini檔案中關鍵字的值。

假設已定義變數vs、vi、vb分別為string、integer、boolean型別。

vs:=myinifile.readstring ('小節名','關鍵字',預設值);

vi:=myinifile.readinteger ('小節名','關鍵字',預設值);

vb:=myinifile.readbool ('小節名','關鍵字',預設值);

其中預設值為該ini檔案不存在該關鍵字時返回的預設值。

五、寫入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;

九、乙個例項

下面用乙個簡單的例子(如圖),演示了建立、讀取、存貯ini檔案的方法。myini.ini檔案中包含有「程式引數」小節,和使用者名稱(字串)、是否正式使用者(布林值)和已執行時間(整型值)三個關鍵字。程式在窗體建立讀取這些資料,並在窗體釋放時寫myini.ini檔案。

附源程式清單

unit unit1;

inte***ce

uses

windows,messages, sysutils, classes, graphics, controls, forms, dialogs, inifiles, stdctrls, extctrls;

type

tform1=class(tform)

edit1:tedit;

checkbox1:tcheckbox;

edit2:tedit;

label1:tlabel;

label2:tlabel;

timer1:ttimer;

label3:tlabel;

procedureformcreate(sender:tobject);

procedureformdestroy(sender:tobject);

proceduretimer1timer(sender:tobject);

private

public

end;

var

form1:tform1;

implementation

var

myinifile:tinifile;

proceduretform1.formcreate(sender:tobject);

var

filename:string;

begin

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

myinifile:=tinifile.create(filename);

edit1.text:=myinifile.readstring ('程式引數','使用者名稱','預設的使用者名稱');

edit2.text:=inttostr(myinifile.readinteger('程式引數','已執行時間',0));

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

end;

proceduretform1.formdestroy(sender:tobject);

begin

myinifile.writestring('程式引數','使用者名稱',edit1.text);

myinifile.writeinteger('程式引數','已執行時間',strtoint(edit2.text));

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

myinifile.destroy;

end;

proceduretform1.timer1timer(sender:tobject);

begin

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

end;

end.  

Delphi 操作Ini檔案

delphi提供了乙個tinifile類,使我們可以非常靈活的處理ini檔案 一 ini檔案的結構 小節名 ini檔案 關鍵字1 值1 關鍵子2 值2 ini檔案允許有多個小節,每個小節又允許有多個關鍵字,後面是該關鍵字的值。值的型別有三種 字串 整型數值和布林值。其中字串存貯在ini檔案中時沒有引...

DELPHI 如何操作INI檔案?

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

delphi如何操作INI檔案

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