#include "halib.h" #include "hacnvlib.h" #include "hacnv200a.h" #include #include #include #include #include #include #include const char* const APPNAME = TR("Conversione movimenti"); /////////////////////////////////////////////////////////// // TConvMovimentiHardy_mask /////////////////////////////////////////////////////////// class TConvMovimentiHardy_mask : public TAutomask { protected: virtual bool on_field_event(TOperable_field& o, TField_event e, long jolly); void serialize(bool bSave); public: void trasferisci(); TConvMovimentiHardy_mask(); virtual ~TConvMovimentiHardy_mask(); }; // Funzione di tarsferimento dati da/verso file .ini con lo stesso nome della maschera // Andrebbe messo in libreria void TConvMovimentiHardy_mask::serialize(bool bSave) { TFilename n = source_file(); n.ext("ini"); // Construisce il nome del .ini in base al .msk TConfig cfg(n, "Main"); // Crea il file di configurazione TString4 id; for (int i = fields()-1; i >= 0; i--) // Scandisce tutti i campi della maschera ... { TMask_field& f = fld(i); if (f.active() && f.is_loadable()) // ... selezionando solo quelli editabili { id.format("%d", f.dlg()); if (bSave) // A seconda del flag di scrittura ... cfg.set(id, f.get()); // ... o scrive sul .ini else f.set(cfg.get(id)); // ... o legge dal .ini } } } void TConvMovimentiHardy_mask::trasferisci() { TString query_header; query_header << "ODBC(" << get(F_DSN) << ',' << get(F_USR) << ',' << get(F_PWD) << ")\n"; TReport_book book; THardy_log log; bool rep_to_print = false; bool go_on = true; if (go_on && (get_int(F_ANNO)!=0)) { //THardy_movcont pc; //pc.init(TR("Movimenti contabili"), query_header, log); //go_on = pc.trasferisci(); //book.add(log); //rep_to_print = true; } if (rep_to_print && book.pages() > 0) book.preview(); } bool TConvMovimentiHardy_mask::on_field_event(TOperable_field& o, TField_event e, long jolly) { switch (o.dlg()) { case DLG_OK: if (e == fe_button) serialize(true); break; default: break; } return true; } TConvMovimentiHardy_mask::TConvMovimentiHardy_mask() : TAutomask("hacnv200a") { serialize(false); } TConvMovimentiHardy_mask::~TConvMovimentiHardy_mask() { } /////////////////////////////////////////////////////////// // TConvMovimentiHardy /////////////////////////////////////////////////////////// class TConvMovimentiHardy : public TSkeleton_application { protected: virtual void main_loop(); }; void TConvMovimentiHardy::main_loop() { TConvMovimentiHardy_mask mask; while (mask.run() == K_ENTER) mask.trasferisci(); } int hacnv200(int argc, char* argv[]) { TConvMovimentiHardy ih; ih.run(argc, argv, APPNAME); return 0; }