ini檔案的大概內容如下:
[del_table]
langcount = 24
lang1 = cp936.bf
lang2 = cp1252.bf
lang3 = cp950.bf
lang4 = cp932.bf
cstring csdeltable = "del_table";
cstring cslangcount = "langcount";
char szlangnum[max_path];
getprivateprofilestring(csdeltable,cslangcount,"",szlangnum,max_path,csinipath);
szlangnum為cslangcount的等號右邊的字串。
用api寫ini檔案的函式有
用api讀ini檔案的函式有
當然還有如writeprofilestring,writeprofilesection,writeprofilesturct, getprofilestring,getprofilestruct,getprofilesectionnames,getprofileint,getprofilesection但這些只對win.ini有效
下面我們來學習它們的用法
writeprivateprofilestring函式是向ini檔案中寫入字串,如
writeprivateprofilestring(pchar('型別'),pchar('api'),pchar('api 真好!'),pchar('c:/example.ini'));
如果第二個引數是nil,那麼該操作將刪除該節
如果第三個引數為nil,那麼該操作將刪除該節中的所有鍵
如果在指定的檔案中沒有路徑,那麼它將在系統的目錄尋找檔案,如果不存在則建立
writeprivateprofilesection是向檔案中寫入一整個鍵,其它鍵的格式為key = value,如
writeprivateprofilesection(pchar('型別'),pchar('其它=123'),pchar('c:/example.ini'));
注意,該操作將刪除該節中的所有鍵後在進行本次的寫入
writeprivateprofilestruct是向檔案中寫入乙個結構,如
type
tperson = record
name:string;
age:integer;
end;
varper:tperson;
writeprivateprofilestruct(pchar('型別'),pchar('結構'),@per,sizeof(per),pchar('c:/example.ini'));
getprivateprofilestring是從檔案中讀出乙個指定鍵的字串,如果沒有找到,則返回預設值
getprivateprofilestring(pchar(『型別'),pchar('api'),pchar('no value'),str1,21,pchar('c:/example.ini'));
getprivateprofilesection是從檔案中讀出一整個鍵
getprivateprofilesection('型別',str1,200,'c:/example.ini');
getprivateprofileint是從檔案中讀出指定鍵的整型值,如果沒找到或不是整型的值,則返回預設值,如果返回值小於0,則返回0,如
i:=getprivateprofileint(pchar('型別'),pchar('整型'),i,pchar('c:/example.ini'));
showmessage(inttostr(i));
getprivateprofilestruct從檔案中讀出指定鍵的結構值,如
type
tperson = record
name:string;
age:integer;
end;
varbuffer:tperson;
getprivateprofilestruct(pchar('型別'),pchar('結構'),@buffer,sizeof(per),pchar('c:/example.ini'));
getprivateprofilesectionnames是從檔案中讀出所有節的名稱,該函式返回讀入緩衝區的字元數,如
count:=getprivateprofilesectionnames(str3,200,pchar('c:/example.ini'));
showmessage(str3);
此處顯示的只是第乙個節的名稱,如果要顯示第二個字元的名稱則要用到下面這句
showmessage(str3+5);
這句不用多解釋吧?
以上就是這些函式的用法。你可能要問「怎麼只有寫字串的呀,怎麼沒有寫其它的型別的呢?」,問的好,不過其它型別的用writeprivateprofilestring都能代替,如要寫浮點型的就把該型別的放到』』當中,如』12.5』。那位學友又問了,「如果是讓使用者輸入,他們也不知道應該輸入什麼,怎麼能限制他們輸入的都是數字」,這方法可太多了,如用控制項或檢查它們是不是在指定的數字,你可別說不會限制它們是不是數字呀*_^,如果真的不會,你就看它們的ascii碼是不是在48-57之間就行了。「那讀出呢?」,delphi不是有strtoint,strtofloat,strtocurr等這麼函式嘛,可以用它們來轉換。
我在研究這些函式的同時,發現了一段有趣程式**,但我不知道它為什麼要這樣做,有什麼好處,大家可以看看它們,不過是用c寫的,它們在delphi sdk或msdn中查詢writeprivateprofilestring函式,在最下面的那個段**就是
如果我在上面說的有錯誤的話,希望大家指正,共同討論學習
INI檔案讀寫API
在我們寫的程式當中,總有一些配置資訊需要儲存下來,以便完成程式的功能,最簡單的辦法就是將這些資訊寫入ini檔案中,程式初始化時再讀入.具體應用如下 一.將資訊寫入.ini檔案中.1.所用的winapi函式原型為 bool writeprivateprofilestring lpctstr lpkey...
C C 跨平台INI檔案讀寫API
已測試通過的開發環境 winxp vista vc6.0 vs2003 vs2005 vs2008 fc6.0 fc7.0 ubuntu7.10 gcc4.1 arm linux arm linux gcc3.3.2 專案特點 1.使用標準c庫函式,支援windows linux unix等多平台。...
windows系統讀寫INI檔案的API
ini檔案 即initialization file 這種型別的檔案中通常存放的是乙個程式的初始化資訊。ini檔案由若干個節 section 組成,每個section由若干鍵 key 組成,每個key可以賦相應的值。讀寫ini檔案實際上就是讀寫某個的section中相應的key的值,而這只要借助幾個...