campo-sirio/src/in/inlib01.h
Alessandro Bonazzi 1f7ef4ae48 Patch level : 12.0 1059
Files correlati     : f135.dir f135.trr in0.exe in0200a.msk in0600a.msk
                      in0700a.msk intbird.msk

Commento        :

Aggiornamento intra fase 3

Interno :

Inserimento rettifiche e riepiloghi e invii
Mancano stampe di controllo
2021-05-17 21:13:37 +02:00

67 lines
1.5 KiB
C++
Executable File

#ifndef __INLIB01_H
#define __INLIB01_H
#ifndef __AUTOMASK_H
#include <automask.h>
#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