用C++ Bulider在WIN.INI中生存信息
此刻很多软件把措施中需要的数据生存在注册表中,这样当用户装的软件越来越多时,致使注册表越来越复杂,容易使系统堕落。虽然,微软也发起在注册表中生存数据,但当我们需要生存的数据不多时完全可以把数据生存在WIN.INI中,这样可以很利便地维护,实现要领相对来说较量简朴。下面我以Borland C++ Builder为例来说说如何实现。
道理其实很简朴,只需挪用API的 WriteProfileString和GetProfileInt函数就可以了。这两个函数的原型是:BOOL WriteProfileString(LPCTSTR lpAppName,LPCTSTR lpKeyName,LPCTSTR lpString );
UINT GetProfileInt(LPCTSTR lpAppName,LPCTSTR lpKeyName,INT nDefault);
个中lpAppName指在WIN.INI中段的名字,即用[]括起来的字符串,lpKeyName指在这个段中每一个项目标名字,lpString指这个项目标值,即“=”后的数, nDefault为当GetProfileInt没有找到lpAppName和lpKeyName时返回的值,即缺省值,前者返回为布尔值(true 或 false),后者返回为无标记整形值。当在WriteProfileString函数中 lpKeyName 为空(NULL)时,则排除这个段的全部内容,lpString 为空时,则排除这一项目标内容,即这一行将排除去。
下面举一例子来说明这两个函数的用法。新建一个应用措施,在Form1上放两个Edit和三个Button,个中Edit的Text为空,三个Button的Caption别离为“添加”、“查察”、“排除”。双击“添加”按钮插手下面代码:
WriteProfileString(“例子措施”,“项目”,Edit1→Text.c_str());
双击“查察”按钮插手如下代码:
unsigned int Temp;
Temp=GetProfileInt(“例子措施”,“项目”,100);
Edit2→Text=IntToStr(Temp);
双击“排除”按钮插手如下代码:
WriteProfileString(“例子措施”,NULL,NULL);
然后按F9键运行措施。
下来可以检讨一下措施的正确性。在Edit1中输入数字,如“3265”,按“添加”按钮,这时运行“sysedit”来查察“WIN.INI”文件的最后头,可以看到插手了如下内容:
[例子措施]
项目=3265
个中“[]”和“=”是函数自动加上的。按下“查察”按钮,在Edit2中呈现“3265”,当按下“排除”按钮可排除添加的部门。颠末查察可知措施已到达预期的目标。
喜爱编程的伴侣可以把上述要领应用到本身的措施中去,来到达生存数据信息的浸染。当确实要把信息生存到注册表中,可以在C++ Builder中界说一个TRegistry类的工具来举办相关的操纵,可能直接挪用Windows的API函数。