t t封裝 INI 檔案讀寫函式!

2021-06-18 03:16:29 字數 2571 閱讀 5781

在實際應用,每次讀寫ini檔案,都要引用ini檔案,還要區分資料型別呼叫不同的ini函式,這實在是有點煩!

為了方便,我特地將ini用到的函式封裝成兩個函式。

uses inifiles;

//簡單資料型別

t******type = (stint, stfloat, ststring, stdatetime, stdate, sttime, stboolean);

///

/// 讀ini檔案的函式

///

/// ini檔名

/// 節點

/// 欄位名

/// 簡單資料型別

/// 預設值

/// 返回變體型別

function readinivalue(const filename, section, name: string;

******type: t******type; defaultvalue: variant): variant;

begin

with tinifile.create(filename) do

tryif ******type = ststring then

result := readstring(section, name, defaultvalue)

else if ******type = stint then

result := readinteger(section, name, defaultvalue)

else if ******type = stfloat then

result := readfloat(section, name, defaultvalue)

else if ******type = stdatetime then

result := readdatetime(section, name, defaultvalue)

else if ******type = stdate then

result := readdate(section, name, defaultvalue)

else if ******type = sttime then

result := readtime(section, name, defaultvalue)

else if ******type = stboolean then

result := readbool(section, name, defaultvalue);

finally

free;

end;

///

/// 寫ini檔案的函式

///

/// ini檔名

/// 節點名

/// 欄位名

/// 字段值

/// 簡單型別

procedure writeinivalue(const filename, section, name: string;

value: variant; ******type: t******type);

begin

with tinifile.create(filename) do

tryif ******type = ststring then

writestring(section, name, vartostr(value))

else if ******type = stint then

writeinteger(section, name, value)

else if ******type = stfloat then

writefloat(section, name, value)

else if ******type = stdatetime then

writedatetime(section, name, vartodatetime(value))

else if ******type = stdate then

writedate(section, name, vartodatetime(value))

else if ******type = sttime then

writetime(section, name, vartodatetime(value))

else if ******type = stboolean then

writebool(section, name, value);

finally

free;

end;

end;

呼叫範例:

writeinivalue('c:\中國爛鞋.ini','鍋家隊','豬教練','郭十二',ststring);

writeinivalue('c:\中國爛鞋.ini','鍋家隊','平均罰球',1,stint);

readinivalue('c:\中國爛鞋.ini','鍋家隊','豬教練',ststring,'郭12');

readinivalue('c:\中國爛鞋.ini','鍋家隊','平均罰球',stint,-1);

INI檔案讀寫

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

讀寫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...