#ifndef __PREFIX_H #define __PREFIX_H #ifndef __EXTCTYPE_H #include #endif #ifndef __FILES_H #include #endif #ifndef __STRINGS_H #include #endif // @doc EXTERNAL // @class TPrefix | Classe contenente le informazioni sulla ditta correntemente in uso // // @base public | TObject class TPrefix : public TObject // @author:(INTERNAL) Sandro-Guido { // @access:(INTERNAL) Private Member // @cmember:(INTERNAL) Contenuto del file "prefix.txt" TString _prefix; // @cmember:(INTERNAL) Array di flag di apertura dei file (dir.gen) int* _dirfl; // @cmember:(INTERNAL) Array di flag di apertura dei file (trc.gen) int* _recfl; // @cmember:(INTERNAL) Livello degli archivi long _filelevel; // @cmember:(INTERNAL) Numero di files esitenti int _items; // @cmember:(INTERNAL) Puntatore alla lista dei file (dir.gen) SecDef* _fdir; // @cmember:(INTERNAL) Puntatore alla lista dei record (trc.gen) SecDef* _rdir; // @access Protected Member protected: // @cmember Verifica l'effettiva esistenza della directory

sotto // la directory dati bool test(const char* s) const ; // @cmember Copia fisicamente la stringa

nel file "prefix.txt" void put(); // @access Public Member public: // @cmember Setta la ditta corrente void set(const char* name = NULL, bool force = FALSE, TFilelock mode = _manulock); // @cmember Controlla l'esistenza di un codice ditta bool exist(long codditta) const; // @cmember Controlla l'esistenza di un codice ditta e che non sia in uso bool test(long codditta) const; // @cmember Ritorna il codice della ditta corrente long get_codditta() const ; // @cmember Setta il codice della ditta corrente bool set_codditta(long codditta, bool force = FALSE); // @cmember Ritorna il contenuto della variabile

const char* name() const { return _prefix;} // @cmember Ritorna il livello degli archivi long filelevel() const {return _filelevel;} // @cmember Ritorna il numero di archivi int items() const { return _items; } // @cmember Ritorna la descrizione del file passato const char* description(const char* cod) const; // @cmember Ritorna la descrizione del file passato const char* description(int cod) const; // @cmember Controlla che la ditta attiva sia una ditta (e non es. dati comuni) bool is_firm() const { return _prefix.len() == 6 && _prefix[5] == 'a';} // @cmember Controlla che siano attivi i dati comuni (e non una ditta) bool is_com() const { return !is_firm();} // @cmember Riapre tutti gli archivi della ditta attiva void reopen() const ; // @cmember Costruttore TPrefix(); // @cmember Distruttore virtual ~TPrefix(); }; const char* firm2dir(long codditta); TString& user(); TPrefix& prefix_init(); TPrefix& prefix(); void prefix_destroy(); #endif // __PREFIX_H