欢迎来到天天文库
浏览记录
ID:30849559
大小:71.05 KB
页数:6页
时间:2019-01-04
《程序配置信息的保存ini文件》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、在我们编写的每一个程序中,我们都要保存一些有用的信息,如何保存这些信息呢?比较常用的有三种方法,一种是使用注册表,一种是使用Ini文件,还有就是使用文件。采用那种方法保存配置信息,不同的人可能有不同的习惯,这三种方法那种最适合你的程序呢,究竟那个最方便呢?一、使用注册表在BCB屮有个TRegistry,它提供了方便的注册表操作,它有几个重要的属性和方法。如下:_propertyHKEYRootKey={read=FRootKey,write=SetRootKey,nodefault};这个属性用来
2、设置和取得当両的根键。在默认情况卜•它的值是HKEY_CURRENT_USER。这个属性是我们常常用到的。bool_fastcallOpenKey(constAnsiStringKey,boolCanCreate);这个方法用來打开一个键,boolCanCreate是表示如杲这个键不存在则是否创建这个键,true是创建。如果打开成功返回true。void_fastcallCloseKey(void);这个方法关闭当前打开的键,当你完成注册表的修改后,应该调用此方法來保存您的修改。bool_fast
3、callKeyExists(constAnsiStringKey);这个方法判断一个键是否存在。bool_fastcallValueExists(constAnsiStringName);这个方法判断当前键下是否存在指定的数据项。AnsiString_fastcallReadString(constAnsiStringName);这个方法从当前键下指定的数据项读取一个字符串。void—fastcallWriteString(constAnsiStringName,constAnsiStringVa
4、lue);这个方法向当前键卜•指定的数据项写入一个字符串。类似的函数还有Readinteger,Writeinteger,ReadBoohWriteBool等方法,这里就不-列举了,请大家看一下在线帮助就可以了,下而我举…个使用注册农保存和读取程序配置信息的例了來说明如何用注册表读取和保存程序的配置信息。卜‘面这个例了从HKEY_LOCAL_MACHINESoftwawMyInfo键卜•读取配置信息,如果程序是第一次运行则建立这个键。(使用TRegistry类,需要包含Registry.hpp
5、)#includevoid_fastcallReadConfig(){TRegistry*reg=newTRegistryO;reg->RootKey=HKEY_LOCAL_MACHINEif(reg->OpenKey(HSoftwareMyInfoM,true)){//打开HKEY_LOCAL_MACHINESoftwareMyInfo键如果不存在则创建if(reg->ValueExists(nDataPath")){〃判断是否存在DataPath这个数据项,
6、存在则读取SysConfig.DataPath=reg->ReadString("DataPath”);}else{//如果不存在这个数据项则采用程序默认路径SysConfig.DataPath=DefaultPath;}}reg->CloseKey();〃关闭打开的键。deletereg;}卜•面这个例了是保存信息到注册表,如杲不存在这个键则创建并保存。void_fastcallSaveConfig(){TRegistry*reg=newTRegistryO;reg->RootKey=HKEY_
7、LOCAL_MACHINEif(reg->OpenKey(HSoftwareMyInfoM,true)){//打开HKEY_LOCAL_MACHINESoftwareMyInfo键如果不存在则创建reg->WriteString("DataPath",SysConfig.DataPath);}reg->CloseKey();〃关闭打开的键并保存信息deletereg;}这两个例了很简单,其它的一些读写方法也和读取和写入String差不多,大家可以试试。使用注册表要注意的问题。使用注册表保存
8、配置信息是多数软件所采用的方法,用注册表的优点是用户轻易不能够取得和修改这些配置信息,能够有一定的安全性和隐蔽性,如果你采用二进制方式写入的话,用户将很难知道你保存的数据内容,这样可以使你的数据更安全它的缺点就是你要注意在Windows的不同版木匚注册表的结构是不同的,而且在NT和WIN2000下,如果权限不够有些键系统是不允许你访问的。再就是用户很讨厌软件在它的注册表里写入一些东西。这也就是流行的绿色软件Z说了。二、使用INI配置文件在BCB中有个TIniFile类,它提供了对I
此文档下载收益归作者所有