#include #include #include "ca1.h" #include "ca1700a.h" #include "calib01.h" #include "calib02.h" class TMask_print_fasi : public TAutomask { int _nfields; protected: bool on_field_event(TOperable_field& o, TField_event e, long jolly) {return true;} public: int nfields() { return _nfields; } TMask_print_fasi(); virtual ~TMask_print_fasi() {} }; TMask_print_fasi::TMask_print_fasi() :TAutomask("ca1700a") { ca_create_fields(*this, 0, LF_FASI, 3, 2, F_DAFASE, F_DAFASE + 100); _nfields = ca_create_fields(*this, 0, LF_FASI, 3, 9, F_AFASE, F_AFASE + 100); TString80 workstring; for (int i = 0; i < _nfields; i++) { TEdit_field& dafase = efield(F_DAFASE + i); dafase.set_group(1); dafase.check_type(CHECK_NORMAL); const TFieldref& dafr = *dafase.field(); workstring.format("DA%s[%d,%d]", (const char*)dafr.name(), dafr.from()+1, dafr.to()); dafase.set_field(workstring); TEdit_field& afase = efield(F_AFASE + i); afase.set_group(2); afase.check_type(CHECK_NORMAL); const TFieldref& afr = *afase.field(); workstring.format("A%s[%d,%d]", (const char*)afr.name(), afr.from()+1, afr.to()); afase.set_field(workstring); } } class TPrint_fasi : public TSkeleton_application { bool create(); public: virtual void main_loop(); }; bool TPrint_fasi::create() { const TMultilevel_code_info& mci = ca_multilevel_code_info(LF_FASI); if (mci.levels() <= 0) return error_box(TR("Le fasi non sono state configurate")); return TSkeleton_application::create(); } void TPrint_fasi::main_loop() { TFilename path; TMask_print_fasi m; while (m.run() == K_ENTER) { TReport_book book; TAnal_report rep; path = m.get(F_REPORT); if (path.empty()) path = "ca1700a"; rep.load(path); rep.mask2report(m); const TMultilevel_code_info& main_info = ca_multilevel_code_info(LF_FASI); if (main_info.parent() == 0) { TRecordset* rset = rep.recordset(); if (rset != NULL) { TVariant var; var = ""; rset->set_var("#DACODCMSFAS", var); TString fs; for (int i = 0 ; fs.empty() && i < m.nfields(); i++) fs << m.field(F_AFASE + i).get(); if (fs.empty()) var = "zzzzzzzzzzzz"; rset->set_var("#ACODCMSFAS", var); } } book.add(rep); book.print_or_preview(); } } int ca1700(int argc, char* argv[]) { TPrint_fasi a; a.run(argc, argv, TR("Stampa fasi")); return 0; }