campo-sirio/include/tabmod.h
guy 0b2aaa4eb9 Patch level : 10.0
Files correlati     : agalib, lv
Ricompilazione Demo : [ ]
Commento            :
Corretta gestione tabelle di modulo.
Correzioni importanti:
Le ricerche sulle tabelle di modulo sono filtrate correttamente
La descrizione della tabella di modulo viene reperita correttamente


git-svn-id: svn://10.65.10.50/trunk@17015 c028cbd2-c16b-5b4b-a496-9718f37d4682
2008-08-06 10:30:33 +00:00

79 lines
2.6 KiB
C++
Executable File

#ifndef __TABMOD_H
#define __TABMOD_H
#ifndef __ISAM_H
#include <isam.h>
#endif
// @doc EXTERNAL
// @class TModule_table | Classe per la descrizione delle tabelle
//
// @base public | TLocalisamfile
class TModule_table : public TLocalisamfile
// @author:(INTERNAL) Alex
// @access:(INTERNAL) Private Member
{
// @cmember:(INTERNAL) Nome della tabella
TString4 _tabname;
// @cmember:(INTERNAL) Modulo della tabella
TString4 _module;
// @cmember:(INTERNAL) cliente
long _customer;
// @cmember:(INTERNAL) Descrizione della tabella
TString _description;
// @access Protected Member
protected:
void load_module_description();
// @cmember Legge il record e lo copia in <p rec> (vedi <t TReclock> e <t TIsamop>)
virtual int _read(TRectype& rec, word op = _isequal, word lockop = _nolock);
// @cmember scrive il record <p rec>
virtual int _write(const TRectype& rec);
// @cmember riscrive il record <p rec>
virtual int _rewrite(const TRectype& rec);
// @cmember Legge il record alla posizione <p nrec> e lo copia in <p rec> (vedi <t TReclock>)
virtual int _readat(TRectype& rec, TRecnotype nrec, word lockop = _nolock);
// @cmember Testa se il record fa parte della tabella
bool in_table() const ;
// @cmember Testa se il record fa non parte della tabella
bool not_in_table() const { return !in_table(); }
// @cmember Vuota tutto il record passato usando il carattere <p c>
void zero_rec(TRectype& rec, char c);
// @access Public Member
public:
// @cmember Salta <p nrec> record dalla posizione corrente
virtual int skip(TRecnotype nrec, word lockop = _nolock);
// @cmember Ritorna il nome della tabella
virtual const char* name() const { return _tabname;}
// @cmember Ritorna il modulo al quale appartiene la tabella
const char* module() const;
// @cmember Ritorna il cliente al quale appartiene la tabella
long customer() const;
// @cmember Ritorna la descrizione della tabella
virtual const char* description();
// @controlla se la tabella e' vuota
virtual bool empty();
// @cmember Ritorna la relapp che gestisce la tabella
virtual bool get_relapp(TString& app) const;
// @cmember Vuota tutto il record
virtual void zero();
// @cmember Vuota tutto il record usando il carattere <p c>
virtual void zero(char c = '\0');
// @cmember Ritorna il numero logico della tabella <p tabname>
static int name2log(const char* tabname) { return LF_TABGEN;}
// @cmember Costruttore
TModule_table(const char* tabname, const char * module = NULL, long customer = 0L);
// @cmember Distruttore
virtual ~TModule_table() {}
};
#endif // __TABUTIL_H