#include #include #include #include #include #include #include #include "lvlib.h" #include "../mg/clifogiac.h" #include "../ve/velib.h" #include "clifo.h" #include "lvcondv.h" #include "lvrcondv.h" #include "lvrconsplan.h" #include "lv3500a.h" /////////////////////////// //// TSITMAG_MSK //// /////////////////////////// //classe TSitmag_msk class TSitmag_msk: public TAutomask { protected: virtual bool on_field_event(TOperable_field& o, TField_event e, long jolly); public: TSitmag_msk(); }; //ON_FIELD_EVENT: metodo che gestisce gli eventi sui campi della maschera bool TSitmag_msk::on_field_event(TOperable_field& f, TField_event e, long jolly) { return true; } //metodo costruttore che precarica i campi di interesse sulla maschera TSitmag_msk::TSitmag_msk():TAutomask("lv3500a") { //precarico i campi fissi const TDate oggi(TODAY); set(F_ANNO, esercizi().date2esc(oggi)); set(F_CODMAG, ini_get_string(CONFIG_DITTA, "lv", "CODMAG")); hide(F_RIGHE); } ///////////////////////////// //// TSitmag_app //// ///////////////////////////// //classe TSitmag_app class TSitmag_app : public TSkeleton_application { TSitmag_msk* _msk; protected: virtual bool create(); virtual bool destroy(); public: bool transfer(); virtual void main_loop(); }; //CREATE: metodo costruttore bool TSitmag_app::create() { _msk = new TSitmag_msk; return TSkeleton_application::create(); } //DESTROY: metodo distruttore bool TSitmag_app::destroy() { delete _msk; return TApplication::destroy(); } //TRANSFER: metodo che scorre i campi nome e, se sono pieni, richiama il metodo //ELABORA_FILE(), che effettivamente fa l'elaborazione bool TSitmag_app::transfer() { return true; } void TSitmag_app::main_loop() { while (_msk->run() == K_ENTER) transfer(); } int lv3500(int argc, char *argv[]) { TSitmag_app a; a.run (argc, argv, "Situazione magazzino"); return TRUE; }