campo-sirio/cg/conto.h

60 lines
1.5 KiB
C++
Executable File

#ifndef __CONTO_H
#define __CONTO_H
#ifndef __STRINGS_H
#include <strings.h>
#endif
#ifndef __REAL_H
#include <real.h>
#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
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);
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();
bool read(TRectype& r);
const char* string(int mode = 0);
};
#endif