Delphi中的INI檔案程式設計

2021-05-25 20:16:19 字數 4254 閱讀 7483

----   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;  

procedure   formcreate(sender:   tobject);  

procedure   formdestroy(sender:   tobject);  

procedure   timer1timer(sender:   tobject);  

private  

public  

end;  

var  

form1:   tform1;  

implementation  

var  

myinifile:tinifile;  

procedure   tform1.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;  

procedure   tform1.formdestroy(sender:   tobject);  

begin  

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

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

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

myinifile.destroy;  

end;  

procedure   tform1.timer1timer(sender:   tobject);  

begin  

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

end;  

end.  

Delphi中的INI檔案程式設計

tinifile類中定義了許多成員函式,這裡介紹幾個使用頻率較高的成員函式 create 函式定義為 constructor create const filename string 該函式建立tinifile類的物件。引數filename是要讀寫的初始化檔名。若讀寫的檔案在windows的目錄裡 ...

Delphi中的INI檔案程式設計

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

DELPHI中的INI檔案程式設計

第一部分 ini檔案的結構 注釋 小節名 關鍵字 值 ini 檔案允許有多個小節,每個小節又允許有多個關鍵字,後面是該關鍵字的值。值的型別有三種 字串 整型數值和布林值。其中字串存貯在 ini檔案中時 沒有引號,布林真值用 1表示,布林假值用 0表示。注釋以分號 開頭。第二部分 定義 1 在inte...