diff --git a/ci/ci0300.cpp b/ci/ci0300.cpp deleted file mode 100755 index afcc06fb0..000000000 --- a/ci/ci0300.cpp +++ /dev/null @@ -1,226 +0,0 @@ -#include -#include -#include -#include -#include -#include - -#include - -#include "ci0.h" -#include "cilib.h" -#include "ci0300.h" - - -/////////////////////////////////////////////////////////// -// TImmissioneDocumenti_app -/////////////////////////////////////////////////////////// - -// Overrides - -bool TImmissioneDocumenti_app::create() -{ - _mask = new TImmissioneDocumenti_mask(); - - init_tabs(); - init_flags(); - - return TSkeleton_application::create(); -} - -bool TImmissioneDocumenti_app::destroy() -{ - delete _mask; - - return TSkeleton_application::destroy(); -} - -void TImmissioneDocumenti_app::main_loop() -{ - while (_mask->run() == K_ENTER) - { - _mask->open_inner_sheet(_mask->selected_day(),_filters.row(_mask->curr_page())); - } -} - -// Chiamate dalla maschera - -void TImmissioneDocumenti_app::change_year(int newyear) -{ - _year = newyear; - _newyearsday.set_year(_year); - - init_flags(); -} - -bool TImmissioneDocumenti_app::has_documents(TDate& day) -{ - return ((_flags)[day-_newyearsday]); -} - -// Inizializzazioni - -void TImmissioneDocumenti_app::init_tabs() -{ - TString almanacname; - TString pagename; - TString currfilter; - int items; - - _tabs.destroy(); - _filters.destroy(); - - TConfig configfile("ci0300.ini"); - configfile.list_paragraphs(_tabs); - - items = _tabs.items(); - - for (int i=0;ifind_by_fieldname(pagename); - currpage->set_prompt(_tabs.row(i)); - _filters.add(currfilter); - almanacname.format("Almanacco %2d",i); - _mask->activate_almanac((TAlmanac_field*)_mask->find_by_fieldname(almanacname), i, TDate(TODAY)); - } -} - -void TImmissioneDocumenti_app::init_flags() -{ - int items; - TDate currdate; - TDate currstart; - TString filter; - - filter << "ANNO==\"" << _year << "\""; - - TRelation relation(LF_DOC); - - TSorted_cursor cursor(&relation, "ANNO", filter); - - items =cursor.items(); - - for (cursor=0;cursor.pos()RAGSOC", - TR("Selezione documenti"), - HR("Anno|Num.|Tipo|Docum.Rif.|Stato|Data@10|Documento|Ragione Sociale@50"), - 0x10||0x02||0x04); - - exitval = sheet.run(); - - switch(exitval) - { - case K_ENTER: - case K_DEL: - case K_INS: - call_ve0(exitval, relation, date, doctype); - break; - case K_ESC: - break; - default: - break; - } -} - -void TImmissioneDocumenti_mask::call_ve0(int exitval, TRelation& relation, TDate& date, TString& doctype) -{ - TFilename tempfile; - tempfile.tempdir(); - tempfile.add("cicallsve0.ini"); - - { - TConfig configfile(tempfile); - - switch(exitval) - { - case K_ENTER: - configfile.set("Action", "Modify", "main"); - configfile.set("CODNUM", doctype, "33"); - configfile.set("NDOC", relation.lfile().get(DOC_NDOC), "33"); - break; - case K_DEL: - configfile.set("Action", "Delete", "main"); - configfile.set("CODNUM", doctype, "33"); - configfile.set("NDOC", relation.lfile().get(DOC_NDOC), "33"); - break; - case K_INS: - configfile.set("Action", "Insert", "main"); - configfile.set("NDOC", date.string(), "33"); - break; - default: - break; - } - - configfile.set("PROVV", "D", "33"); - configfile.set("ANNO", curr_almanac()->selected_year(), "33"); - configfile.set("CODNUM", doctype, "33"); - } - - TString commandline; - - commandline.format("ve0 -0 /i%s",tempfile); - - TExternal_app ve(commandline); - ve.run(); - - remove_file(tempfile); -} - -// Richiami all'applicazione - -void TImmissioneDocumenti_mask::change_year(int newyear) -{ - immissione_documenti_app().change_year(newyear); -} - -bool TImmissioneDocumenti_mask::is_date_void(TDate& cdate) -{ - return !(immissione_documenti_app().has_documents(cdate)); -} - -/////////////////////////////////////////////////////////// -// Mains -/////////////////////////////////////////////////////////// - -int ci0300(int argc, char* argv[]) -{ - TImmissioneDocumenti_app a ; - a.run(argc, argv, TR("Immissione Documenti")); - return 0; -} - -int ci0400(int argc, char* argv[]) -{ - TImmissioneDocumenti_app a ; - a.run(argc, argv, TR("Immissione Documenti")); - return 0; -} diff --git a/ci/ci0300.h b/ci/ci0300.h deleted file mode 100755 index 1702a9a76..000000000 --- a/ci/ci0300.h +++ /dev/null @@ -1,70 +0,0 @@ -#ifndef __CI0300_H -#define __CI0300_H - -/////////////////////////////////////////////////////////// -// TImmissioneDocumenti_mask -/////////////////////////////////////////////////////////// - -class TImmissioneDocumenti_mask : public TAlmanac_mask -{ -protected: -// ereditato da TMask - virtual bool on_field_event(TOperable_field& o, TField_event e, long jolly) { return TRUE; } - -public: -// ereditato da TAlmanac_mask - virtual bool is_date_void(TDate& cdate); - virtual void change_year(int newyear); - -public: -// apertura del foglio interno di gestione dei documenti - void open_inner_sheet(TDate date, TString doctype); - -private: -// chiamata del programma ve0 - void call_ve0(int exitval, TRelation& relation, TDate& date, TString& doctype); - -public: -// Costruttore - TImmissioneDocumenti_mask() : TAlmanac_mask() { } -// Distruttore - ~TImmissioneDocumenti_mask() { } -}; - -/////////////////////////////////////////////////////////// -// TImmissioneDocumenti_app -/////////////////////////////////////////////////////////// - -class TImmissioneDocumenti_app: public TSkeleton_application -{ -private: - TImmissioneDocumenti_mask* _mask; - - TString_array _tabs; // titoli dei tabs - TString_array _filters; // filtri tipodoc per ogni tab - TBit_array _flags; // flag di presenza dei documenti - - TDate _newyearsday; // capodanno dell'anno corrente, per uso interno - int _year; // anno corrente - -private: - void init_tabs(); - void init_flags(); - -protected: - virtual bool create(void); - virtual void main_loop(); - virtual bool destroy(void) ; - -public: - bool has_documents(TDate& day); // passata come funzione alla maschera - void change_year(int newyear); // passata come funzione alla maschera - -public: - TImmissioneDocumenti_app() : _flags(366), _year(TDate(TODAY).year()), _newyearsday(1,1,_year) {} - virtual ~TImmissioneDocumenti_app() {} -}; - -inline TImmissioneDocumenti_app& immissione_documenti_app() { return (TImmissioneDocumenti_app&)main_app(); } - -#endif // __CI0300_H diff --git a/ci/ci0400.cpp b/ci/ci0400.cpp index 21c5873ef..b40b5bc05 100755 --- a/ci/ci0400.cpp +++ b/ci/ci0400.cpp @@ -10,6 +10,7 @@ #include "ci0.h" #include "cilib.h" #include "ci0400.h" +#include "ci0400a.h" /////////////////////////////////////////////////////////// diff --git a/ci/ci0400.h b/ci/ci0400.h index dc27b8a72..86c4b98c7 100755 --- a/ci/ci0400.h +++ b/ci/ci0400.h @@ -26,7 +26,7 @@ private: public: // Costruttore - TImmissioneDocumenti_mask() : TAlmanac_mask() { } + TImmissioneDocumenti_mask() : TAlmanac_mask("ci0400a") { } // Distruttore ~TImmissioneDocumenti_mask() { } }; diff --git a/ci/ci0400a.h b/ci/ci0400a.h new file mode 100755 index 000000000..d5a2f28e7 --- /dev/null +++ b/ci/ci0400a.h @@ -0,0 +1,4 @@ +// DEFINIZIONE CAMPI MASCHERE PER LA GESTIONE MASCHERE PER CALENDARIO +// campi maschera ci0400a.uml + +#include "cimsk.h" \ No newline at end of file diff --git a/ci/cilib.uml b/ci/ci0400a.uml similarity index 87% rename from ci/cilib.uml rename to ci/ci0400a.uml index 319925bc0..d27f9e43e 100755 --- a/ci/cilib.uml +++ b/ci/ci0400a.uml @@ -1,4 +1,4 @@ -#include "ci0300.h" +#include "ci0400a.h" TOOLBAR "" 0 -2 0 2 @@ -43,7 +43,6 @@ END ENDPAGE - PAGE "Pagina 00" -1 -1 80 20 ALMANAC "Almanacco 00" 76 16 @@ -57,6 +56,7 @@ PAGE "Pagina 01" -1 -1 80 20 ALMANAC "Almanacco 01" 76 16 BEGIN + PROMPT 1 1 "" END ENDPAGE @@ -66,6 +66,7 @@ PAGE "Pagina 02" -1 -1 80 20 ALMANAC "Almanacco 02" 76 16 BEGIN + PROMPT 1 1 "" END ENDPAGE @@ -75,6 +76,7 @@ PAGE "Pagina 03" -1 -1 80 20 ALMANAC "Almanacco 03" 76 16 BEGIN + PROMPT 1 1 "" END ENDPAGE @@ -84,6 +86,7 @@ PAGE "Pagina 04" -1 -1 80 20 ALMANAC "Almanacco 04" 76 16 BEGIN + PROMPT 1 1 "" END ENDPAGE @@ -93,6 +96,7 @@ PAGE "Pagina 05" -1 -1 80 20 ALMANAC "Almanacco 05" 76 16 BEGIN + PROMPT 1 1 "" END ENDPAGE @@ -102,6 +106,7 @@ PAGE "Pagina 06" -1 -1 80 20 ALMANAC "Almanacco 06" 76 16 BEGIN + PROMPT 1 1 "" END ENDPAGE @@ -111,6 +116,7 @@ PAGE "Pagina 07" -1 -1 80 20 ALMANAC "Almanacco 07" 76 16 BEGIN + PROMPT 1 1 "" END ENDPAGE @@ -120,6 +126,7 @@ PAGE "Pagina 08" -1 -1 80 20 ALMANAC "Almanacco 08" 76 16 BEGIN + PROMPT 1 1 "" END ENDPAGE @@ -129,6 +136,7 @@ PAGE "Pagina 09" -1 -1 80 20 ALMANAC "Almanacco 09" 76 16 BEGIN + PROMPT 1 1 "" END ENDPAGE @@ -138,6 +146,7 @@ PAGE "Pagina 10" -1 -1 80 20 ALMANAC "Almanacco 10" 76 16 BEGIN + PROMPT 1 1 "" END ENDPAGE @@ -147,6 +156,7 @@ PAGE "Pagina 11" -1 -1 80 20 ALMANAC "Almanacco 11" 76 16 BEGIN + PROMPT 1 1 "" END ENDPAGE @@ -156,6 +166,7 @@ PAGE "Pagina 12" -1 -1 80 20 ALMANAC "Almanacco 12" 76 16 BEGIN + PROMPT 1 1 "" END ENDPAGE @@ -165,6 +176,7 @@ PAGE "Pagina 13" -1 -1 80 20 ALMANAC "Almanacco 13" 76 16 BEGIN + PROMPT 1 1 "" END ENDPAGE @@ -174,6 +186,7 @@ PAGE "Pagina 14" -1 -1 80 20 ALMANAC "Almanacco 14" 76 16 BEGIN + PROMPT 1 1 "" END ENDPAGE @@ -183,6 +196,7 @@ PAGE "Pagina 15" -1 -1 80 20 ALMANAC "Almanacco 15" 76 16 BEGIN + PROMPT 1 1 "" END ENDPAGE diff --git a/ci/cilib.cpp b/ci/cilib.cpp index 7419ad00e..31b0e998c 100755 --- a/ci/cilib.cpp +++ b/ci/cilib.cpp @@ -10,6 +10,7 @@ #include // file functions #include "cilib.h" +#include "cimsk.h" /////////////////////////////////////////////////////////// @@ -19,7 +20,7 @@ TMask_field* TAlmanac_mask::parse_field(TScanner& scanner) { const TString& k = scanner.key(); - if (k == "ALMANAC") + if (k.starts_with("AL", true)) return new TAlmanac_field(this); return TAutomask::parse_field(scanner); } @@ -92,14 +93,14 @@ void TAlmanac_mask::activate_almanac(TAlmanac_field* fld, int page, TDate& sdate return TRUE; } - TAlmanac_mask::TAlmanac_mask() -: TAutomask("cilib") + TAlmanac_mask::TAlmanac_mask(const char * name) +: TAutomask(name) { } TAlmanac_mask::~TAlmanac_mask() { - delete[] _almanacs; +// delete[] _almanacs; } /////////////////////////////////////////////////////////// diff --git a/ci/cilib.h b/ci/cilib.h index 60c1239d8..832b521e9 100755 --- a/ci/cilib.h +++ b/ci/cilib.h @@ -9,15 +9,6 @@ #include "../db/dblib.h" #endif -// DEFINIZIONE CAMPI MASCHERE PER LA GESTIONE MASCHERE PER CALENDARIO -// campi maschera cilib.uml - -#define F_PREVMONTH 101 -#define F_NEXTMONTH 102 -#define F_CHANGEMONTH 103 -#define F_CHANGEYEAR 104 - - /////////////////////////////////////////////////////////// // TAlmanac_field /////////////////////////////////////////////////////////// @@ -157,11 +148,11 @@ protected: protected: // override da TAutomask virtual bool on_field_event(TOperable_field& o, TField_event e, long jolly); - // override da TAutomask - virtual TMask_field* parse_field(TScanner& scanner); - + // @access Public Member public: + // override da TAutomask + virtual TMask_field* parse_field(TScanner& scanner); // @cmember Gestione calendari: Attiva l'almanacco sulla pagina specificata per la data specificata void activate_almanac(TAlmanac_field* fld, int page, TDate& sdate); // @cmember Gestione calendari: Cambia l'anno su tutti i calendari @@ -179,7 +170,7 @@ public: // @access Public Member public: // @cmember Costruttore - TAlmanac_mask(); + TAlmanac_mask(const char * name); // @cmember Distruttore ~TAlmanac_mask(); }; diff --git a/ci/cimsk.h b/ci/cimsk.h new file mode 100755 index 000000000..b87fc5a4d --- /dev/null +++ b/ci/cimsk.h @@ -0,0 +1,4 @@ +#define F_PREVMONTH 101 +#define F_NEXTMONTH 102 +#define F_CHANGEMONTH 103 +#define F_CHANGEYEAR 104 \ No newline at end of file diff --git a/projects/msk32.bat b/projects/msk32.bat index 5ffff0eb6..ee8cb328c 100755 --- a/projects/msk32.bat +++ b/projects/msk32.bat @@ -1,9 +1,9 @@ -rem @echo off +rem @echo off echo Compiling %1 into %2 copy ..\include\uml.h+%1 %TMP%\tmp.tmp set oldinc=%include -set include=..\include;..\ab;..\aec;..\at;..\ba;..\ca;..\ce;..\cg;..\cm;..\db;..\dl;..\ef;..\in;..\m770;..\mg;..\mr;..\or;..\pr;..\ps;..\sc;..\si;..\sv;..\ve;..\xvaga +set include=;..\include;..\ab;..\aec;..\at;..\ba;..\ca;..\ci;..\ce;..\cg;..\cm;..\db;..\dl;..\ef;..\in;..\m770;..\mg;..\mr;..\or;..\pr;..\ps;..\sc;..\si;..\sv;..\ve;..\xvaga cl /nologo /EP %TMP%\tmp.tmp >%TMP%\tmp.msk set include=%oldinc set oldinc=