#include #include #include #include #include #include #include #include #include #include #include "..\mg\umart.h" #include "..\mg\anamag.h" #include "..\ve\condv.h" #include "..\ve\rcondv.h" #include "dl0.h" #include "dl0500a.h" class TRicerca: public TSkeleton_application { TMask* _msk; TRicerca_file* _trasfile; TString _listingr, _listvend, _offeingr, _offevend; protected: virtual bool create(void); virtual void main_loop(); virtual bool destroy(void); static bool annulla_handler(TMask_field& f, KEY k); public: const TMask& msk() const { return *_msk; } TRicerca() {} virtual ~TRicerca() {} }; // restituisce un riferimento all' applicazione inline TRicerca& app() { return (TRicerca&) main_app();} // creazione dell'applicazione bool TRicerca::create() { open_files(LF_ANAMAG, LF_UMART, LF_CONDV, LF_RCONDV, 0); _msk = new TMask("dl0500a"); _msk->set(F_FILENAME,DLFILENAME); _trasfile = NULL; return TSkeleton_application::create(); } // distruzione dell'applicazione bool TRicerca::destroy() { delete _msk; return TSkeleton_application::destroy(); } // carica la maschera void TRicerca::main_loop() { // Preimposta gli eventuali valori specificati sulla riga di comando //error_box("Attenzione: manca la configurazione del trasferimento!"); KEY key = K_ENTER; while (key != K_QUIT) { key = _msk->run(); if (key == K_ENTER) transfer(); } } // handler per gestire la conferma dell'annullamento dei dati inseriti // nella maschera bool TRicerca::annulla_handler(TMask_field& f, KEY k) { TMask &m = f.mask(); if (k == K_SPACE) { if (yesno_box("Vuoi veramente annullare i dati inseriti")) m.reset(); } return TRUE; } int dl0500(int argc, char* argv[]) { TRicerca a ; a.run(argc, argv, "Ricerca avanzata"); return 0; }