#ifndef __77STQAB_H #define __77STQAB_H #include "77stq.h" ////////////////////////////////////// // QUADRO A ////////////////////////////////////// HIDDEN const int HEADER_PRIMA_NOPOS_QA = 2; HIDDEN const int _NUM_FOGLIO_QA = 4; 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; void destroy() { _data.destroy(); } 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 aggiorna_totali(const char) { } virtual int elementi_pagina(PaginaQuadro p) const; virtual int prima_riga(PaginaQuadro p) const; virtual int dic_form_len() const; bool init(long codditta); virtual void preprocess_corpo(const TRectype& rec); int calcola_firma(); void stampa_testata(TPrinter& pr); void stampa_corpo(TPrinter& pr); void stampa_totali(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 menu(MENU_TAG m) { return TStampaQuadro::menu(m);} 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 TStampaQuadroA1 : public TStampaQuadroD { protected: virtual bool user_create(); public: TStampaQuadroA1(const char* quadro, char livel) : TStampaQuadroD(quadro, livel) { } virtual ~TStampaQuadroA1() { } }; /////////////////////////////////////////////// // QUADRO A2 /////////////////////////////////////////////// class TStampaQuadroA2 : public TStampaQuadroD { protected: virtual bool user_create(); public: TStampaQuadroA2(const char* quadro, char livel) : TStampaQuadroD(quadro, livel) { } virtual ~TStampaQuadroA2() { } }; ///////////////////////////////////////////////// // QUADRO A3 ///////////////////////////////////////////////// class TStampaQuadroA3 : public TStampaQuadroD { protected: virtual bool user_create(); public: TStampaQuadroA3(const char* quadro, char livel) : TStampaQuadroD(quadro, livel) { } virtual ~TStampaQuadroA3() { } }; ///////////////////////////////////////////////// // QUADRO Abis ///////////////////////////////////////////////// class TStampaQuadroAbis : public TStampaQuadroD { protected: virtual bool user_create(); public: TStampaQuadroAbis(const char* quadro, char livel) : TStampaQuadroD(quadro, livel) { } virtual ~TStampaQuadroAbis() { } }; #endif