#include #include #include #include #include #include #include #include "co2.h" #include "co2300a.h" #include "socicoop.h" //////////////////////////////////////////////////////// // MASCHERA //////////////////////////////////////////////////////// class TStampaCtrlScad_mask : public TAutomask { protected: bool on_field_event(TOperable_field& o, TField_event e, long jolly); public: TStampaCtrlScad_mask(); virtual ~TStampaCtrlScad_mask() {}; }; TStampaCtrlScad_mask::TStampaCtrlScad_mask() :TAutomask ("co2300a") { } bool TStampaCtrlScad_mask::on_field_event(TOperable_field& f, TField_event e, long jolly) { return true; } ///////////////////////////////////////////////////////////// // REPORT ///////////////////////////////////////////////////////////// class TStampaCtrlScad_report : public TReport { protected: virtual bool use_mask() { return false; } public: TStampaCtrlScad_report() {} }; //////////////////////////////////////////////////////// // APPLICAZIONE //////////////////////////////////////////////////////// class TStampaCtrlScad : public TSkeleton_application { public: virtual void main_loop(); }; void TStampaCtrlScad::main_loop() { TStampaCtrlScad_mask m; while (m.run() == K_ENTER) { const int controlla = m.get_int(F_CONTROLLA); TStampaCtrlScad_report rep; TReport_book book; if (rep.load(controlla==1 ? "co2300b" : "co2300a")) { TString use(rep.recordset()->query_text()); int pos = use.find("JOIN"); if (pos <= 0) pos = use.len(); switch (controlla) { case 4: use.insert("SELECT SCADCOLL[4,5]==#MESE\n", pos); break; case 3: use.insert("SELECT SCADRUOLEQ[4,5]==#MESE\n", pos); break; case 2: use.insert("SELECT SCADLICPES[4,5]==#MESE\n", pos); break; default: use.insert("SELECT DATASCALIC[4,5]==#MESE\n", pos); break; } pos = use.find("JOIN"); if (pos <= 0) pos = use.len(); const int ordinamento = m.get_int(F_ORDINAMENTO); switch (ordinamento) { case 2: use.insert("BY 20.RAGSOC\n", pos); break; default: use.insert("BY 20.CODCF\n", pos); break; } rep.set_recordset(use); } rep.recordset()->set_var("#DASOCIO", TVariant(m.get(F_DASOCIO))); rep.recordset()->set_var("#ASOCIO", TVariant(m.get(F_ASOCIO))); rep.recordset()->set_var("#DAANNO", TVariant(m.get(F_DAANNO))); rep.recordset()->set_var("#AANNO", TVariant(m.get(F_AANNO))); rep.recordset()->set_var("#MESE", TVariant(m.get(F_MESE))); rep.recordset()->set_var("#CONTROLLA", TVariant(m.get_long(F_CONTROLLA))); book.add(rep); book.print_or_preview(); } } int co2300(int argc, char* argv[]) { TStampaCtrlScad a; a.run(argc, argv, TR("Stampa soci per data licenza")); return 0; }