#include #include #include #include #include #include "at7.h" // nomi dei campi #include "soggetti.h" class TCatvuota_app : public TPrintapp { TMask* _msk; TRelation* _rel; int _cur; TString16 _catavi; protected: virtual bool user_create(); virtual bool user_destroy(); virtual bool set_print(int m); virtual void set_page(int file, int cnt); virtual bool preprocess_page(int file, int counter); public: TCatvuota_app() {} }; HIDDEN inline TCatvuota_app& app() { return (TCatvuota_app&) main_app(); } bool TCatvuota_app::preprocess_page(int file, int counter) { TRectype& recsog = current_cursor()->curr(); recsog.put(SOG_CATDON, _catavi); current_cursor()->file().rewrite(); return TRUE; } void TCatvuota_app::set_page(int file, int cnt) { set_row(1,"@0g@pn", FLD(LF_SOGGETTI,SOG_CODICE,"########")); set_row(1,"@10g@S", FLD(LF_SOGGETTI,SOG_COGNOME)); set_row(1,"@36g@S", FLD(LF_SOGGETTI,SOG_NOME)); set_row(1,"@62g@S", FLD(LF_SOGGETTI,SOG_CATDON)); } bool TCatvuota_app::set_print(int) { KEY tasto; tasto = _msk->run(); if (tasto == K_ENTER) { reset_files(); add_file(LF_SOGGETTI); reset_print(); _catavi = "AV"; current_cursor()->setfilter("(CATDON == \"\")", TRUE); return TRUE; } else return FALSE; } bool TCatvuota_app::user_create() { _msk = new TMask("at7800a"); _rel = new TRelation(LF_SOGGETTI); _cur = add_cursor(new TCursor(_rel, "", 1)); return TRUE; } bool TCatvuota_app::user_destroy() { delete _rel; delete _msk; return TRUE; } int at7800(int argc, char* argv[]) { TCatvuota_app a; a.run(argc, argv, "Correzioni categorie vuote"); return 0; }