#ifndef __CONTO_H #define __CONTO_H #ifndef __STRINGS_H #include #endif #ifndef __REAL_H #include #endif enum TIndbil { ib_null, ib_attivita, ib_passivita, ib_costi, ib_ricavi, ib_conti_ordine }; class TConto : public TSortable { char _tipo; // ' ' = Conto, 'C' = Cliente, 'F' = 'Fornitore' int _gruppo, _conto; long _sottoconto; // Sottoconto, codice cliente o fornitore TString80 _descrizione; // Vuota fino alla chiamata di describe int _tipo_cr; real _dare, _avere; real _darepro, _averepro; real _saldo; protected: virtual int compare(const TSortable& s) const; virtual const char* class_name() const { return "Conto"; } const char* describe(); public: TConto(int g = 0, int c = 0, long s = 0L, char t = ' ', const char* d = NULL); TConto(TToken_string& tgcsd, int from, int mode = 0); virtual ~TConto() {} TConto& set(int g = 0, int c = 0, long s = 0L, char t = ' ', const char* d = NULL); const TConto& add_to(TToken_string& ts, int from, int mode = 0); virtual bool ok() const; // Gruppo, Conto e Sottoconto non nulli real& dare() { return _dare; } real& avere() { return _avere; } real& darepro() { return _darepro; } real& averepro() { return _averepro; } real& saldo() { return _saldo; } char tipo() const { return _tipo; } int gruppo() const { return _gruppo; } int conto() const { return _conto; } long sottoconto() const { return _sottoconto; } const TString& descrizione(); int TConto::tipo_cr(); bool read(TRectype& r); const char* string(int mode = 0); }; #endif