#ifndef __77STQAB_H #define __77STQAB_H #include "77stq.h" ////////////////////////////////////// // QUADRO A ////////////////////////////////////// class TDipendente : public TSortable { TRecnotype _pos; long _codice_ditta; TString _ragsoc; long _codice_dipendente; long _codice_deceduto; TDate _fine_rapporto; bool _lavoro_precedente; char _causa; char _rettifica_conguaglio; int _numero_progressivo; public: virtual int compare(const TSortable& s) const; TRecnotype pos() const { return _pos; } long codice_deceduto() const { return _codice_deceduto; } void reset_deceduto() { _codice_deceduto = -_codice_deceduto; } long codice() const { return _codice_dipendente; } int anno_fine_rapporto() const { return _fine_rapporto.year(); } bool lavoro_precedente() const { return _lavoro_precedente; } char rettifica_conguaglio() const { return _rettifica_conguaglio; } TDipendente(const TCursor& cur); virtual ~TDipendente() { } }; class TDipendenti : public TObject { TArray _data; protected: const TDipendente& dip(int i) const { return (const TDipendente&)_data[i]; } public: const TDipendente& operator[](int i) const { return dip(i); } int fill(TCursor& cur); int items() const { return _data.items(); } int find(long d) const; TDipendenti() { } virtual ~TDipendenti() { } }; class TQuadroA : public TDicForm { enum { QA_FORMLEN = 72 }; protected: virtual void next_page(TPrinter& pr); virtual bool print(const long codditta, const long NumFis, const long NumNoFis); virtual void azzera_totali(); virtual void aggiorna_totali(const char) { } virtual int elementi_pagina(PaginaQuadro p) const; virtual int prima_riga(PaginaQuadro p) const; virtual int riga_totali(PaginaQuadro p) const; bool init(long codditta); virtual void preprocess_corpo(const TRectype& rec); int calcola_firma(); void stampa_corpo(TPrinter& pr); void stampa_totali(TPrinter& pr); void stampa_firma(TPrinter& pr); public: TQuadroA(const char* form, const char* quadro) : TDicForm(form, quadro) {} virtual ~TQuadroA() {} }; class TStampaQuadroA : public TStampaQuadro { protected: TDicForm* _form; TCursor* _cur; protected: virtual bool user_create(); virtual bool user_destroy(); virtual bool conta_tipi_per() const { return FALSE; } virtual TDicForm* get_form() const { return _form; } virtual TCursor* get_cursor() const { return _cur; } public: TStampaQuadroA(const char* quadro, char livel) : TStampaQuadro(quadro, livel) { } virtual ~TStampaQuadroA() { } }; /////////////////////////////////////////////// // QUADRO A1 /////////////////////////////////////////////// class TQuadroA1 : public TQuadroA { protected: virtual int elementi_pagina(PaginaQuadro p) const; virtual int prima_riga(PaginaQuadro p) const; virtual long filtra(const long codditta); virtual void preprocess_corpo(const TRectype& rec); public: TQuadroA1(const char* form, const char* quadro) : TQuadroA(form, quadro) { } virtual ~TQuadroA1() { } }; class TStampaQuadroA1 : public TStampaQuadroA { protected: virtual bool user_create(); public: TStampaQuadroA1(const char* quadro, char livel) : TStampaQuadroA(quadro, livel) { } virtual ~TStampaQuadroA1() { } }; /////////////////////////////////////////////// // QUADRO A2 /////////////////////////////////////////////// class TQuadroA2 : public TQuadroA { protected: virtual int elementi_pagina(PaginaQuadro p) const; virtual int prima_riga(PaginaQuadro p) const; virtual void preprocess_corpo(const TRectype& rec); public: TQuadroA2(const char* form, const char* quadro) : TQuadroA(form, quadro) { } virtual ~TQuadroA2() { } }; class TStampaQuadroA2 : public TStampaQuadroA { protected: virtual bool user_create(); public: TStampaQuadroA2(const char* quadro, char livel) : TStampaQuadroA(quadro, livel) { } virtual ~TStampaQuadroA2() { } }; ///////////////////////////////////////////////// // QUADRO A3 ///////////////////////////////////////////////// class TQuadroA3 : public TQuadroA { protected: virtual int elementi_pagina(PaginaQuadro p) const; virtual int prima_riga(PaginaQuadro p) const; public: TQuadroA3(const char* form, const char* quadro) : TQuadroA(form, quadro) { } virtual ~TQuadroA3() { } }; class TStampaQuadroA3 : public TStampaQuadroA { protected: virtual bool user_create(); public: TStampaQuadroA3(const char* quadro, char livel) : TStampaQuadroA(quadro, livel) { } virtual ~TStampaQuadroA3() { } }; /////////////////////////////////////////////////////// // QUADRO B /////////////////////////////////////////////////////// class TQuadroB : public TQuadroA { protected: virtual int elementi_pagina(PaginaQuadro p) const; virtual int prima_riga(PaginaQuadro p) const; public: TQuadroB(const char* form, const char* quadro) : TQuadroA(form, quadro) { } virtual ~TQuadroB() { } }; class TStampaQuadroB : public TStampaQuadroA { protected: virtual bool user_create(); public: TStampaQuadroB(const char* quadro, char livel) : TStampaQuadroA(quadro, livel) { } virtual ~TStampaQuadroB() { } }; /////////////////////////////////////////////////////////////////////////////////////////// // // Quadro H // /////////////////////////////////////////////////////////////////////////////////////////// class TQuadroH : public TQuadroA { enum { QH_FORMLEN = 72 }; protected: virtual bool ultima_pagina() const { return _PaginaCorrente==SECONDA; } virtual int elementi_pagina(PaginaQuadro p) const; virtual int prima_riga(PaginaQuadro p) const; virtual bool print(const long codditta, const long NumFis, const long NumNoFis); virtual void inc_curr_page(); virtual long filtra(const long codditta); public: TQuadroH(const char* form, const char* quadro) : TQuadroA(form, quadro) { } virtual ~TQuadroH() { } }; class TStampaQuadroH : public TStampaQuadroA { protected: virtual bool user_create(); public: TStampaQuadroH(const char* quadro, char livel) : TStampaQuadroA(quadro, livel) {} virtual ~TStampaQuadroH() {} }; #endif