⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 clsconfigfile.h

📁 set of c++ classes for read/write access to ascii files.
💻 H
字号:
#ifndef CLSCONFIGFILE_H#define CLSCONFIGFILE_H#include <string>#include <list>#include <vector>#define CONFIG_FILE_GLOBAL_SECTION ""class clsConfigVar{    public:        ~clsConfigVar ();    protected:        friend class clsConfigSeq;        friend class clsConfigFile;        clsConfigVar (const char* cNewName);        int             SetIndex        ( const std::string& sNewValue, long lIndex );        int             GetIndex        ( std::string& sBackValue, long lIndex );        int             DelIndex        ( long lIndex );        int             Count           ( );        std::string&    GetVarString    ( );        int                         m_iWritten;      // je li vec zapisan?        std::string                 m_sVarName;        std::vector<std::string>    m_vcVarIndex;    //lista indexa nakon imena varijable u config fileu private:};class clsConfigSeq{    public:        ~clsConfigSeq ();    protected:        friend class clsConfigFile;        clsConfigSeq (const char* cNewName);        int             Count           ( );                                        // koliko je varijabli unutar sekvence   		int             CountIndex	    ( long lIndex );                            // prebroji (iz memorije) sve indexe varijable        int             CountIndex		( const char* cVarname );                   // prebroji (iz memorije) sve indexe varijable        int             GetVarIndex     ( const char* cVarname, std::string& sNewValue, long lIndex );        int             GetVarIndex     ( long lVarIndex , std::string& sNewValue, long lIndex );        clsConfigVar*   GetVar          ( const char* cVarname);        const char*     GetVarName      ( long lIndex );        int             AddVar			( const char* cNewVarName);   		int             SetVar          ( const char* cVarname, const long lNewValue, long lIndex = 0);   		int             SetVar          ( const char* cVarname, const char* cNewValue, long lIndex = 0);   		int             SetVar          ( const char* cVarname, const float fNewValue, long lIndex = 0);   		int             SetVar          ( const char* cVarname, const std::string& sNewValue, long lIndex = 0);        int             WriteSeq        ( int iWriteSeqName, int iConfFile);        int             ClearWritten    ();        int             DelVar          (const char* cVarName);        int 	        DelVarValue		(const char* cVarName, long lIndex);        std::string                      m_sSeqName;        std::list<clsConfigVar>          m_lsConfigVar;        int                         m_iWritten;                                     // je li vec zapisan? private:};class clsConfigFile{        enum  eStateType        {            eStartLine=1,            eSeqNameRead,            eNameRead,            ePreIndex,            eIndexRead,            eComment        };	public:   		clsConfigFile   (const char* cFileName = 0);   		~clsConfigFile  ();	   		int 	        ReadFile  		(const char* cFileName = 0);         // otvori i citaj configfile, procitaj varijable u memoriju   		int  	        WriteFile  		(const char* cNewFile = 0);          // stvori novi configfile   		   		int 	        Count	  		(const char* cFileName = 0);                            // prebroji (iz memorije) sve sekcije unutar configfilea   		int 	        CountVar    	(const char* cSeqName);                                 // prebroji (iz memorije) sve varijable unutar sekcije   		int 	        CountIndex		(const char* cSeqName,const char* cVarname );           // prebroji (iz memorije) sve indexe varijable   		   		const char*     GetSeqName	    (long lIndex);   		int		        AddSeq			(const char* cSeqName);       	   // dodaj novu sekciju   		int		        AddVar			(const char* cSeqName, const char* cNewVarName);       	   // dodaj novu varijablu   		int             SetVar          (const char* cSeqName, const char* cVarname, const long lNewValue, long lIndex = 0);   		int             SetVar          (const char* cSeqName, const char* cVarname, const char* cNewValue, long lIndex = 0);   		int             SetVar          (const char* cSeqName, const char* cVarname, const float fNewValue, long lIndex = 0);   		int             SetVar          (const char* cSeqName, const char* cVarname, const std::string& sNewValue, long lIndex = 0);   		int             GetVarValue     (const char* cSeqName, const char* cVarname, unsigned long& lNewValue, long lIndex = 0);   		int             GetVarValue     (const char* cSeqName, const char* cVarname, long& lNewValue, long lIndex = 0);   		int             GetVarValue     (const char* cSeqName, const char* cVarname, char** cNewValue, long lIndex = 0);   		int             GetVarValue     (const char* cSeqName, const char* cVarname, float& fNewValue, long lIndex = 0);   		int             GetVarValue     (const char* cSeqName, const char* cVarname, std::string& sNewValue, long lIndex = 0);   		   		int             GetVarValue     (const char* cSeqName, long lVarIndex , std::string& sNewValue, long lIndex = 0);   		   		int             SeqExists       (const char* cSeqName);   		int             VarExists       (const char* cSeqName,const char* cVarName);   		int 	        DelSeq			(const char* cSeqName);	   		int 	        DelVar			(const char* cSeqName,const char* cVarName);                    // obrisi varijablu   		int 	        DelVarValue		(const char* cSeqName,const char* cVarName, long lIndex = 0);   // obrisi index varijable   		int 	        Clear			();                                                             // obrisi sve	    const char*     GetVarName      (const char* cSeqName, long lIndex );		protected:   		int                     WriteLine           (std::string& sSeqName, const char* cStart , long lSize );        clsConfigVar*           GetVar              (const char* sSeqName,const char* cVarname);	    int                     WriteSeq            (int iWriteSeqName, std::string& sSeqName);	        std::string             m_sFileName;        std::list<clsConfigSeq> m_lsConfigSeq;        int                     m_iConfFile;     //file descriptor ako se koristi open i slicno	private:        unsigned long   HexToNum        ( const char* cPtr );	};#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -