用C++在WIN.INI中保存信息

用C++在WIN.INI中保存信息,第1张

用C++在WIN.INI中保存信息,第2张

现在很多软件都是把程序中需要的数据保存在注册表中,这样当用户安装的软件越来越多的时候,注册表就变得越来越大,很容易出现系统错误。当然,微软也建议将数据保存在注册表中,但是当我们没有太多数据需要保存时,可以保存在WIN中。INI,易于维护,实现方法相对简单。下面我以Borland C++ Builder为例来谈谈如何实现。

其实原理很简单,调用API的WriteProfileString和GetProfileInt函数即可。这两个函数的原型分别是:Bool WriteProfileString(lpctstr lpappname,lpctstr lpkeyname,lpctstr lpstring);

UINT GetProfileInt(LPCTSTR lpAppName,LPCTSTR lpKeyName,INT NDE default);

其中lpAppName是指WIN中间部分的名称。INI,也就是[]括起来的字符串,lpKeyName是指本节中每一项的名称,lpString是指该项的值,即“=”后的数字,nDefault是GetProfileInt找不到lpAppName和lpKeyName时返回的值,这两个值都是默认值。前者返回一个布尔值(真或假),后者返回一个无符号整数值。当WriteProfileString函数中lpKeyName为空(NULL)时,该段的内容全部清零;当lpString为空时,该项内容被清除,即这一行将被清除。

这里有一个例子来说明这两个函数的用法。创建一个新的应用程序,在Form1上放置两个编辑和三个按钮,其中编辑的文本是空,三个按钮的标题分别是“添加”、“查看”和“清除”。双击“添加”按钮添加以下代码:

WriteProfileString("示例程序","项目",edit 1→text . c _ str());

双击“查看”按钮添加以下代码:

无符号int Temp

Temp=GetProfileInt("示例程序","项目",100);

edit 2→Text = IntToStr(Temp);

双击“清除”按钮添加以下代码:

WriteProfileString("示例程序",NULL,NULL);

然后按F9运行程序。

下来检查程序的正确性。在Edit1中输入一个数字,如“3265”,然后按“添加”按钮。这时,运行“sysedit”来查看后面的“WIN。INI”文件。可以看到增加了以下内容:

[示例程序]

Item =3265

其中“[]”和“=”由函数自动添加。按下“查看”按钮,“3265”出现在编辑2中。当按下“清除”按钮时,可以清除添加的部分。经过检查,可以看出该程序达到了预期的目的。

喜欢编程的朋友可以将以上方法应用到自己的程序中,实现保存数据信息的功能。当你确实想保存注册表中的信息时,可以在C++Builder中定义一个TRegistry类对象来执行相关操作,或者直接调用Windows的API函数。

位律师回复
DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
白度搜_经验知识百科全书 » 用C++在WIN.INI中保存信息

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情