INI檔案讀寫

2021-08-22 03:34:20 字數 1988 閱讀 1443

一、有必要了解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檔案

using system using system.io using system.text using system.configuration using system.runtime.interopservices using system.collections.specialized us...

讀寫ini檔案

using system using system.io using system.text using system.configuration using system.runtime.interopservices using system.collections.specialized us...

讀寫ini檔案

import configparser code ft cfg1 c code ini conf configparser.configparser conf.read cfg1 讀取 try a conf.get 標題 字段 print a except pass 新增內容 try conf.ad...