Delphi提供了一個TInifile類,使我們可以非常靈活的處理INI檔案
一.INI檔案的結構
[小節名]ini檔案
關鍵字1=值1
關鍵子2=值2
INI檔案允許有多個小節,每個小節又允許有多個關鍵字,“=”後面是該關鍵字的值。
值的類型有三種:字串、整型數值和布爾值。其中字串存貯在INI檔案中時沒有引號,布爾真值用1表示,布爾假值用0表示。
二、定義
1、 在Interface的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檔案
myinifile.Readstring(小節名,關鍵字,變數或字串值); //讀字串
myinifile.ReadInteger(小節名,關鍵字,變數或整型數值); //讀整數
myinifile.readbool(小節名,關鍵字,變數或True或False); //讀布爾類型
五、寫入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檔案裡邊修改,效果和在程式運行過程中修改時一樣的。