第一部分:INI文件的結(jié)構(gòu):
;——注釋
[小節(jié)名]
關(guān)鍵字=值
...
►---- INI文件允許有多個小節(jié),每個小節(jié)又允許有多個關(guān)鍵字, “=”后面是該關(guān)鍵字的值。
►---- 值的類型有三種:字符串、整型數(shù)值和布爾值。其中字符串存貯在INI文件中時沒有引號,布爾真值用1表示,布爾假值用0表示。
►---- 注釋以分號“;”開頭。
第二部分:
定義
►---- 1、在Interface的Uses節(jié)增加IniFiles;
►---- 2、在Var變量定義部分增加一行:
►fileHandle:Tinifile;
►---- 然后,就可以對變量fileHandle進(jìn)行創(chuàng)建、打開、讀取、寫入等操作了。
下面是一個通過ini文件讀取數(shù)據(jù)庫設(shè)置的例子,通過這個例子可以使我們更好地理解。
procedure DBConfig(var server_name,db_name,user_id,user_pwd:string);
var
fileHandle:tinifile;
begin
fileHandle:=TIniFile.Create(GetCurrentDir()+’\\dbconfig.ini’);
server_name:=fileHandle.ReadString(’dbsettings’,’server_name’,’ZYF’);
db_name:=fileHandle.ReadString(’dbsettings’,’db_name’,’Al_Product’);
user_id:=fileHandle.ReadString(’dbsettings’,’user_id’,’tap’);
user_pwd:=fileHandle.ReadString(’dbsettings’,’user_pwd’,’tap’);
fileHandle.Destroy;
end;
注意:如果括號中的文件名沒有指明路徑的話,那么這個dbconfig.ini文件必須存儲在Windows目錄中,才能讀出設(shè)定值,否則只有默認(rèn)值,如果想把dbconfig.ini文件存儲在應(yīng)用程序當(dāng)前目錄中,讀取的方法是:為其指定完整的路徑及文件名。
除了應(yīng)用上面的GetCurrentDir()方法,下面的兩條語句也可以完成這個功能:
►Filename:=ExtractFilePath(Paramstr(0))+’program.ini’;
►myinifile:=Tinifile.Create(filename);
這里主要用到了下面的方法來讀取文件
——fileHandle:=TIniFile.Create(GetCurrentDir()+’\\dbconfig.ini’); //在當(dāng)前工作目錄下,創(chuàng)建一個INI文件
——filehandle.Readstring(’小節(jié)名’,’關(guān)鍵字’,缺省值); //讀取一個關(guān)鍵字,可以指定缺省值
——fileHandle.Destroy //操作完畢,結(jié)束句柄
第三部分:其他操作
► 寫INI文件
同樣的,TIniFile類也提供了三種不同的對象方法,向INI文件寫入字符串、整型數(shù)及布爾類型的關(guān)鍵字。
fileHandle.WriteString(’小節(jié)名’,’關(guān)鍵字’,變量或字符串值);
fileHandle.WriteInteger(’小節(jié)名’,’關(guān)鍵字’,變量或整型數(shù)值);
fileHandle.WriteBool(’小節(jié)名’,’關(guān)鍵字’,變量或True或False);
當(dāng)這個INI文件不存在時,還會自動創(chuàng)建該INI文件。
► 刪除關(guān)鍵字
---- 除了可用寫入方法增加一個關(guān)鍵字,Tinifile類還提供了一個刪除關(guān)鍵字的對象方法:
fileHandle.DeleteKey(’小節(jié)名’,’關(guān)鍵字’);
► 小節(jié)操作
--- 增加一個小節(jié)可用寫入的方法來完成,刪除一個小節(jié)可用下面的對象方法:
fileHandle.EraseSection(’小節(jié)名’);
另外Tinifile類還提供了三種對象方法來對小節(jié)進(jìn)行操作:
fileHandle.ReadSection(‘小節(jié)名’,TStrings變量);
可將指定小節(jié)中的所有關(guān)鍵字名讀取至一個字符串列表變量中;
fileHandle. ReadSections(TStrings變量);
可將INI文件中所有小節(jié)名讀取至一個字符串列表變量中去。
fileHandle.ReadSectionValues(’小節(jié)名’,TStrings變量);
可將INI文件中指定小節(jié)的所有行(包括關(guān)鍵字、=、值)讀取至一個
字符串列表變量中去。
► 釋放:在適當(dāng)?shù)奈恢糜孟旅娴恼Z句釋放fileHandle:
fileHandle.Destroy;
;——注釋
[小節(jié)名]
關(guān)鍵字=值
...
►---- INI文件允許有多個小節(jié),每個小節(jié)又允許有多個關(guān)鍵字, “=”后面是該關(guān)鍵字的值。
►---- 值的類型有三種:字符串、整型數(shù)值和布爾值。其中字符串存貯在INI文件中時沒有引號,布爾真值用1表示,布爾假值用0表示。
►---- 注釋以分號“;”開頭。
第二部分:
定義
►---- 1、在Interface的Uses節(jié)增加IniFiles;
►---- 2、在Var變量定義部分增加一行:
►fileHandle:Tinifile;
►---- 然后,就可以對變量fileHandle進(jìn)行創(chuàng)建、打開、讀取、寫入等操作了。
下面是一個通過ini文件讀取數(shù)據(jù)庫設(shè)置的例子,通過這個例子可以使我們更好地理解。
procedure DBConfig(var server_name,db_name,user_id,user_pwd:string);
var
fileHandle:tinifile;
begin
fileHandle:=TIniFile.Create(GetCurrentDir()+’\\dbconfig.ini’);
server_name:=fileHandle.ReadString(’dbsettings’,’server_name’,’ZYF’);
db_name:=fileHandle.ReadString(’dbsettings’,’db_name’,’Al_Product’);
user_id:=fileHandle.ReadString(’dbsettings’,’user_id’,’tap’);
user_pwd:=fileHandle.ReadString(’dbsettings’,’user_pwd’,’tap’);
fileHandle.Destroy;
end;
注意:如果括號中的文件名沒有指明路徑的話,那么這個dbconfig.ini文件必須存儲在Windows目錄中,才能讀出設(shè)定值,否則只有默認(rèn)值,如果想把dbconfig.ini文件存儲在應(yīng)用程序當(dāng)前目錄中,讀取的方法是:為其指定完整的路徑及文件名。
除了應(yīng)用上面的GetCurrentDir()方法,下面的兩條語句也可以完成這個功能:
►Filename:=ExtractFilePath(Paramstr(0))+’program.ini’;
►myinifile:=Tinifile.Create(filename);
這里主要用到了下面的方法來讀取文件
——fileHandle:=TIniFile.Create(GetCurrentDir()+’\\dbconfig.ini’); //在當(dāng)前工作目錄下,創(chuàng)建一個INI文件
——filehandle.Readstring(’小節(jié)名’,’關(guān)鍵字’,缺省值); //讀取一個關(guān)鍵字,可以指定缺省值
——fileHandle.Destroy //操作完畢,結(jié)束句柄
第三部分:其他操作
► 寫INI文件
同樣的,TIniFile類也提供了三種不同的對象方法,向INI文件寫入字符串、整型數(shù)及布爾類型的關(guān)鍵字。
fileHandle.WriteString(’小節(jié)名’,’關(guān)鍵字’,變量或字符串值);
fileHandle.WriteInteger(’小節(jié)名’,’關(guān)鍵字’,變量或整型數(shù)值);
fileHandle.WriteBool(’小節(jié)名’,’關(guān)鍵字’,變量或True或False);
當(dāng)這個INI文件不存在時,還會自動創(chuàng)建該INI文件。
► 刪除關(guān)鍵字
---- 除了可用寫入方法增加一個關(guān)鍵字,Tinifile類還提供了一個刪除關(guān)鍵字的對象方法:
fileHandle.DeleteKey(’小節(jié)名’,’關(guān)鍵字’);
► 小節(jié)操作
--- 增加一個小節(jié)可用寫入的方法來完成,刪除一個小節(jié)可用下面的對象方法:
fileHandle.EraseSection(’小節(jié)名’);
另外Tinifile類還提供了三種對象方法來對小節(jié)進(jìn)行操作:
fileHandle.ReadSection(‘小節(jié)名’,TStrings變量);
可將指定小節(jié)中的所有關(guān)鍵字名讀取至一個字符串列表變量中;
fileHandle. ReadSections(TStrings變量);
可將INI文件中所有小節(jié)名讀取至一個字符串列表變量中去。
fileHandle.ReadSectionValues(’小節(jié)名’,TStrings變量);
可將INI文件中指定小節(jié)的所有行(包括關(guān)鍵字、=、值)讀取至一個
字符串列表變量中去。
► 釋放:在適當(dāng)?shù)奈恢糜孟旅娴恼Z句釋放fileHandle:
fileHandle.Destroy;

