diff --git a/m770/77stq.cpp b/m770/77stq.cpp index 9db734994..615549efa 100755 --- a/m770/77stq.cpp +++ b/m770/77stq.cpp @@ -3278,8 +3278,79 @@ class TQuadroH : public TDicForm void TQuadroH::azzera_contatori() { _rC2t = _rC3t = ZERO; +} + +//--------------------------------------------------------------------------------------- +// Quadro 770/A +// almeno credo +// ------------------------------------------------------------------------------------- + +class TQuadroA : public TDicForm +{ + private: + + public: + virtual bool UsaSortedCursor() { return FALSE; } +// virtual bool print(const long codditta, const long numfis=0L, const long numnofis=0L); +// virtual void inc_curr_page(); +// virtual void next_page(TPrinter& pr); + + TQuadroA(const char* form, const char* quadro) : TDicForm(form, quadro) {} + virtual ~TQuadroA() {} +}; + +class TStampaQuadroA : public TStampaQuadro +{ + private: + TQuadroA* _form; + TRelation* _rel; + TCursor* _cur; + + protected: + virtual bool ContaTipiPer() const { return FALSE; } + virtual bool UsaSortedCursor() const { return FALSE; } + virtual TDicForm* get_form() const { return _form; } + virtual TDicForm* build_form(); + virtual TCursor* build_cursor(); + virtual TCursor* get_cursor() const { return _cur; } + virtual TRelation* get_relation() const { return _rel; } + virtual bool destroy(); +// virtual void print(); + + public: + TStampaQuadroA(const char* quadro, const char livel) : TStampaQuadro(quadro,livel) {} +}; + +TDicForm* TStampaQuadroA::build_form() +{ + _form = new TQuadroA("77QA", _quadro); + return _form; } +TCursor* TStampaQuadroA::build_cursor() +{ + _rel = new TRelation(LF_QUAF); + _rel->add(LF_RIGHEF, "CODDITTA=CODDITTA"); + _rel->add(LF_NDITTE, "CODDITTA=CODDITTA", 1, LF_QUAF); + _rel->add(LF_ANAG, "TIPOA=TIPOA|CODANAGR=CODANAGR", 1, LF_NDITTE, 116); + _rel->add(LF_ANAGFIS, "CODANAGR=CODANAGR", 1, LF_ANAG, 118); + _rel->add(LF_COMUNI, "COM=COMNASC", 1, LF_ANAGFIS, 113); + _rel->add(LF_COMUNI, "COM=COMRF(COMRES)", 1, LF_ANAG, 213); + _cur = new TCursor(_rel); + return _cur; +} + +bool TStampaQuadroA::destroy() +{ + delete _m; + delete _rel; + delete _cur; + delete _cnf; + delete _form; + + return TApplication::destroy(); +} + ///////////////////////////////////////////////////////////////////////////////// // // MAIN @@ -3288,6 +3359,7 @@ void TQuadroH::azzera_contatori() // 772mod -4 [QUADRO] [ LIVELLO {S|D} ] // ///////////////////////////////////////////////////////////////////////////////// + int stampa_quadro(int argc, char* argv[]) { if (argc >= 4) @@ -3301,26 +3373,28 @@ int stampa_quadro(int argc, char* argv[]) TStampaQuadro app(quadro, livello); app.run(argc, argv, app.taitol()); } - - if (quadro == "F") + else if (quadro == "A") + { + TStampaQuadroA app(quadro, livello); + app.run(argc, argv, app.taitol()); + } + else if (quadro == "F") { TStampaQuadroF app(quadro, livello); app.run(argc, argv, app.taitol()); } - - if (quadro == "G") + else if (quadro == "G") { TStampaQuadroG app(quadro, livello); app.run(argc, argv, app.taitol()); } - - if (quadro == "G1") + else if (quadro == "G1") { TStampaQuadroG1 app(quadro, livello); app.run(argc, argv, app.taitol()); } /* - if (quadro == "H") + else if (quadro == "H") { TStampaQuadroH app(quadro, livello); app.run(argc, argv, app.taitol());