打印本文 打印本文  关闭窗口 关闭窗口  
控制INI文件的几种方法
作者:佚名  文章来源:不详  点击数  更新时间:2008/4/18 14:48:50  文章录入:杜斌  责任编辑:杜斌

  在Windows中利用.INI文件做程序有关数据的存储工作是很常见的,其中涉及了读和写.INI文件问题,下面就介绍几种不同的方法给大家参考:

  从.INI文件中获取字符串

  var
strResult:pchar;
begin
GetPrivateProfileString(
windows, // []中标题的名字
NullPort, // =号前的名字
NIL, // 如果没有找到字符串时,返回的默认值
strResult, //存放取得字符
100, //取得字符的允许最大长度
c:\forwin95\win.ini // 调用的文件名
);
edit1.text:=strResult; //显示取得字符串

  从.INI文件中获取整数

  edit1.text:=inttostr(GetPrivateProfileInt(
intl, // []中标题的名字
iCountry, // =号前的名字
0,// 如果没有找到整数时,返回的默认值
c:\forwin95\win.ini // 调用的文件名
));

  向.INI文件写入字符串

  WritePrivateProfileString(
windows, // []中标题的名字
load, // 要写入“=”号前的字符串
accca, //要写入的数据
c:\forwin95\win.ini // 调用的文件名
);

  向.INI文件写入整数

  WritePrivateProfileSection(
windows, // []中标题的名字
read=100, // 要写入的数据
c:\forwin95\win.ini // 调用的文件名
);

  上面的方法是调用API函数,下面介绍另一种不用API,而是使用TIniFile从.INI文件中获取字符的方法

  从.INI文件中读字符

  var MyIni: TIniFile;
begin
MyIni := TIniFile.Create(WIN.INI);//调用的文件名
edit1.text:=MyIni.ReadString(Desktop, Wallpaper, );//取得字符
end;

  向.INI文件中写入字符

  var MyIni: TIniFile;
begin
MyIni := TIniFile.Create(WIN.INI);//调用的文件名
DelphiIni.WriteString(Desktop, Wallpaper, c:\a.jpg);//写入字符
end;

INI文件函数,也提供给大家参考: function GetINIfile(lpAppNameL,lpKeyName,lpDefault:string;
lpsize:integer;lpFileName:string):string;
{读取ini文件函数}
var f:textfile;
sn:string;
begin
assignfile(f,lpFileName);
reset(f);
repeat
readln(f,sn);
if sn=[+lpAppNameL+] then
begin
readln(f,sn);
while(copy(sn,1,1)<>[)or(not(eof(f)))do
begin
if copy(sn,1,pos(=,sn)-1)=lpKeyName then
begin
GetINIfile:=copy(sn,pos(=,sn)+1,lpsize);
exit;
end;
readln(f,sn);
end;
end
else GetINIfile:=lpDefault;
until eof(f);
closefile(f);
end;
{------------}

  调用方法是:

  var Timeout:String;
begin
Timeout:=GetINIfile(MailSetup,Timeout,0,5,prgpath+\CNMSet.ini);
end;

打印本文 打印本文  关闭窗口 关闭窗口