利用TiniFile操作ini文件
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
利用TIniFile操作标准ini文件
使用TIniFile可以操作标准ini文件,以便于存取应用程序的配置信息。
一个ini文件以逻辑分组的形式存储信息,称为区(section),在每个section中,存储着键名(key)及其对应的键值(value)。
<keyname>=<value>
使用【FileName】作为参数传递文件名给TIniFile的构造函数,来指定需要读写的ini文件。
由于ini文件格式尤其适用于跨平台应用程序(注册表仅适用于windwos平台配置信息),所以至今仍然非常流行,许多配置文件都使用该格式。
VCL/RTL提供两种类,TIniFile和TMemIniFile,用于方便的读写ini文件。
TIniFile直接操作硬盘ini文件,而TMemIniFile将所有变更先缓存在内存中,直到调用UpdateFile方法时,才将这些内容写入硬盘文件中。
当初始化TIniFile或者TMemIniFile对象时,需要将ini文件名以参数形式传递给构造函数。
如果该文件不存在,将会自动创建。
然后,就可以使用各种不同的读取方法自由的读取数值,例如:ReadString,ReadDate,ReadInteger或者ReadBool。
另外,如果你想要读取ini文件的整个section,你可以使用ReadSection方法。
同样的,你可以使用方法WriteBool,WriteInteger,WriteDate或WriteString写入数值。
每种读方法使用3个参数。
第一参数指定ini文件的section。
第二个参数指定你想要读取的值,第三个参数是默认值,以便当section或数值不存在时,写方法自动创建该section或值。
例:下面的代码创建一个ini文件(格式如下)。
[Form]
Top=100
Left=100
Caption=Default Caption
InitMax=0
该例程后续执行中,在窗体创建时读入数值,在OnClose事件中写回。
__fastcall TForm1::TForm1(TComponent *Owner) : TForm(Owner)
{
TIniFile *Ini;
Ini = new TIniFile( ChangeFileExt( Application->ExeName, ".ini" ) );
Top = Ini->ReadInteger( "Form", "Top", 100 );
Left = Ini->ReadInteger( "Form", "Left", 100 );
Caption = Ini->ReadString( "Form", "Caption","Default Caption" );
Ini->ReadBool( "Form", "InitMax", false ) ?
WindowState = wsMaximized :
WindowState = wsNormal;
delete Ini;
}
void__fastcall TForm1::FormClose(TObject *Sender, TCloseAction &Action) {
TIniFile *Ini;
Ini = new TIniFile(ChangeFileExt( Application->ExeName, ".ini" ) );
Ini->WriteInteger( "Form", "Top", Top );
Ini->WriteInteger( "Form", "Left", Left );
Ini->WriteString( "Form", "Caption", Caption );
Ini->WriteBool( "Form", "InitMax",
WindowState == wsMaximized );
delete Ini;
}。