INI 檔案是一種文本檔案,其内容分為若幹段,每一段都包含若幹了“關鍵字-值”對,它的每個條目都可以通過它所在的段和關鍵字名來識别。Windows 程式和作業系統一般用預制(INI)檔案來儲存程式設定以及其他的資訊。
1.iNI 檔案的結構
;注釋
[小節名]
關鍵字=值
INI 檔案允許有多個小節, 每個小節又允許有多個關鍵字, “=” 後面是該關鍵字的值。 值
的類型有 3 種:字元串、整型數值和布爾值。其中字元串存貯在 INI 檔案中時沒有引号;布爾真值用 1 表示,布爾假值用 0 表示;注釋以分号“; ”開頭。
2.定義
Delphi 中在使用 INI 檔案前要先定義,定義方法如下:
(1)在 Interface 的 Uses 節必須增加 IniFiles;
(2)在 Var 變量定義部分增加定義一行相應的變量:myinifile:Tinifile;
然後,就可以對變量 myinifile 進行建立、打開、讀取、寫入等操作了。
3.打開 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);
或者myinifile:=Tinifile.Create(extractfiledir(application.ExeName)+'\program.ini');這個是儲存在目前運作程式的目錄檔案夾下;
4.讀取關鍵字的值
針對 INI 檔案支援的字元串、整型數值、布爾值 3 種資料類型,TINIfiles 類提供了 3 種
不同的對象方法來讀取 INI 檔案中關鍵字的值。 假設已定義變量 vs、vi、vb 分别為 string、integer、boolean 類型。
vs:=myinifile.Readstring(小節名,關鍵字,預設值);
vi:=myinifile.Readinteger(小節名,關鍵字,預設值);
vb:=myinifile.Readbool(小節名,關鍵字,預設值);
其中預設值為該 INI 檔案不存在該關鍵字時傳回的預設值。
5.寫入 INI 檔案
同樣的,TInifile 類也提供了 3 種不同的對象方法,向 INI 檔案寫入字元串、整型數及布
爾類型的關鍵字。
myinifile.writestring(小節名,關鍵字,變量或字元串值);
myinifile.writeinteger(小節名,關鍵字,變量或整型數值);
myinifile.writebool(小節名,關鍵字,變量或 True 或 False);
當這個 INI 檔案不存在時,上面的語句還會自動建立該 INI 檔案。
6.删除關鍵字
除了可用寫入方法增加一個關鍵字,Tinifile 類還提供了一個删除關鍵字的對象方法:
myinifile.DeleteKey(小節名,關鍵字);
7.小節操作
增加一個小節可用寫入的方法來完成,删除一個小節可用下面的對象方法:
myinifile.EraseSection(小節名);
另外 Tinifile 類還提供了 3 種對象方法來對小節進行操作:
myinifile.readsection(小節名,TStrings 變量); //可将指定小節中的所有關鍵字名讀取至一個字元串清單變量中
myinifile.readsections(TStrings 變量);//可将 INI 檔案中所有小節名讀取至一個字元串清單變量中去。
myinifile.readsectionvalues(小節名,TStrings 變量);
{可将 INI 檔案中指定小節的所有行(包括關鍵字、=、值)讀取至一個字元串清單變量中去}。