我的编程经验之一如何保存配置信息(1)
我的编程经验之一 程序配置信息的保存
在我们编写的每一个程序中,我们都要保存一些有用的信息,如何保存这些信息呢?比较常用的有三种方法,一种是使用注册表,一种是使用Ini文件,还有就是使用文件。 采用那种方法保存配置信息,不同的人可能有不同的习惯,这三种方法那种最适合你的程序呢,究竟那个最方便呢?一、使用注册表 在BCB中有个TRegistry,它提供了方便的注册表操作,它有几个重要的属性和方法。如下: __property HKEY RootKey = {read=FRootKey, write=SetRootKey, nodefault}; 这个属性用来设置和取得当前的根键。在默认情况下它的值是HKEY_CURRENT_USER。 这个属性是我们常常用到的。 bool __fastcall OpenKey(const AnsiString Key, bool CanCreate); 这个方法用来打开一个键,bool CanCreate是表示如果这个键不存在则是否创建这个 键,true是创建。如果打开成功返回true。 void __fastcall CloseKey(void); 这个方法关闭当前打开的键,当你完成注册表的修改后,应该调用此方法来保存您的 修改。 bool __fastcall KeyExists(const AnsiString Key); 这个方法判断一个键是否存在。 bool __fastcall ValueExists(const AnsiString Name); 这个方法判断当前键下是否存在指定的数据项。 AnsiString __fastcall ReadString(const AnsiString Name); 这个方法从当前键下指定的数据项读取一个字符串。 void __fastcall WriteString(const AnsiString Name, const AnsiString Value); 这个方法向当前键下指定的数据项写入一个字符串。类似的函数还有ReadInteger, WriteInteger,ReadBool,WriteBool等方法,这里就不一一列举了,请大家看一下在 线帮助就可以了,下面我举一个使用注册表保存和读取程序配置信息的例子来说明如何 用注册表读取和保存程序的配置信息。 下面这个例子从HKEY_LOCAL_MACHINE\\Software\\MyInfo键下读取配置信息,如果程序 是第一次运行则建立这个键。(使用TRegistry类,需要包含Registry.hpp) #include <Registry.hpp>
void __fastcall ReadConfig () { TRegistry * reg = new TRegistry(); reg->RootKey = HKEY_LOCAL_MACHINE;