#ifndef __REPUTILS_H #define __REPUTILS_H #ifndef __REPORT_H #include #endif /////////////////////////////////////////////////////////// // TAS400_report // Report dinamico per visualizzare file di testo AS400 /////////////////////////////////////////////////////////// class TAS400_report : public TReport { TRecordset* _set; // TAS400_recordset bool _owned; protected: virtual TRecordset* recordset() const; virtual bool set_recordset(TRecordset* recset); public: virtual bool set_recordset(const TString& query); TAS400_report(const char* query); TAS400_report(TRecordset& recset); // TAS400_recordset!!! }; /////////////////////////////////////////////////////////// // TLog_report // Report per visualizzare file di log /////////////////////////////////////////////////////////// class TLog_report : public TReport { TString _title; bool _kill_duplicates; size_t _msg, _war, _err; protected: virtual bool use_mask() { return false; } virtual bool get_usr_val(const TString& name, TVariant& var) const; virtual bool set_usr_val(const TString& name, const TVariant& var); public: void reset(); bool log(int severity, const char* msg); // severity: 0=normal; 1=warning; 2=error void set_title(const char* title); void kill_duplicates(bool k = true) { _kill_duplicates = k; } const TString& title() const { return _title; } size_t messages() const { return _msg; } size_t warnings() const { return _war; } size_t errors() const { return _err; } size_t rows() const { return messages() + warnings() + errors(); } TLog_report(const char* title = "", const char* name = "bagn010a"); }; #endif