home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 1997 May / Pcwk0597.iso / borland / cb / setup / cbuilder / data.z / REGISTRY.HPP < prev    next >
C/C++ Source or Header  |  1997-02-28  |  9KB  |  188 lines

  1. //----------------------------------------------------------------------------
  2. // Registry.hpp - bcbdcc32 generated hdr (DO NOT EDIT) rev: 0
  3. // From: Registry.pas
  4. //----------------------------------------------------------------------------
  5. #ifndef RegistryHPP
  6. #define RegistryHPP
  7. //----------------------------------------------------------------------------
  8. #include <SysUtils.hpp>
  9. #include <Classes.hpp>
  10. #include <Windows.hpp>
  11. #include <System.hpp>
  12. #pragma warn -par
  13. #pragma warn -hid 
  14. #pragma warn -inl
  15.  
  16. namespace Registry
  17. {
  18. //-- type declarations -------------------------------------------------------
  19. class __declspec(delphiclass) ERegistryException;
  20. class __declspec(pascalimplementation) ERegistryException : public Sysutils::Exception
  21. {
  22.     typedef Sysutils::Exception inherited;
  23.     
  24. public:
  25.     /* Exception.Create */ __fastcall ERegistryException(const System::AnsiString Msg) : Sysutils::Exception(
  26.         Msg) { }
  27.     /* Exception.CreateFmt */ __fastcall ERegistryException(const System::AnsiString Msg, const System::TVarRec 
  28.         * Args, const int Args_Size) : Sysutils::Exception(Msg, Args, Args_Size) { }
  29.     /* Exception.CreateRes */ __fastcall ERegistryException(int Ident) : Sysutils::Exception(Ident) { }
  30.         
  31.     /* Exception.CreateResFmt */ __fastcall ERegistryException(int Ident, const System::TVarRec * Args, 
  32.         const int Args_Size) : Sysutils::Exception(Ident, Args, Args_Size) { }
  33.     /* Exception.CreateHelp */ __fastcall ERegistryException(const System::AnsiString Msg, int AHelpContext
  34.         ) : Sysutils::Exception(Msg, AHelpContext) { }
  35.     /* Exception.CreateFmtHelp */ __fastcall ERegistryException(const System::AnsiString Msg, const System::TVarRec 
  36.         * Args, const int Args_Size, int AHelpContext) : Sysutils::Exception(Msg, Args, Args_Size, AHelpContext
  37.         ) { }
  38.     /* Exception.CreateResHelp */ __fastcall ERegistryException(int Ident, int AHelpContext) : Sysutils::
  39.         Exception(Ident, AHelpContext) { }
  40.     /* Exception.CreateResFmtHelp */ __fastcall ERegistryException(int Ident, const System::TVarRec * Args
  41.         , const int Args_Size, int AHelpContext) : Sysutils::Exception(Ident, Args, Args_Size, AHelpContext
  42.         ) { }
  43.     
  44. public:
  45.     /* TObject.Destroy */ __fastcall virtual ~ERegistryException(void) { }
  46.     
  47. };
  48.  
  49. struct TRegKeyInfo
  50. {
  51.     int NumSubKeys;
  52.     int MaxSubKeyLen;
  53.     int NumValues;
  54.     int MaxValueLen;
  55.     int MaxDataLen;
  56.     FILETIME FileTime;
  57. } ;
  58.  
  59. enum TRegDataType { rdUnknown, rdString, rdExpandString, rdInteger, rdBinary };
  60.  
  61. struct TRegDataInfo
  62. {
  63.     TRegDataType RegData;
  64.     int DataSize;
  65. } ;
  66.  
  67. class __declspec(delphiclass) TRegistry;
  68. class __declspec(pascalimplementation) TRegistry : public System::TObject
  69. {
  70.     typedef System::TObject inherited;
  71.     
  72. private:
  73.     HKEY FCurrentKey;
  74.     HKEY FRootKey;
  75.     bool FLazyWrite;
  76.     System::AnsiString FCurrentPath;
  77.     bool FCloseRootKey;
  78.     void __fastcall SetRootKey(HKEY Value);
  79.     
  80. protected:
  81.     void __fastcall ChangeKey(HKEY Value, const System::AnsiString Path);
  82.     HKEY __fastcall GetBaseKey(bool Relative);
  83.     int __fastcall GetData(const System::AnsiString Name, void * Buffer, int BufSize, TRegDataType &RegData
  84.         );
  85.     HKEY __fastcall GetKey(const System::AnsiString Key);
  86.     void __fastcall PutData(const System::AnsiString Name, void * Buffer, int BufSize, TRegDataType RegData
  87.         );
  88.     void __fastcall SetCurrentKey(HKEY Value);
  89.     
  90. public:
  91.     __fastcall TRegistry(void);
  92.     __fastcall virtual ~TRegistry(void);
  93.     void __fastcall CloseKey(void);
  94.     bool __fastcall CreateKey(const System::AnsiString Key);
  95.     bool __fastcall DeleteKey(const System::AnsiString Key);
  96.     bool __fastcall DeleteValue(const System::AnsiString Name);
  97.     bool __fastcall GetDataInfo(const System::AnsiString ValueName, TRegDataInfo &Value);
  98.     int __fastcall GetDataSize(const System::AnsiString ValueName);
  99.     TRegDataType __fastcall GetDataType(const System::AnsiString ValueName);
  100.     bool __fastcall GetKeyInfo(TRegKeyInfo &Value);
  101.     void __fastcall GetKeyNames(Classes::TStrings* Strings);
  102.     void __fastcall GetValueNames(Classes::TStrings* Strings);
  103.     bool __fastcall HasSubKeys(void);
  104.     bool __fastcall KeyExists(const System::AnsiString Key);
  105.     bool __fastcall LoadKey(const System::AnsiString Key, const System::AnsiString FileName);
  106.     void __fastcall MoveKey(const System::AnsiString OldName, const System::AnsiString NewName, bool Delete
  107.         );
  108.     bool __fastcall OpenKey(const System::AnsiString Key, bool CanCreate);
  109.     System::Currency __fastcall ReadCurrency(const System::AnsiString Name);
  110.     int __fastcall ReadBinaryData(const System::AnsiString Name, void *Buffer, int BufSize);
  111.     bool __fastcall ReadBool(const System::AnsiString Name);
  112.     System::TDateTime __fastcall ReadDate(const System::AnsiString Name);
  113.     System::TDateTime __fastcall ReadDateTime(const System::AnsiString Name);
  114.     double __fastcall ReadFloat(const System::AnsiString Name);
  115.     int __fastcall ReadInteger(const System::AnsiString Name);
  116.     System::AnsiString __fastcall ReadString(const System::AnsiString Name);
  117.     System::TDateTime __fastcall ReadTime(const System::AnsiString Name);
  118.     bool __fastcall RegistryConnect(const System::AnsiString UNCName);
  119.     void __fastcall RenameValue(const System::AnsiString OldName, const System::AnsiString NewName);
  120.     bool __fastcall ReplaceKey(const System::AnsiString Key, const System::AnsiString FileName, const System::AnsiString 
  121.         BackUpFileName);
  122.     bool __fastcall RestoreKey(const System::AnsiString Key, const System::AnsiString FileName);
  123.     bool __fastcall SaveKey(const System::AnsiString Key, const System::AnsiString FileName);
  124.     bool __fastcall UnLoadKey(const System::AnsiString Key);
  125.     bool __fastcall ValueExists(const System::AnsiString Name);
  126.     void __fastcall WriteCurrency(const System::AnsiString Name, System::Currency Value);
  127.     void __fastcall WriteBinaryData(const System::AnsiString Name, void *Buffer, int BufSize);
  128.     void __fastcall WriteBool(const System::AnsiString Name, bool Value);
  129.     void __fastcall WriteDate(const System::AnsiString Name, System::TDateTime Value);
  130.     void __fastcall WriteDateTime(const System::AnsiString Name, System::TDateTime Value);
  131.     void __fastcall WriteFloat(const System::AnsiString Name, double Value);
  132.     void __fastcall WriteInteger(const System::AnsiString Name, int Value);
  133.     void __fastcall WriteString(const System::AnsiString Name, const System::AnsiString Value);
  134.     void __fastcall WriteTime(const System::AnsiString Name, System::TDateTime Value);
  135.     __property HKEY CurrentKey = {read=FCurrentKey, nodefault};
  136.     __property System::AnsiString CurrentPath = {read=FCurrentPath, nodefault};
  137.     __property bool LazyWrite = {read=FLazyWrite, write=FLazyWrite, nodefault};
  138.     __property HKEY RootKey = {read=FRootKey, write=SetRootKey, nodefault};
  139. };
  140.  
  141. class __declspec(delphiclass) TRegIniFile;
  142. class __declspec(pascalimplementation) TRegIniFile : public TRegistry
  143. {
  144.     typedef TRegistry inherited;
  145.     
  146. private:
  147.     System::AnsiString FFileName;
  148.     
  149. public:
  150.     __fastcall TRegIniFile(const System::AnsiString FileName);
  151.     HIDESBASE System::AnsiString __fastcall ReadString(const System::AnsiString Section, const System::AnsiString 
  152.         Ident, const System::AnsiString Default);
  153.     HIDESBASE void __fastcall WriteString(const System::AnsiString Section, const System::AnsiString Ident
  154.         , const System::AnsiString Value);
  155.     HIDESBASE long __fastcall ReadInteger(const System::AnsiString Section, const System::AnsiString Ident
  156.         , long Default);
  157.     HIDESBASE void __fastcall WriteInteger(const System::AnsiString Section, const System::AnsiString Ident
  158.         , long Value);
  159.     HIDESBASE bool __fastcall ReadBool(const System::AnsiString Section, const System::AnsiString Ident
  160.         , bool Default);
  161.     HIDESBASE void __fastcall WriteBool(const System::AnsiString Section, const System::AnsiString Ident
  162.         , bool Value);
  163.     void __fastcall ReadSection(const System::AnsiString Section, Classes::TStrings* Strings);
  164.     void __fastcall ReadSections(Classes::TStrings* Strings);
  165.     void __fastcall ReadSectionValues(const System::AnsiString Section, Classes::TStrings* Strings);
  166.     void __fastcall EraseSection(const System::AnsiString Section);
  167.     HIDESBASE void __fastcall DeleteKey(const System::AnsiString Section, const System::AnsiString Ident
  168.         );
  169.     __property System::AnsiString FileName = {read=FFileName, nodefault};
  170. public:
  171.     /* TRegistry.Destroy */ __fastcall virtual ~TRegIniFile(void) { }
  172.     
  173. };
  174.  
  175. //-- var, const, procedure ---------------------------------------------------
  176.  
  177. }    /* namespace Registry */
  178.  
  179. #pragma warn .par
  180. #pragma warn .hid 
  181. #pragma warn .inl
  182.  
  183. #if !defined(NO_IMPLICIT_NAMESPACE_USE)
  184. using namespace Registry;
  185. #endif
  186. //-- end unit ----------------------------------------------------------------
  187. #endif    // Registry
  188.