从.INI文件中获取字符串
var
strResult
char;
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;