Main Page | Class Hierarchy | Class List | File List | Class Members | File Members

jAPIresources.h

Go to the documentation of this file.
00001 //---------------------------------------------------------------------------
00002 #ifndef jAPIresourcesH
00003 #define jAPIresourcesH
00004 //---------------------------------------------------------------------------
00005 
00006 #include <registry.hpp>
00007 #include "comctrls.hpp"
00008 
00009 // last modification : 23/07/2002
00010 
00011 // these functions open the key
00012 
00013 /* jREGreadString
00014 @description EN : read the value from a key in the registry
00015 @description FR : lit la valeur d'une clef dans la base de registre
00016 @author : Rémi VERNAY (srvremi@fr.st)
00017 @param _root : HKEY_LOCAL_MACHINE...
00018 @param _key : the key to where is located the subkey
00019 @param _subkey : the subkey associated to the value we want to read
00020 */
00021 AnsiString __fastcall jREGreadString(HKEY _root, AnsiString _key, AnsiString _subkey);
00022 
00023 /* jREGwrite
00024 @description EN : write the value to a key in the registry
00025 @description FR : écrit la valeur d'une clef dans la base de registre
00026 @author : Rémi VERNAY (srvremi@fr.st)
00027 @param _root : HKEY_LOCAL_MACHINE...
00028 @param _key : the key to where will be located situated the subkey
00029 @param _subkey : the subkey associated to the value we want to write
00030 @param _value : the value we want to write
00031 */
00032 bool __fastcall jREGwrite(HKEY _root, AnsiString _key, AnsiString _subkey, AnsiString _value);
00033 
00034 // these functions suppose that the key was previously opened
00035 bool __fastcall jREGwrite(TRegistry * reg, const AnsiString & SubKey, const AnsiString & value);
00036 bool __fastcall jREGread(TRegistry * reg, const AnsiString & SubKey, AnsiString & value);
00037 bool __fastcall jREGwrite(TRegistry * reg, const AnsiString & SubKey,const unsigned int & value);
00038 bool __fastcall jREGread(TRegistry * reg, const AnsiString & SubKey, unsigned int & value);
00039 bool __fastcall jREGwrite(TRegistry * reg, const AnsiString & SubKey,const int & value);
00040 bool __fastcall jREGread(TRegistry * reg, const AnsiString & SubKey, int & value);
00041 bool __fastcall jREGwrite(TRegistry * reg, const AnsiString & SubKey,const bool & value);
00042 bool __fastcall jREGread(TRegistry * reg, const AnsiString & SubKey, bool & value);
00043 bool __fastcall jREGdeleteKey(TRegistry * reg, const AnsiString & Key);
00044 bool __fastcall jREGdeleteKeyAndEmptyParents(TRegistry * reg, const AnsiString & Key);
00045 bool __fastcall jREGparseKey(const AnsiString & Key, TStrings * sl);
00046 
00047 class jResources
00048 {
00049         bool                    created;
00050         TTreeView *             Tree;
00051         char                    m_delimiter;
00052 
00053         public :
00054         jResources();
00055         jResources(Classes::TComponent * own, bool sorted=false);
00056         jResources(TTreeView * tree);
00057         ~jResources()
00058         {
00059                 if (created)    delete Tree;
00060         }
00061 
00062         void            __fastcall setDelimiter(char del);
00063         // acces aux fichiers
00064         bool            __fastcall crypt(TMemoryStream * ms);
00065         bool            __fastcall loadFromFile(AnsiString fileName);                   // * charge le fichier de ressource
00066         bool            __fastcall loadFromStream(TMemoryStream * ms);        
00067         bool            __fastcall saveToFile(AnsiString fileName);                     // * sauve les ressources dans le fichier
00068         bool            __fastcall saveToStream(TMemoryStream * ms);        
00069 
00070         // analyse la clef
00071         bool            __fastcall parseKey(AnsiString key, TStrings * sl);             // # decompose le chemin de la clef en x elements chaine de caractere
00072 
00073         // stockage
00074         TTreeNode *     __fastcall storeData(TStrings * sl);                            // # stocke les données en ressource
00075         bool            __fastcall store(AnsiString key, TStrings * sl = NULL);         // * idem mais crée une liste d'élément
00076         bool            __fastcall storeList(AnsiString key, TStrings * sl);            // * stocke un ensemble de sous-clefs en dessous d'une clef
00077         bool            __fastcall storeTab(AnsiString key, TListItems * li);           // * stocke un tableau 2x2 (issu d'une liste), en commancant par les labels, puis par les sous labels
00078         bool            __fastcall storeTabRedondant(AnsiString key, TListItems * li);  // * stocke aussi un tableau, mais stocke les redondances        
00079 
00080         // suppression
00081         bool            __fastcall remove(TTreeNode * node);                            // # supprime un noeud et ses sous-clefs
00082         bool            __fastcall remove(AnsiString key);                              // * supprime un clef et ses sous-clefs
00083 
00084         // recherche
00085         TTreeNode *     __fastcall srchSubNode(AnsiString label, TTreeNode * parent);   // # cherche un sous noeud dans le noeud courant
00086         TTreeNode *     __fastcall findNode(AnsiString key, bool create = false);       // # renvoit le noeud correspondant à la clef
00087         bool            __fastcall findData(AnsiString key, AnsiString & res);          // * renvoie la valeur correspondant à la clef (en fait la valeur du premier sous-noeud de la clef)
00088 
00089         // obtention de données
00090         AnsiString      __fastcall get(AnsiString key);                                 // * 2eme interface pour findData                          
00091         bool            __fastcall listSubKeys(AnsiString key, TStrings * sl);          // * renvoie la liste des valeurs immédiate sous la clef
00092         bool            __fastcall listTab(AnsiString key, TListItems * li);            // * renvoie le tableau sous la clef (sous-clefs et sous-sous-clefs) dans une list d'items         
00093 
00094         // modification
00095         bool            __fastcall modify(AnsiString key, AnsiString texte);            // * modifie la valeur du premier sous_noeud d'une clef
00096 };
00097 
00098 #endif

Generated on Sat Nov 15 10:52:34 2003 for JAPI by doxygen 1.3.4