#ifndef __VELIB07_H #define __VELIB07_H #ifndef __VELIB_H #include "velib.h" #endif #ifndef __REPORT_H #include #endif /////////////////////////////////////////////////////////// // TMateriali_base_recordset /////////////////////////////////////////////////////////// class TMateriali_base_recordset : public TRecordset { TString _query; TArray _boom; long _pos; TArray _column; bool _reverse; long _lastrow; TRectype * _rdist; protected: const TString& query_text() const { return _query; } TArray& boom() { return _boom; } const TArray& boom() const { return _boom; } void set_reverse(bool r) { _reverse = r; } bool reverse() const { return _reverse;} public: virtual TRecnotype items() const { return _boom.items(); } virtual bool move_to(TRecnotype pos) { _pos = pos; _lastrow = -1; return pos < items();} virtual TRecnotype current_row() const { return _pos; } virtual void requery(); virtual unsigned int columns() const { return _column.items();} virtual const TRecordset_column_info& column_info(unsigned int column) const { return (const TRecordset_column_info&) _column[column];} virtual const TVariant& get(unsigned int column) const; virtual const TVariant& get(const char* column_name) const; TMateriali_base_recordset(const char* use); virtual ~TMateriali_base_recordset(){ delete _rdist;} }; /////////////////////////////////////////////////////////// // TScalare_recordset /////////////////////////////////////////////////////////// class TScalare_recordset : public TMateriali_base_recordset { protected: public: virtual void requery(); TScalare_recordset(const char* use) : TMateriali_base_recordset(use) {} virtual ~TScalare_recordset() { } }; /////////////////////////////////////////////////////////// // TDocument_cache /////////////////////////////////////////////////////////// class TDocument_cache : TCache { protected: virtual TObject* key2obj(const char* key); public: TDocumento& doc(const TRectype& rec); TDocument_cache(); virtual ~TDocument_cache(); }; /////////////////////////////////////////////////////////// // TDocument_recordset /////////////////////////////////////////////////////////// class TDocument_recordset : public TISAM_recordset { TDocument_cache _cache; protected: virtual const TVariant& get_field(int num, const char* field) const; public: const TDocumento& doc(const TRectype& rec) { return _cache.doc(rec);} TDocument_recordset(const char* use) : TISAM_recordset(use) { } virtual ~TDocument_recordset() { } }; /////////////////////////////////////////////////////////// // TDocument_report /////////////////////////////////////////////////////////// class TDocument_report : public TReport { size_t _first_msg; protected: virtual size_t get_usr_words(TString_array& words) const; virtual bool execute_usr_word(unsigned int opcode, TVariant_stack& stack); virtual bool set_recordset(const TString& query); bool msg_parent_doc(TVariant_stack& stack); bool msg_parent_row(TVariant_stack& stack); void output_values(const TRectype& rec, const TString& output); void reset_values(const TString& output); public: bool load(const char* name); }; /////////////////////////////////////////////// // Metodi non appartenenti a classi /////////////////////////////////////////////// //metodo per il calcolo del fido cliente real calcola_fido_cliente (const char tipocf, const long codcf, const TDate& datacalc, const int riskdays, real& saldo, real& saldo_sbf); #endif