diff --git a/ef/ef0400.cpp b/ef/ef0400.cpp index fda4ceb4d..f4374ef89 100755 --- a/ef/ef0400.cpp +++ b/ef/ef0400.cpp @@ -1,4 +1,4 @@ -#include +#include #include //per definizione BAR_ITEM #include #include @@ -6,7 +6,7 @@ #include #include "ef0.h" #include "ef0101.h" -#include "ef0400.h" +#include "ef0400.h" ///////////////////////////////////////////////////////////////////////////// //Classe per l'eliminazione di effetti di effetti con selezione per gruppi // @@ -14,21 +14,21 @@ class TEliminazione_effetti: public TApplication { TMask *_msk; - TRelation *_rel; + TRelation *_rel; TLocalisamfile *_reff, *_cession; - TRectype *_from, *_to; - virtual bool create() ; - virtual bool destroy() ; - virtual bool menu(MENU_TAG); -protected: + TRectype *_from, *_to; + virtual bool create() ; + virtual bool destroy() ; + virtual bool menu(MENU_TAG); +protected: static bool from_numero_handler(TMask_field& f, KEY k); static bool to_numero_handler(TMask_field& f, KEY k); static bool from_data_handler(TMask_field& f, KEY k); - static bool to_data_handler(TMask_field& f, KEY k); - static bool conferma_handler(TMask_field& f, KEY k); - static bool annulla_handler(TMask_field& f, KEY k); + static bool to_data_handler(TMask_field& f, KEY k); + static bool conferma_handler(TMask_field& f, KEY k); + static bool annulla_handler(TMask_field& f, KEY k); static void elimina(); -public: +public: TEliminazione_effetti() {}; virtual ~TEliminazione_effetti() {}; }; @@ -39,29 +39,29 @@ inline TEliminazione_effetti& app(){return (TEliminazione_effetti&)main_app();} // crea l'applicazione bool TEliminazione_effetti::create() { - _msk = new TMask("ef0400a"); - _rel = new TRelation(LF_EFFETTI); + _msk = new TMask("ef0400a"); + _rel = new TRelation(LF_EFFETTI); _reff = new TLocalisamfile(LF_REFFETTI); - _cession = new TLocalisamfile(LF_CESS); - _rel->first(); + _cession = new TLocalisamfile(LF_CESS); + _rel->first(); _from = new TRectype(_rel->lfile().curr()); - _rel->last(); + _rel->last(); _to = new TRectype(_rel->lfile().curr()); _msk->set_handler(F_DA_RIBA, from_numero_handler); _msk->set_handler(F_A_RIBA, to_numero_handler); _msk->set_handler(F_DA_DATA, from_data_handler); _msk->set_handler(F_A_DATA, to_data_handler); - _msk->set_handler(DLG_OK, conferma_handler); - _msk->set_handler(DLG_CANCEL, annulla_handler); - dispatch_e_menu(BAR_ITEM(1)); + _msk->set_handler(DLG_OK, conferma_handler); + _msk->set_handler(DLG_CANCEL, annulla_handler); + dispatch_e_menu(BAR_ITEM(1)); return TRUE; } // distrugge l'applicazione bool TEliminazione_effetti::destroy() { - delete _msk; - delete _rel; + delete _msk; + delete _rel; delete _reff; delete _cession; delete _from; @@ -74,77 +74,78 @@ bool TEliminazione_effetti::menu(MENU_TAG) { KEY key = K_ENTER; while (key != K_QUIT)//finchè non si chiude la maschera - { - key = _msk->run(); + { + _msk->reset(); + key = _msk->run(); } return FALSE; -} +} //Handler per la gestione della prima chiave (from) del cursore per numero bool TEliminazione_effetti::from_numero_handler(TMask_field& f, KEY k) -{ - TMask &m = f.mask(); +{ + TMask &m = f.mask(); if (k == K_TAB) { if (!f.get().empty())// se il campo non è vuoto - { + { TRectype* from = app()._from; - long num = m.get_long(F_DA_RIBA); + long num = m.get_long(F_DA_RIBA); from->put(EFF_NPROGTR, num); } - } + } return TRUE; } -//Handler per la gestione della seconda chiave (to) del cursore per numero +//Handler per la gestione della seconda chiave (to) del cursore per numero bool TEliminazione_effetti::to_numero_handler(TMask_field& f, KEY k) -{ - TMask &m = f.mask(); +{ + TMask &m = f.mask(); if (k == K_TAB) - { + { if (!f.get().empty())// se il campo non è vuoto - { + { TRectype* to = app()._to; - long num = m.get_long(F_A_RIBA); + long num = m.get_long(F_A_RIBA); to->put(EFF_NPROGTR, num); } - } + } return TRUE; } //Handler per la gestione della prima chiave (from) del cursore per data bool TEliminazione_effetti::from_data_handler(TMask_field& f, KEY k) -{ - TMask &m = f.mask(); +{ + TMask &m = f.mask(); if (k == K_TAB) - { + { if (!f.get().empty())// se il campo non è vuoto - { + { TRectype* from = app()._from; TDate data = m.get(F_DA_DATA); - long num = m.get_long(F_DA_RIBA); - from->put(EFF_NPROGTR, num); - from->put(EFF_DATASCAD, data); + long num = m.get_long(F_DA_RIBA); + from->put(EFF_NPROGTR, num); + from->put(EFF_DATASCAD, data); } - } + } return TRUE; } //Handler per la gestione della seconda chiave (to) del cursore per numero bool TEliminazione_effetti::to_data_handler(TMask_field& f, KEY k) -{ - TMask &m = f.mask(); +{ + TMask &m = f.mask(); if (k == K_TAB) - { + { if (!f.get().empty())// se il campo non è vuoto - { + { TRectype* to = app()._to; TDate data = m.get(F_A_DATA); - long num = m.get_long(F_A_RIBA); - to->put(EFF_NPROGTR, num); - to->put(EFF_DATASCAD, data); + long num = m.get_long(F_A_RIBA); + to->put(EFF_NPROGTR, num); + to->put(EFF_DATASCAD, data); } - } + } return TRUE; } @@ -153,8 +154,8 @@ bool TEliminazione_effetti::to_data_handler(TMask_field& f, KEY k) void TEliminazione_effetti::elimina() { const TRectype *from = app()._from; - const TRectype *to = app()._to; - TMask *m = app()._msk; + const TRectype *to = app()._to; + TMask *m = app()._msk; TRelation *rel = app()._rel; const char* filter; int key; @@ -167,8 +168,8 @@ void TEliminazione_effetti::elimina() break; case 'D': //selezione effetti per data key = 3; - break; - } + break; + } switch (op2) //scelgo il filtro per il cursore { case 'S': //cancello effetti stampati @@ -176,44 +177,44 @@ void TEliminazione_effetti::elimina() break; case 'C': //cancello effetti contabilizzati filter = "EFFCONT=\"X\""; - break; + break; default : //cancello tutti gli effetti filter = ""; break; } - TCursor cur(rel,filter,key,from,to); // istanzio il cursore - TLocalisamfile& delfile = cur.file();// prendo un riferimento al file - long n = cur.items();// prendo il numero di elementi del cursore - cur.freeze();// congelo lo stato del cursore + TCursor cur(rel,filter,key,from,to); // istanzio il cursore + TLocalisamfile& delfile = cur.file();// prendo un riferimento al file + long n = cur.items();// prendo il numero di elementi del cursore + cur.freeze();// congelo lo stato del cursore for (cur=0; cur.pos() < n; ++cur)// scandisco tutti gli elementi del cursore { TEffetto eff(delfile.curr());// istanzio un effetto eff.remove(delfile); // e lo cancello - } -} + } +} -//Handler per gestire la conferma della cancellazione degli effetti +//Handler per gestire la conferma della cancellazione degli effetti bool TEliminazione_effetti::conferma_handler(TMask_field& f, KEY k) -{ - TMask &m = f.mask(); +{ + TMask &m = f.mask(); if (k == K_SPACE) - { + { if (yesno_box("Vuoi veramete eliminare gli effetti selezionati")) - elimina(); - } + elimina(); + } return TRUE; } -// Handler per gestire la conferma dell'annullamento dei dati -// inseriti nella maschera +// Handler per gestire la conferma dell'annullamento dei dati +// inseriti nella maschera bool TEliminazione_effetti::annulla_handler(TMask_field& f, KEY k) -{ - TMask &m = f.mask(); +{ + TMask &m = f.mask(); if (k == K_SPACE) - { + { if (yesno_box("Vuoi veramete annullare i dati inseriti")) - m.reset(); - } + m.reset(); + } return TRUE; } @@ -222,4 +223,4 @@ int ef0400(int argc, char* argv[]) TEliminazione_effetti a ; a.run(argc, argv, "Eliminazione Effetti"); return 0; -} \ No newline at end of file +} diff --git a/ef/ef0400a.uml b/ef/ef0400a.uml index bc588aeff..4b48e3295 100755 --- a/ef/ef0400a.uml +++ b/ef/ef0400a.uml @@ -4,21 +4,21 @@ PAGE "Eliminazione Effetti" -1 -1 57 14 LIST F_TIPOSEL 24 -BEGIN +BEGIN PROMPT 2 1 "Tipo Selezione " ITEM "N|Numero progressivo" MESSAGE DISABLE,2@ MESSAGE ENABLE,1@ ITEM "D|Data scadenza" MESSAGE DISABLE,1@ - MESSAGE ENABLE,2@ -END + MESSAGE ENABLE,2@ +END LIST F_TIPOCANC 24 -BEGIN +BEGIN PROMPT 2 3 "Tipo Cancellazione " ITEM "T|Tutti" - ITEM "S|Quelli stampati" + ITEM "S|Quelli stampati" ITEM "C|Quelli contabilizzati" END @@ -26,32 +26,32 @@ GROUPBOX DLG_NULL 55 3 BEGIN PROMPT 1 5 "Selezione effetti per numero progressivo" GROUP 1 -END +END -NUMBER F_DA_RIBA 7 0 +NUMBER F_DA_RIBA 7 0 BEGIN PROMPT 2 6 "Dalla Riba " - GROUP 1 + GROUP 1 FIELD LF_EFFETTI->NPROGTR USE LF_EFFETTI KEY 1 INPUT NPROGTR F_DA_RIBA DISPLAY "Nr. progressivo" NPROGTR DISPLAY "Data scadenza" DATASCAD OUTPUT F_DA_RIBA NPROGTR - CHECKTYPE NORMAL +// CHECKTYPE NORMAL END NUMBER F_A_RIBA 7 0 -BEGIN +BEGIN PROMPT 30 6 "Alla Riba " - GROUP 1 + GROUP 1 FIELD LF_EFFETTI->NPROGTR USE LF_EFFETTI KEY 1 INPUT NPROGTR F_A_RIBA DISPLAY "Nr. progressivo" NPROGTR DISPLAY "Data scadenza" DATASCAD OUTPUT F_A_RIBA NPROGTR - CHECKTYPE NORMAL +// CHECKTYPE NORMAL NUM_EXPR {#THIS_FIELD>=#F_DA_RIBA} WARNING "Limite superiore non valido" END @@ -60,15 +60,15 @@ GROUPBOX DLG_NULL 55 3 BEGIN PROMPT 1 9 "Selezione effetti per data scadenza" GROUP 2 -END +END DATA F_DA_DATA -BEGIN +BEGIN PROMPT 2 10 "Dalla Data " - GROUP 2 + GROUP 2 FIELD LF_EFFETTI->DATASCAD USE LF_EFFETTI KEY 3 - INPUT DATASCAD F_DA_DATA + INPUT DATASCAD F_DA_DATA DISPLAY "Data scadenza" DATASCAD DISPLAY "Nr. progressivo" NPROGTR OUTPUT F_DA_DATA DATASCAD @@ -77,19 +77,19 @@ BEGIN END DATA F_A_DATA -BEGIN +BEGIN PROMPT 30 10 "Alla Data " GROUP 2 FIELD LF_EFFETTI->DATASCAD USE LF_EFFETTI KEY 3 - INPUT DATASCAD F_A_DATA + INPUT DATASCAD F_A_DATA DISPLAY "Data scadenza" DATASCAD DISPLAY "Nr. progressivo" NPROGTR OUTPUT F_A_DATA DATASCAD OUTPUT F_A_RIBA NPROGTR - //CHECKTYPE NORMAL + //CHECKTYPE NORMAL VALIDATE DATE_CMP_FUNC >= F_DA_DATA - WARNING "Data limite superiore non valida" + WARNING "Data limite superiore non valida" END BUTTON DLG_OK 9 2 @@ -105,9 +105,9 @@ END BUTTON DLG_QUIT 9 2 BEGIN PROMPT -33 -1 "" -END +END ENDPAGE ENDMASK - +