要利用.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' // 调用的文件名
);
从.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' // 调用的文件名
);
解决方案 »
- 关于GroupBar的用法
- 关于listbox的问题
- DevExpress 控件不能安装!
- delphi 怎样处理日期货币数据字段,用sql
- Win XP 下的自定义纸问题
- 菜問題:請問哪裡錯?
- TString、WideString、String类型转换问题
- 高分求教:如何用delphi直接连接interbase数据库,不通过BDE或者ADO,什么的。
- 关于listbox的简单问题?
- 程序运行起来越来越慢,除了内存未释放外还有什么原因呢?
- 关于Memo的东西来考考大家(不要小看这个问题哦,说不定你也用得上),有兴趣的来看看(962veiri)
- 运行程序总是报错 “Stack overflow” !!!
Item1 = 'UP'[Sample2]
Net = 'Csdn'
程序中访问
// IniFile文件的操作
procedure PIniWriteS(SectionName, VarName:string; AValue:string);
var
FIniFile : TIniFile;
begin
FIniFile := TIniFile.Create('Sample.ini');
FIniFile.WriteString(SectionName, VarName, AValue);
FIniFile.Free;
end;procedure PIniWriteB(SectionName, VarName:string; AValue:Boolean);
var
FIniFile : TIniFile;
szValue : string;
begin
FIniFile := TIniFile.Create('Sample.ini');
if AValue then
szValue := 'True'
else
szValue := 'False';
FIniFile.WriteString(SectionName, VarName, szValue);
FIniFile.Free;
end;
function PIniReadS(SectionName, VarName:string; ADefault:string) : string;
var
FIniFile : TIniFile;
begin
FIniFile := TIniFile.Create('Sample.ini');
Result := FIniFile.ReadString(SectionName, VarName, ADefault);
FIniFile.Free;
end;function PIniReadB(SectionName, VarName:string; var AValue:Boolean) : Boolean;
var
FIniFile : TIniFile;
szValue : string;
begin
Result := AValue;
FIniFile := TIniFile.Create('Sample.ini');
if AValue then szValue := 'True' else szValue := 'False';
szValue := FIniFile.ReadString(SectionName, VarName, szValue);
AValue := (uppercase(szValue)='TRUE');
Result := AValue;
FIniFile.Free;
end;当然如果把文件名也作为参数传递上述函数更加通用