#ifndef __CLIFOR_H #define __CLIFOR_H #ifndef __MULTIREC_H #include #endif #ifndef __CLIFO_H #include #endif #ifndef __CFVEN_H #include #endif #ifndef __INDSP_H #include #endif #ifndef __OCCAS_H #include #endif class TOccasionale : public TRectype { public: const TString& codice() const { return get(OCC_CFPI); } TRectype& operator = (const TRectype& r); TOccasionale& operator = (const TOccasionale& r); TOccasionale(); TOccasionale(const TRectype& r); TOccasionale(const TOccasionale& r); virtual ~TOccasionale(); }; class TCli_for : public TMultiple_rectype { TRecfield * _tipo; TRecfield * _codice; TRecfield * _ven_tipo; TRecfield * _ven_codice; TRectype _ven_rec; TRectype _letint; TDate _last_data; bool _use_lettere; bool _lettera_found; protected: virtual int write_rewrite(TBaseisamfile& f, bool re = FALSE) const; void init(); public: bool read_lettera(const TDate & data, bool extended = false); bool occasionale() const { return get_bool(CLI_OCCAS); } TRectype & vendite() const; bool use_lettere() const { return _use_lettere;} const TRectype & lettera() const { return _letint;} char tipo() const { return *(const char *) (*_tipo); } long codice() const { return (long) *_codice; } bool ok() const { return !empty();} virtual int read(const TRectype& rec, word op = _isequal, word lockop = _nolock); int read(char tipo, long codice, word op = _isequal, word lockop = _nolock); virtual int remove(TBaseisamfile& f) const; TCli_for(char tipo = ' ', long codice = 0L); TCli_for(const TRectype & rec); TCli_for(const TCli_for & c); virtual ~TCli_for(); }; #endif