104 lines
		
	
	
		
			2.9 KiB
		
	
	
	
		
			C++
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			104 lines
		
	
	
		
			2.9 KiB
		
	
	
	
		
			C++
		
	
	
		
			Executable File
		
	
	
	
	
| #ifndef __PREFIX_H
 | |
| #define __PREFIX_H
 | |
| 
 | |
| #ifndef __EXTCTYPE_H
 | |
| #include <extctype.h>
 | |
| #endif
 | |
| 
 | |
| #ifndef __FILES_H
 | |
| #include <files.h>
 | |
| #endif
 | |
| 
 | |
| #ifndef __STRINGS_H
 | |
| #include <strings.h>
 | |
| #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 <p s> sotto 
 | |
|   //          la directory dati 
 | |
|   bool test(const char* s) const ;
 | |
|   // @cmember Copia fisicamente la stringa <p _prefix> 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 <p _prefix>
 | |
|   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
 | |
| 
 |