#ifndef __INLIB01_H #define __INLIB01_H #ifndef __AUTOMASK_H #include #endif typedef enum { _Intra12, _Intra13 } Intratype; struct TIntra_context { char _tipo; long _progr; char _freq; int _anno; int _periodo; TString _uffdog; // Intra 12/13 Intratype _tInvioIntra; int _nb; int _nc; long _righeintra; TIntra_context(); }; class TIntra_frequency : public TObject { char _freq_ces, _freq_acq; public: char frequenza(int anno, char tipo) const; int date2periodo(const TDate& d, char tipo) const; int compare_periodo(const TDate& dtcomp, const TDate& dtreg, char tipo) const; void update(); TIntra_frequency(); virtual ~TIntra_frequency() { } }; class TIntra_mask : public TAutomask { protected: TIntra_frequency _freq; virtual void on_firm_change(); virtual bool on_field_event(TOperable_field& o, TField_event e, long jolly); virtual short type_field() const { return DLG_NULL; } virtual short period_field() const { return DLG_NULL; } virtual int anno() const pure; public: const char tipo() const { return get(type_field())[0]; } int periodo() const; virtual char frequenza(int anno = 0, char tipo = '\0') const; int date2periodo(const TDate& d) const; const char* periodo_str() const; TIntra_mask(const char* name); virtual ~TIntra_mask() { } }; void genera_riepiloghi(char tipo = ' ', int anno = 0, int periodo = 0); bool is_riepilogo(char tipo, int anno, int periodo); #endif