关于INI文件的问题 (20分)

  • 主题发起人 主题发起人 3368aa
  • 开始时间 开始时间
3

3368aa

Unregistered / Unconfirmed
GUEST, unregistred user!
请问如何遍历INI文件的小节名

最好能给出源码,否则给出思路也行
 
with TInifile.Create('c:/windows/win.ini') do
begin
ReadSections(ListBox1.Items )
free;
end;
 
同意楼上的。
 
控制INI文件
要利用.INI文件做程序有关数据的存储工作,就需要能读和写.INI文件,所以列了如下方法给大家参考:

{方法一:用 Windows API 函数}
① 从.INI文件中获取字符串
var
strResult:array[0..30] of Char;
begin
GetPrivateProfileString(' desktop ', 'wallpaper',
'c:/windows/newwall.bmp' , strResult, 100,
'c:/windows/win.ini' );
edit1.text:=strResult
//显示取得字符串
end;

② 从.INI文件中获取整数
var
nResult: integer;
begin
nResult := GetPrivateProfileString(' desktop ', ' tilewallpaper',
0 , 'c:/windows/win.ini' );
edit1.text:=intostr(nResult)
//显示取得整数
end;

③ 向.INI文件写入字符串
WritePrivateProfileString('desktop', 'wallpaper',
strWrite ,'c:/windows/win.ini');

{ 方法二:使用TiniFile进行读写 }
① 从.INI文件中读字符串
var MyIni: TIniFile;
begin
MyIni := TIniFile.Create('c:/windows/win.ini');
edit1.text:=MyIni.ReadString('Desktop', 'Wallpaper', '');
end;

② 向.INI文件中写入字符串
var MyIni: TIniFile;
begin
MyIni := TIniFile.Create('c:/windows/win.ini');
MyIni.WriteString('desktop', 'wallpaper', 'c:/a.bmp');
end;

 
楼上的w.th,不知你看过TINIFILE的园代码么?
要知道TINFILE的每个ReadString/Writestring的范围是0-2048字节
我想提醒你使用它作为存储数据库数据时候,可能有时有麻烦吧
要改写哦,从TCUSTOMEINIFILE重新继承(很简单拷贝TINIFILE的然后改限制大小的地方)。。。
//忘记了,D5是这样,D6我没去看,应该没改
 
接受答案了.
 
后退
顶部