Another commitment..

git-svn-id: svn://10.65.10.50/trunk@3645 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
nik 1996-09-23 10:29:30 +00:00
parent c6e0068a17
commit 94f5183eee
6 changed files with 1837 additions and 1825 deletions

File diff suppressed because it is too large Load Diff

View File

@ -1,289 +1,289 @@
#ifndef _77STBA_H #ifndef _77STBA_H
#define _77STBA_H #define _77STBA_H
#include "77stq.h" #include "77stq.h"
HIDDEN const int BASE_FORMLEN = 73; HIDDEN const int BASE_FORMLEN = 73;
HIDDEN const int BASE_PAGINE = 4; HIDDEN const int BASE_PAGINE = 4;
const int _RIGHE_N = 6; const int _RIGHE_N = 6;
const int _RIGHE_R = 2; const int _RIGHE_R = 2;
const int _RIGHE_P = 4; const int _RIGHE_P = 4;
const int _RIGHE_Q = 4; const int _RIGHE_Q = 4;
const int _RIGHE_S = 4; const int _RIGHE_S = 4;
const int _RIGHE_T = 4; const int _RIGHE_T = 4;
class TBase1 : public TDicForm class TBase1 : public TDicForm
{ {
private: private:
long _codditta; long _codditta;
TRelation* r; // usate per contare i soci TRelation* r; // usate per contare i soci
TCursor* c; TCursor* c;
bool _bAllegSoci; bool _bAllegSoci;
long iContaSoci(); long iContaSoci();
protected: protected:
void stampa_corpo(TPrinter& pr); void stampa_corpo(TPrinter& pr);
void stampa_soci(TPrinter& pr); void stampa_soci(TPrinter& pr);
bool bAllegSoci() const { return _bAllegSoci; } bool bAllegSoci() const { return _bAllegSoci; }
virtual int dic_form_len() const { return BASE_FORMLEN-2; } virtual int dic_form_len() const { return BASE_FORMLEN-2; }
virtual void next_page(TPrinter& pr) { fill_page(pr, -1); } virtual void next_page(TPrinter& pr) { fill_page(pr, -1); }
virtual void stampa_totali(TPrinter& pr) {} virtual void stampa_totali(TPrinter& pr) {}
virtual void aggiorna_totali(const char tipo) {} virtual void aggiorna_totali(const char tipo) {}
virtual void set_body(TPrinter& pr, const char tipo) {} virtual void set_body(TPrinter& pr, const char tipo) {}
virtual int prima_riga(PaginaQuadro p) const { return 11; } virtual int prima_riga(PaginaQuadro p) const { return 11; }
public: public:
virtual bool print(const long codditta, const long NumFis, const long NumNoFis); virtual bool print(const long codditta, const long NumFis, const long NumNoFis);
TBase1(const char* sNomeForm, const char* quadro); TBase1(const char* sNomeForm, const char* quadro);
virtual ~TBase1(); virtual ~TBase1();
}; };
class TBase2 : public TDicForm class TBase2 : public TDicForm
{ {
private: private:
long _codditta; long _codditta;
protected: protected:
void stampa_corpo(TPrinter& pr); void stampa_corpo(TPrinter& pr);
virtual int dic_form_len() const { return BASE_FORMLEN; } virtual int dic_form_len() const { return BASE_FORMLEN; }
virtual void next_page(TPrinter& pr) { fill_page(pr, -1); } virtual void next_page(TPrinter& pr) { fill_page(pr, -1); }
virtual void set_body(TPrinter& pr, const char tipo) {} virtual void set_body(TPrinter& pr, const char tipo) {}
virtual int prima_riga(PaginaQuadro p) const { return 3;} virtual int prima_riga(PaginaQuadro p) const { return 3;}
public: public:
virtual bool print(const long codditta, const long NumFis, const long NumNoFis); virtual bool print(const long codditta, const long NumFis, const long NumNoFis);
TBase2(const char* sNomeForm, const char* quadro) : TDicForm(sNomeForm, quadro) {} TBase2(const char* sNomeForm, const char* quadro) : TDicForm(sNomeForm, quadro) {}
virtual ~TBase2() {} virtual ~TBase2() {}
}; };
class TBase3 : public TDicForm class TBase3 : public TDicForm
{ {
private: private:
long _codditta; long _codditta;
bool _bAggiuntivoL; // se necessario stampare aggiuntivo L bool _bAggiuntivoL; // se necessario stampare aggiuntivo L
protected: protected:
void stampa_testata(TPrinter& pr); void stampa_testata(TPrinter& pr);
void stampa_totali_L(TPrinter& pr); void stampa_totali_L(TPrinter& pr);
bool aggiuntivoL() const { return _bAggiuntivoL; } bool aggiuntivoL() const { return _bAggiuntivoL; }
int stampa_L(TPrinter& pr,const int iChiaveL); int stampa_L(TPrinter& pr,const int iChiaveL);
virtual int dic_form_len() const { return BASE_FORMLEN; } virtual int dic_form_len() const { return BASE_FORMLEN; }
virtual void next_page(TPrinter& pr) { fill_page(pr, -1); } virtual void next_page(TPrinter& pr) { fill_page(pr, -1); }
virtual void set_body(TPrinter& pr, const char tipo) {} virtual void set_body(TPrinter& pr, const char tipo) {}
virtual int prima_riga(PaginaQuadro p) const { return 3;} virtual int prima_riga(PaginaQuadro p) const { return 3;}
public: public:
virtual bool print(const long codditta, const long NumFis, const long NumNoFis); virtual bool print(const long codditta, const long NumFis, const long NumNoFis);
TBase3(const char* sNomeForm, const char* quadro) : TDicForm(sNomeForm, quadro) {} TBase3(const char* sNomeForm, const char* quadro) : TDicForm(sNomeForm, quadro) {}
virtual ~TBase3() {} virtual ~TBase3() {}
}; };
const int _RIGA_TOTALI_L = 65; const int _RIGA_TOTALI_L = 65;
class TRigaN : public TSortable class TRigaN : public TSortable
{ {
TRecnotype _pos; TRecnotype _pos;
int _MeseRif,_AnnoRif; // periodo di riferimento int _MeseRif,_AnnoRif; // periodo di riferimento
real _ImpRimb,_CompAss; // importi real _ImpRimb,_CompAss; // importi
public: public:
virtual int compare(const TSortable& s) const; virtual int compare(const TSortable& s) const;
TRecnotype pos() const { return _pos; } TRecnotype pos() const { return _pos; }
const char* sMeseRif() const; const char* sMeseRif() const;
const char* sAnnoRif() const; const char* sAnnoRif() const;
const int iMeseRif() const { return _MeseRif; } const int iMeseRif() const { return _MeseRif; }
const int iAnnoRif() const { return _AnnoRif; } const int iAnnoRif() const { return _AnnoRif; }
const char* ImpRimb(const char* pic) const { return _ImpRimb.string(pic); } const char* ImpRimb(const char* pic) const { return _ImpRimb.string(pic); }
const char* CompAss(const char* pic) const { return _CompAss.string(pic); } const char* CompAss(const char* pic) const { return _CompAss.string(pic); }
TRigaN(const TLocalisamfile& qn); TRigaN(const TLocalisamfile& qn);
virtual ~TRigaN() { } virtual ~TRigaN() { }
}; };
class TRigheNR : public TObject class TRigheNR : public TObject
{ {
TArray _data; TArray _data;
protected: protected:
const TRigaN& rigaN(int i) const { return (const TRigaN&)_data[i]; } const TRigaN& rigaN(int i) const { return (const TRigaN&)_data[i]; }
public: public:
const TRigaN& operator[](int i) const { return rigaN(i); } const TRigaN& operator[](int i) const { return rigaN(i); }
int fill(const long codditta,TLocalisamfile& qnr); int fill(const long codditta,TLocalisamfile& qnr);
int items() const { return _data.items(); } int items() const { return _data.items(); }
TRigheNR() { } TRigheNR() { }
virtual ~TRigheNR() { } virtual ~TRigheNR() { }
}; };
class TRigaQT : public TSortable class TRigaQT : public TSortable
{ {
int _MesePag,_AnnoPag; // periodo di riferimento int _MesePag,_AnnoPag; // periodo di riferimento
real _ContVers,_ContRimb,_Interessi; // importi real _ContVers,_ContRimb,_Interessi; // importi
TString _sCodReg; TString _sCodReg;
TRecnotype _pos; TRecnotype _pos;
public: public:
virtual int compare(const TSortable& s) const; virtual int compare(const TSortable& s) const;
TRecnotype pos() const { return _pos; } TRecnotype pos() const { return _pos; }
const char* sMesePag() const; const char* sMesePag() const;
const char* sAnnoPag() const; const char* sAnnoPag() const;
const int iMesePag() const { return _MesePag; } const int iMesePag() const { return _MesePag; }
const int iAnnoPag() const { return _AnnoPag; } const int iAnnoPag() const { return _AnnoPag; }
const char* ContVers(const char* pic) const { return _ContVers.string(pic); } const char* ContVers(const char* pic) const { return _ContVers.string(pic); }
const char* ContRimb(const char* pic) const { return _ContRimb.string(pic); } const char* ContRimb(const char* pic) const { return _ContRimb.string(pic); }
const char* Interessi(const char* pic) const { return _Interessi.string(pic); } const char* Interessi(const char* pic) const { return _Interessi.string(pic); }
const char* CodReg() const { return (const char*)_sCodReg; } const char* CodReg() const { return (const char*)_sCodReg; }
TRigaQT(const TLocalisamfile& qt); TRigaQT(const TLocalisamfile& qt);
virtual ~TRigaQT() { } virtual ~TRigaQT() { }
}; };
class TRigheQT : public TObject class TRigheQT : public TObject
{ {
TArray _data; TArray _data;
protected: protected:
const TRigaQT& rigaQT(int i) const { return (const TRigaQT&)_data[i]; } const TRigaQT& rigaQT(int i) const { return (const TRigaQT&)_data[i]; }
public: public:
const TRigaQT& operator[](int i) const { return rigaQT(i); } const TRigaQT& operator[](int i) const { return rigaQT(i); }
int fill(const long codditta,TLocalisamfile& qt); int fill(const long codditta,TLocalisamfile& qt);
int items() const { return _data.items(); } int items() const { return _data.items(); }
TRigheQT() {} TRigheQT() {}
virtual ~TRigheQT() {} virtual ~TRigheQT() {}
}; };
class TRigaPS : public TSortable class TRigaPS : public TSortable
{ {
TDate _dDv; // data vers. TDate _dDv; // data vers.
real _rImp,_rIntDip,_rIntDat; // importi real _rImp,_rIntDip,_rIntDat; // importi
TString _sTipoV,_sCodTrib,_sSerie,_sNumero; TString _sTipoV,_sCodTrib,_sSerie,_sNumero;
TRecnotype _pos; TRecnotype _pos;
public: public:
virtual int compare(const TSortable& s) const; virtual int compare(const TSortable& s) const;
TRecnotype pos() const { return _pos; } TRecnotype pos() const { return _pos; }
TDate dDataVers() const { return _dDv; } TDate dDataVers() const { return _dDv; }
const char* sDataVers() const { return _dDv.string(); } const char* sDataVers() const { return _dDv.string(); }
const char* sImposta() const; const char* sImposta() const;
const char* sIntDip() const; const char* sIntDip() const;
const char* sIntDat() const; const char* sIntDat() const;
const char* sImposta(const char* pic) const { return _rImp.string(pic); } const char* sImposta(const char* pic) const { return _rImp.string(pic); }
const char* sIntDip(const char* pic) const { return _rIntDip.string(pic); } const char* sIntDip(const char* pic) const { return _rIntDip.string(pic); }
const char* sIntDat(const char* pic) const { return _rIntDat.string(pic); } const char* sIntDat(const char* pic) const { return _rIntDat.string(pic); }
const char* sTipoVers() const { return (const char*)_sTipoV; } const char* sTipoVers() const { return (const char*)_sTipoV; }
const char* sCodTrib() const { return (const char*)_sCodTrib; } const char* sCodTrib() const { return (const char*)_sCodTrib; }
const char* sSerie() const { return (const char*)_sSerie; } const char* sSerie() const { return (const char*)_sSerie; }
const char* sNumero() const { return (const char*)_sNumero; } const char* sNumero() const { return (const char*)_sNumero; }
TRigaPS(const TLocalisamfile& qt); TRigaPS(const TLocalisamfile& qt);
virtual ~TRigaPS() { } virtual ~TRigaPS() { }
}; };
class TRighePS : public TObject class TRighePS : public TObject
{ {
TArray _data; TArray _data;
protected: protected:
const TRigaPS& rigaPS(int i) const { return (const TRigaPS&)_data[i]; } const TRigaPS& rigaPS(int i) const { return (const TRigaPS&)_data[i]; }
public: public:
const TRigaPS& operator[](int i) const { return rigaPS(i); } const TRigaPS& operator[](int i) const { return rigaPS(i); }
int fill(const long codditta,TLocalisamfile& ps); int fill(const long codditta,TLocalisamfile& ps);
int items() const { return _data.items(); } int items() const { return _data.items(); }
TRighePS() {} TRighePS() {}
virtual ~TRighePS() {} virtual ~TRighePS() {}
}; };
class TBase4 : public TDicForm class TBase4 : public TDicForm
{ {
private: private:
long _codditta; long _codditta;
TRigheNR _righeNR; // array dei record N e R TRigheNR _righeNR; // array dei record N e R
TRigheQT _righeQT; TRigheQT _righeQT;
TRighePS _righePS; TRighePS _righePS;
bool _bAggN,_bAggP,_bAggR,_bAggQ,_bAggS,_bAggT; bool _bAggN,_bAggP,_bAggR,_bAggQ,_bAggS,_bAggT;
protected: protected:
void stampa_righe_vuote(TPrinter& pr,const int righe); void stampa_righe_vuote(TPrinter& pr,const int righe);
void fill_riga_QT(TPrint_section& sec,const int num); void fill_riga_QT(TPrint_section& sec,const int num);
void fill_riga_PS(TPrint_section& sec,const int num); void fill_riga_PS(TPrint_section& sec,const int num);
void fill_riga_NR(TPrint_section& sec,const int num, const int side); void fill_riga_NR(TPrint_section& sec,const int num, const int side);
void stampa_testata(TPrinter& pr); void stampa_testata(TPrinter& pr);
void stampa_fine(TPrinter& pr); void stampa_fine(TPrinter& pr);
void stampa_N(TPrinter& pr); void stampa_N(TPrinter& pr);
void stampa_P(TPrinter& pr); void stampa_P(TPrinter& pr);
void stampa_Q(TPrinter& pr); void stampa_Q(TPrinter& pr);
void stampa_R(TPrinter& pr); void stampa_R(TPrinter& pr);
void stampa_S(TPrinter& pr); void stampa_S(TPrinter& pr);
void stampa_T(TPrinter& pr); void stampa_T(TPrinter& pr);
virtual int dic_form_len() const { return BASE_FORMLEN; } virtual int dic_form_len() const { return BASE_FORMLEN; }
virtual void next_page(TPrinter& pr) { fill_page(pr, -1); } virtual void next_page(TPrinter& pr) { fill_page(pr, -1); }
virtual void set_body(TPrinter& pr, const char tipo) {} virtual void set_body(TPrinter& pr, const char tipo) {}
virtual int prima_riga(PaginaQuadro p) const { return 3;} virtual int prima_riga(PaginaQuadro p) const { return 3;}
public: public:
virtual bool print(const long codditta, const long NumFis, const long NumNoFis); virtual bool print(const long codditta, const long NumFis, const long NumNoFis);
TBase4(const char* sNomeForm, const char* quadro) : TDicForm(sNomeForm, quadro) {} TBase4(const char* sNomeForm, const char* quadro) : TDicForm(sNomeForm, quadro) {}
virtual ~TBase4() {} virtual ~TBase4() {}
}; };
const int _FIELD_L = 740; const int _FIELD_L = 740;
class TStampaBase : public TStampaQuadro class TStampaBase : public TStampaQuadro
{ {
private: private:
TBase1* _fBase1; TBase1* _fBase1;
TBase2* _fBase2; TBase2* _fBase2;
TBase3* _fBase3; TBase3* _fBase3;
TBase4* _fBase4; TBase4* _fBase4;
TRelation* _rel; TRelation* _rel;
TCursor* _cur, *_cur2, *_cur3, *_cur4; TCursor* _cur, *_cur2, *_cur3, *_cur4;
protected: protected:
virtual bool user_create(); virtual bool user_create();
virtual bool user_destroy(); virtual bool user_destroy();
virtual bool conta_tipi_per() const { return FALSE; } virtual bool conta_tipi_per() const { return FALSE; }
virtual TDicForm* get_form() const { return _fBase1; } virtual TDicForm* get_form() const { return _fBase1; }
virtual TCursor* get_cursor() const { return _cur; } virtual TCursor* get_cursor() const { return _cur; }
virtual bool print_quadro(const int OffsetDitta, const bool modulaser); virtual bool print_quadro(const int OffsetDitta, const bool modulaser);
public: public:
TStampaBase(char livel) : TStampaQuadro("Base", livel) { } TStampaBase(char livel) : TStampaQuadro("Base", livel) { }
}; };
/////////////////////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////////////////////
// //
// Quadro L aggiuntivo // Quadro L aggiuntivo
// //
/////////////////////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////////////////////
class TQuadroL : public TDicForm class TQuadroL : public TDicForm
{ {
private: private:
long _codditta; long _codditta;
protected: protected:
void stampa_testata(TPrinter& pr); void stampa_testata(TPrinter& pr);
void stampa_totali_L(TPrinter& pr); void stampa_totali_L(TPrinter& pr);
bool stampa_L(TPrinter& pr,const long lStartRec,const int iRecL); bool stampa_L(TPrinter& pr,const long lStartRec,const int iRecL);
virtual int dic_form_len() const { return BASE_FORMLEN; } virtual int dic_form_len() const { return BASE_FORMLEN; }
virtual void next_page(TPrinter& pr) { fill_page(pr, -1); } virtual void next_page(TPrinter& pr) { fill_page(pr, -1); }
virtual void set_body(TPrinter& pr, const char tipo) {} virtual void set_body(TPrinter& pr, const char tipo) {}
virtual int prima_riga(PaginaQuadro p) const { return 3;} virtual int prima_riga(PaginaQuadro p) const { return 3;}
public: public:
virtual bool print(const long codditta, const long NumFis, const long NumNoFis); virtual bool print(const long codditta, const long NumFis, const long NumNoFis);
TQuadroL(const char* sNomeForm, const char* quadro) : TDicForm(sNomeForm, quadro) {} TQuadroL(const char* sNomeForm, const char* quadro) : TDicForm(sNomeForm, quadro) {}
virtual ~TQuadroL() {} virtual ~TQuadroL() {}
}; };
const int _RIGA_TOTALI_AGG_L = 65; const int _RIGA_TOTALI_AGG_L = 65;
const long _START_AGG_L = 17L; const long _START_AGG_L = 17L;
const int _REC_PRIMA_AGG_L = 12; const int _REC_PRIMA_AGG_L = 12;
const int _REC_SECONDA_AGG_L = 14; const int _REC_SECONDA_AGG_L = 14;
class TStampaQuadroAggL : public TStampaQuadro class TStampaQuadroAggL : public TStampaQuadro
{ {
TQuadroL* _form; TQuadroL* _form;
protected: protected:
virtual bool user_create(); virtual bool user_create();
virtual bool user_destroy(); virtual bool user_destroy();
virtual TDicForm* get_form() const { return _form; } virtual TDicForm* get_form() const { return _form; }
public: public:
TStampaQuadroAggL(const char* quadro, char liv):TStampaQuadro(quadro, liv) {} TStampaQuadroAggL(const char* quadro, char liv):TStampaQuadro(quadro, liv) {}
virtual ~TStampaQuadroAggL() { } virtual ~TStampaQuadroAggL() { }
}; };
#endif #endif

View File

@ -87,6 +87,8 @@ bool TDicForm::InitPrint(const long codditta)
// pr.set_char_size(fontsize()); // Set font name and size // pr.set_char_size(fontsize()); // Set font name and size
// pr.set_fontname(fontname()); // according to current form // pr.set_fontname(fontname()); // according to current form
_posiziona=pr.printtype()==winprinter;
// if (_posiziona && !_GiaPosizionato && pr.printtype() == winprinter)
if (_posiziona && !_GiaPosizionato && pr.printtype() == winprinter) if (_posiziona && !_GiaPosizionato && pr.printtype() == winprinter)
{ {
posiziona(); posiziona();

View File

@ -1,277 +1,282 @@
#ifndef __77STQ_H #ifndef __77STQ_H
#define __77STQ_H #define __77STQ_H
#include <xvt.h> #include <xvt.h>
#include <applicat.h> #include <applicat.h>
#include <relation.h> #include <relation.h>
#include <config.h> #include <config.h>
#include <mask.h> #include <mask.h>
#include <form.h> #include <form.h>
#include <printer.h> #include <printer.h>
#include <progind.h> #include <progind.h>
#include "base.h" #include "base.h"
#include <urldefid.h> #include <urldefid.h>
#include <nditte.h> #include <nditte.h>
#include <anagr.h> #include <anagr.h>
#include "quadroc.h" #include "quadroc.h"
#include "quadrod.h" #include "quadrod.h"
#include "quadrod1.h" #include "quadrod1.h"
#include "quadrogd.h" #include "quadrogd.h"
#include "quadrif.h" #include "quadrif.h"
#include "77stqd.h" #include "77stqd.h"
#include "77lib.h" #include "77lib.h"
// Chincaglieria che serve per posiziona() // Righe da saltare nelle prime pag. dei moduli successivi al primo (che' son
typedef long HWND; // senza le righe del posizionamento...)
HIDDEN const int MAX_LEN = 300; HIDDEN int HEADER_PRIMA_NOPOS = 2;
extern "C" {
BOOLEAN PrintLineNow( char *pData, word cbBytes, HWND hInst ); // Chincaglieria che serve per posiziona()
}; typedef long HWND;
HIDDEN const int MAX_LEN = 300;
extern "C" {
HIDDEN TString16 __dep16; BOOLEAN PrintLineNow( char *pData, word cbBytes, HWND hInst );
HIDDEN TString80 __dep80; };
// Vega-Key di Modulaser
HIDDEN const char* VK_STARTDOC = "<VK>&MA796&0&1"; HIDDEN TString16 __dep16;
HIDDEN const char* VK_ENDDOC = "<VK>!0"; HIDDEN TString80 __dep80;
typedef enum { STARTDOC, STARTDITTA, STARTPAGE, ENDDOC } ModulaserKey;
// Vega-Key di Modulaser
// Campi form HIDDEN const char* VK_STARTDOC = "<VK>&MA796&0&1";
#define TOT_TOTALE 1 HIDDEN const char* VK_ENDDOC = "<VK>!0";
#define TOT_SNSRIT 2 typedef enum { STARTDOC, STARTDITTA, STARTPAGE, ENDDOC } ModulaserKey;
#define TOT_IMPON 3
#define TOT_IMPOR 4 // Campi form
#define TOT_NETTO 5 #define TOT_TOTALE 1
#define TOT_SNSRIT 2
#define D_TOTALE 16 #define TOT_IMPON 3
#define D_SNSRIT 17 #define TOT_IMPOR 4
#define D_IMPONIBILE 18 #define TOT_NETTO 5
#define D_IMPORTO 20
#define D_NETTO 21 #define D_TOTALE 16
#define D_SNSRIT 17
#define D1_TOTALE 12 #define D_IMPONIBILE 18
#define D1_QUOTAPRO 13 #define D_IMPORTO 20
#define D1_SPESEANT 14 #define D_NETTO 21
#define D1_IMPONIBILE 15
#define D1_IMPORTO 17 #define D1_TOTALE 12
#define D1_NETTO 18 #define D1_QUOTAPRO 13
#define D1_SPESEANT 14
#define C_TOTALE 14 #define D1_IMPONIBILE 15
#define C_CONTSSN 15 #define D1_IMPORTO 17
#define C_SOMME 16 #define D1_NETTO 18
#define C_IMPONIBILE 17
#define C_RITENUTE 18 #define C_TOTALE 14
#define C_NETTO 19 #define C_CONTSSN 15
#define C_SOMME 16
#define H_COFI_DIC 13 #define C_IMPONIBILE 17
#define H_NUM_FOGLIO 14 #define C_RITENUTE 18
#define QD_STATO_ESTERO 12 #define C_NETTO 19
// Quadro D #define H_COFI_DIC 13
HIDDEN const int QD_FORMLEN_PRIMA = 70; // 72 - 3 (3 e' la posizione della X di posiz.) #define H_NUM_FOGLIO 14
HIDDEN const int QD_FORMLEN = 72; #define QD_STATO_ESTERO 12
HIDDEN const int POS_DITTA = 120; // Colonna del codice ditta a pie' di modulo
HIDDEN const int QD_PAGINE = 4; // Quadro D
HIDDEN const int QD_RIGHE_PRIMA = 4; HIDDEN const int QD_FORMLEN_PRIMA = 70; // 72 - 3 (3 e' la posizione della X di posiz.)
HIDDEN const int QD_RIGHE_SECONDA = 7; HIDDEN const int QD_FORMLEN = 72;
HIDDEN const int QD_RIGHE_TERZA = 7; HIDDEN const int POS_DITTA = 120; // Colonna del codice ditta a pie' di modulo
HIDDEN const int QD_RIGHE_QUARTA = 7; HIDDEN const int QD_PAGINE = 4;
HIDDEN const int QD1_RIGHE_PRIMA = 6; HIDDEN const int QD_RIGHE_PRIMA = 4;
HIDDEN const int QD1_RIGHE_SECONDA = 9; HIDDEN const int QD_RIGHE_SECONDA = 7;
HIDDEN const int QD1_RIGHE_TERZA = 9; HIDDEN const int QD_RIGHE_TERZA = 7;
HIDDEN const int QD1_RIGHE_QUARTA = 8; HIDDEN const int QD_RIGHE_QUARTA = 7;
HIDDEN const int QD1_RIGHE_PRIMA = 6;
HIDDEN const int HEADER_SECONDA = 8; HIDDEN const int QD1_RIGHE_SECONDA = 9;
HIDDEN const int HEADER_TERZA = 8; // Sarebbero 9 col righello... HIDDEN const int QD1_RIGHE_TERZA = 9;
HIDDEN const int HEADER_QUARTA = 13; // 15 col righello... HIDDEN const int QD1_RIGHE_QUARTA = 8;
HIDDEN const int HEADER_D1_SECONDA = 8; HIDDEN const int HEADER_SECONDA = 8;
HIDDEN const int HEADER_D1_TERZA = 8; HIDDEN const int HEADER_TERZA = 8; // Sarebbero 9 col righello...
HIDDEN const int HEADER_D1_QUARTA = 14; HIDDEN const int HEADER_QUARTA = 13; // 15 col righello...
typedef enum { PRIMA=1, SECONDA, TERZA, QUARTA } PaginaQuadro; HIDDEN const int HEADER_D1_SECONDA = 8;
typedef enum { fisiche, nofisiche } TipoPagina; HIDDEN const int HEADER_D1_TERZA = 8;
HIDDEN const int HEADER_D1_QUARTA = 14;
const char* get_ragsoc_anagr(char tipo, long codanagr);
typedef enum { PRIMA=1, SECONDA, TERZA, QUARTA } PaginaQuadro;
class TDicForm : public TForm typedef enum { fisiche, nofisiche } TipoPagina;
{
private: const char* get_ragsoc_anagr(char tipo, long codanagr);
real _f_tot_totale, _f_tot_snsrit, _f_tot_impon, _f_tot_impor, _f_tot_netto;
real _nf_tot_totale, _nf_tot_snsrit, _nf_tot_impon, _nf_tot_impor, _nf_tot_netto; class TDicForm : public TForm
{
TCursor* _cur; private:
real _f_tot_totale, _f_tot_snsrit, _f_tot_impon, _f_tot_impor, _f_tot_netto;
protected: real _nf_tot_totale, _nf_tot_snsrit, _nf_tot_impon, _nf_tot_impor, _nf_tot_netto;
long _Items; // numero di record che hanno passato il filtro
PaginaQuadro _PaginaCorrente; TCursor* _cur;
void set_curr_page(PaginaQuadro pagina) { _PaginaCorrente = pagina; } protected:
virtual int dic_form_len() const; long _Items; // numero di record che hanno passato il filtro
virtual void inc_curr_page(); PaginaQuadro _PaginaCorrente;
virtual void next_page(TPrinter& pr);
bool _modulaser; // se stampa per modulaser void set_curr_page(PaginaQuadro pagina) { _PaginaCorrente = pagina; }
TipoDitta _tipo_ditta; // tipo ditta: normale, estinto, dichiarante virtual int dic_form_len() const;
int _num_foglio; // numero foglio virtual void inc_curr_page();
TString _cofi_dic; // cod.fis. dichiarante virtual void next_page(TPrinter& pr);
bool _can_print_tot_fis, _can_print_tot_nofis; bool _modulaser; // se stampa per modulaser
bool _finite_fis, _finite_nofis, _LastDitta, _EndPrintDitta; bool _posiziona;
bool _GiaStampatiFis, _GiaStampatiNoFis, _PaginaPosizionamento; TipoDitta _tipo_ditta; // tipo ditta: normale, estinto, dichiarante
bool _GiaPosizionato, _GiaMessoStartDoc, _GiaMessoStartPage[QD_PAGINE]; // flag per modulaser int _num_foglio; // numero foglio
int _CtrNoFisStampati, _CtrFisStampati; // contatori p.f. e p.g. stampate TString _cofi_dic; // cod.fis. dichiarante
long _codditta, _codditta_dic; // cod.ditta e cod.ditta dichiarante bool _can_print_tot_fis, _can_print_tot_nofis;
int _RigaCorr; // contatore riga corrente bool _finite_fis, _finite_nofis, _LastDitta, _EndPrintDitta;
TString16 _quadro; // codice quadro in stampa bool _GiaStampatiFis, _GiaStampatiNoFis, _PaginaPosizionamento;
bool _GiaPosizionato, _GiaMessoStartDoc, _GiaMessoStartPage[QD_PAGINE]; // flag per modulaser
void stampa_testata(TPrinter& pr); int _CtrNoFisStampati, _CtrFisStampati; // contatori p.f. e p.g. stampate
virtual bool ultima_pagina() const { return _PaginaCorrente==QUARTA; } long _codditta, _codditta_dic; // cod.ditta e cod.ditta dichiarante
virtual void stampa_totali(TPrinter& pr); int _RigaCorr; // contatore riga corrente
// virtual void aggiorna_totali(const char tipo); TString16 _quadro; // codice quadro in stampa
virtual void set_body(TPrinter& pr, const char tipo);
void StampaPagina(PaginaQuadro PaginaCorrente, const bool StampaTotali, const long Fis, const long NoFis); void stampa_testata(TPrinter& pr);
void posiziona(); virtual bool ultima_pagina() const { return _PaginaCorrente==QUARTA; }
void fill_page(TPrinter& pr, const int righe); virtual void stampa_totali(TPrinter& pr);
void jump_to_line(TPrinter& pr, const int riga); // virtual void aggiorna_totali(const char tipo);
const char* BuildModulaserStartPage(); virtual void set_body(TPrinter& pr, const char tipo);
void put_modulaser(TPrintrow& row, ModulaserKey key, int page=0); void StampaPagina(PaginaQuadro PaginaCorrente, const bool StampaTotali, const long Fis, const long NoFis);
void ClearFlagModulaser(); void posiziona();
bool PaginaPosizionamento() const; void fill_page(TPrinter& pr, const int righe);
virtual bool InitPrint(const long codditta); void jump_to_line(TPrinter& pr, const int riga);
const char* BuildModulaserStartPage();
public: void put_modulaser(TPrintrow& row, ModulaserKey key, int page=0);
virtual TCursor* cursor() const { return _cur; } void ClearFlagModulaser();
virtual TRelation* relation() const { return _cur->relation(); } bool PaginaPosizionamento() const;
virtual bool InitPrint(const long codditta);
virtual long filtra(const long codditta);
public:
TProgind* _prog; // progind usata in print() virtual TCursor* cursor() const { return _cur; }
virtual TRelation* relation() const { return _cur->relation(); }
long codditta() const { return _codditta; }
void set_codditta(const long ditta) { _codditta = ditta; } virtual long filtra(const long codditta);
void set_posiziona(const bool posiz) { _GiaPosizionato = FALSE; }
void can_print_tot_fis(const bool canpr) { _can_print_tot_fis = canpr; } TProgind* _prog; // progind usata in print()
void can_print_tot_nofis(const bool canpr) { _can_print_tot_nofis = canpr; }
void set_last_ditta(const bool last) { _LastDitta = last; } long codditta() const { return _codditta; }
bool last_ditta() const { return _LastDitta; } void set_codditta(const long ditta) { _codditta = ditta; }
bool EndJob() const { return _LastDitta && _EndPrintDitta; } void set_posiziona(const bool posiz) { _GiaPosizionato = FALSE; }
bool ultima_fis(); void can_print_tot_fis(const bool canpr) { _can_print_tot_fis = canpr; }
bool ultima_nofis(); void can_print_tot_nofis(const bool canpr) { _can_print_tot_nofis = canpr; }
TString& cofi_dic() { return _cofi_dic; } void set_last_ditta(const bool last) { _LastDitta = last; }
void set_cofi_dic(const char* cofi); bool last_ditta() const { return _LastDitta; }
TipoDitta tipo_ditta() const { return _tipo_ditta; } bool EndJob() const { return _LastDitta && _EndPrintDitta; }
void set_tipo_ditta(TipoDitta tipo) { _tipo_ditta = tipo; } bool ultima_fis();
bool modulaser() const { return _modulaser; } bool ultima_nofis();
void set_modulaser(const bool modul) { _modulaser = modul; } TString& cofi_dic() { return _cofi_dic; }
void set_num_foglio(const int foglio) { _num_foglio = foglio; } void set_cofi_dic(const char* cofi);
int num_foglio() const { return _num_foglio; } TipoDitta tipo_ditta() const { return _tipo_ditta; }
virtual void azzera_totali(); void set_tipo_ditta(TipoDitta tipo) { _tipo_ditta = tipo; }
PaginaQuadro curr_page() const { return _PaginaCorrente; } bool modulaser() const { return _modulaser; }
TCursor& cur(); void set_modulaser(const bool modul) { _modulaser = modul; }
void set_num_foglio(const int foglio) { _num_foglio = foglio; }
void set_progind(TProgind* prog) { _prog = prog; } int num_foglio() const { return _num_foglio; }
TProgind* progind() { return _prog; } virtual void azzera_totali();
bool usa_progind() const { return _prog != NULL; } PaginaQuadro curr_page() const { return _PaginaCorrente; }
TCursor& cur();
virtual void set_cursor(TCursor* cur);
virtual void close_print(); void set_progind(TProgind* prog) { _prog = prog; }
virtual bool print(const long codditta, const long NumFis, const long NumNoFis); TProgind* progind() { return _prog; }
bool usa_progind() const { return _prog != NULL; }
const TString& quadro() const { return _quadro; }
virtual void set_cursor(TCursor* cur);
TDicForm(const char* form, const char* quadro); virtual void close_print();
virtual ~TDicForm() {} virtual bool print(const long codditta, const long NumFis, const long NumNoFis);
};
const TString& quadro() const { return _quadro; }
////////////////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////////////// TDicForm(const char* form, const char* quadro);
//////////////////////////////////////////////////////////////////////////////////////////// virtual ~TDicForm() {}
// };
// TStDicArray
// ////////////////////////////////////////////////////////////////////////////////////////////
// Array delle ditte da stampare. Contiene una riga per ogni ditta che si vuole stampare ////////////////////////////////////////////////////////////////////////////////////////////
// Il formato della riga e': ////////////////////////////////////////////////////////////////////////////////////////////
// codditta|estinti|numfis|numnofis|ultimafis|ultimanofis //
// // TStDicArray
///////////////////////////////////////////////////////////////////////////////////////////// //
// Array delle ditte da stampare. Contiene una riga per ogni ditta che si vuole stampare
class TStDicArray : public TObject // Il formato della riga e':
{ // codditta|estinti|numfis|numnofis|ultimafis|ultimanofis
private: //
TString_array _store; /////////////////////////////////////////////////////////////////////////////////////////////
public: class TStDicArray : public TObject
TToken_string& operator[](int i) const; {
int curr_index() const { return _store.last(); } private:
void set(const int index, const TipoDitta tipo=normale, const int num_fis=0, const int num_nofis=0, TString_array _store;
bool ultima_con_fis=FALSE, bool ultima_con_nofis=FALSE, const char* cofidic=NULL);
void set_tipo(const int index, const TipoDitta tipo); public:
void set_ultima_con_fis(const int index, const bool ultima_fis); TToken_string& operator[](int i) const;
void set_ultima_con_nofis(const int index, const bool ultima_nofis); int curr_index() const { return _store.last(); }
void set_flag_tipi(const int index, const bool ultima_fis, const bool ultima_nofis); void set(const int index, const TipoDitta tipo=normale, const int num_fis=0, const int num_nofis=0,
void set_ctr_tipi(const int index, const int num_fis, const int num_nofis); bool ultima_con_fis=FALSE, bool ultima_con_nofis=FALSE, const char* cofidic=NULL);
void add(const long codditta, const TipoDitta tipo=normale, const int num_fis=0, const int num_nofis=0, void set_tipo(const int index, const TipoDitta tipo);
bool ultima_con_fis=FALSE, bool ultima_con_nofis=FALSE, const char* cofidic=NULL); void set_ultima_con_fis(const int index, const bool ultima_fis);
int items() const { return _store.items(); } void set_ultima_con_nofis(const int index, const bool ultima_nofis);
void destroy() { _store.destroy(); } void set_flag_tipi(const int index, const bool ultima_fis, const bool ultima_nofis);
}; void set_ctr_tipi(const int index, const int num_fis, const int num_nofis);
void add(const long codditta, const TipoDitta tipo=normale, const int num_fis=0, const int num_nofis=0,
///////////////////////////////////////////////////////////////////////////////////////////// bool ultima_con_fis=FALSE, bool ultima_con_nofis=FALSE, const char* cofidic=NULL);
// int items() const { return _store.items(); }
// STAMPA QUADRO void destroy() { _store.destroy(); }
// };
/////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////
class TStampaQuadro : public TApplication //
{ // STAMPA QUADRO
TMask* _m; // Maschera di stampa //
/////////////////////////////////////////////////////////////////////////////////////////////
TConfig* _cnf; // Configurazione
TString16 _section; // Paragrafo del config class TStampaQuadro : public TApplication
long _codditta; {
int _anno_dic; TMask* _m; // Maschera di stampa
TString _quadro; TConfig* _cnf; // Configurazione
char _livello; // "S" studio, "D" singola ditta TString16 _section; // Paragrafo del config
TString _title; long _codditta;
int _anno_dic;
TStDicArray _ditte;
TString _quadro;
protected: // TApplication char _livello; // "S" studio, "D" singola ditta
virtual bool menu(MENU_TAG); TString _title;
virtual void on_config_change();
TStDicArray _ditte;
virtual bool create();
virtual bool destroy(); protected: // TApplication
virtual bool menu(MENU_TAG);
protected: virtual void on_config_change();
virtual bool user_create() pure;
virtual bool user_destroy() pure; virtual bool create();
virtual bool destroy();
virtual TDicForm* get_form() const pure;
virtual TCursor* get_cursor() const pure; protected:
virtual bool user_create() pure;
virtual const char* mask_name() const; virtual bool user_destroy() pure;
virtual const char* form_name() const;
virtual TDicForm* get_form() const pure;
virtual bool conta_tipi_per() const { return TRUE; } virtual TCursor* get_cursor() const pure;
void fill_estinti(const long CodDic);
const TStDicArray& ditte() const { return _ditte; } virtual const char* mask_name() const;
virtual const char* form_name() const;
virtual bool print_quadro(const int OffsetDitta, const bool modulaser);
virtual void print(const bool modulaser); virtual bool conta_tipi_per() const { return TRUE; }
void fill_estinti(const long CodDic);
bool singola_ditta() const { return _livello == 'D'; } const TStDicArray& ditte() const { return _ditte; }
const TString& quadro() const { return _quadro; }
virtual bool print_quadro(const int OffsetDitta, const bool modulaser);
void set_taitol(const char* t) { _title = t; } virtual void print(const bool modulaser);
TStampaQuadro(const char* quad, char liv); bool singola_ditta() const { return _livello == 'D'; }
const TString& quadro() const { return _quadro; }
public:
const TString& taitol() const { return _title; } void set_taitol(const char* t) { _title = t; }
virtual ~TStampaQuadro() { } TStampaQuadro(const char* quad, char liv);
};
public:
#endif const TString& taitol() const { return _title; }
virtual ~TStampaQuadro() { }
};
#endif

View File

@ -287,6 +287,7 @@ bool TQuadroA::print(const long codditta, const long NumFis, const long NumNoFis
next_page(pr); next_page(pr);
elementi = 0; elementi = 0;
} }
_PaginaPosizionamento=FALSE;
break; break;
case SECONDA: case SECONDA:
case TERZA: case TERZA:
@ -589,6 +590,7 @@ bool TQuadroH::print(const long codditta, const long NumFis, const long NumNoFis
next_page(pr); next_page(pr);
elementi = 0; elementi = 0;
} }
_PaginaPosizionamento=FALSE;
break; break;
case SECONDA: case SECONDA:
if (!stampato_ultimo) if (!stampato_ultimo)

View File

@ -1,242 +1,242 @@
#ifndef __77STQAB_H #ifndef __77STQAB_H
#define __77STQAB_H #define __77STQAB_H
#include "77stq.h" #include "77stq.h"
////////////////////////////////////// //////////////////////////////////////
// QUADRO A // QUADRO A
////////////////////////////////////// //////////////////////////////////////
class TDipendente : public TSortable class TDipendente : public TSortable
{ {
TRecnotype _pos; TRecnotype _pos;
long _codice_ditta; long _codice_ditta;
TString _ragsoc; TString _ragsoc;
long _codice_dipendente; long _codice_dipendente;
long _codice_deceduto; long _codice_deceduto;
TDate _fine_rapporto; TDate _fine_rapporto;
bool _lavoro_precedente; bool _lavoro_precedente;
char _causa; char _causa;
char _rettifica_conguaglio; char _rettifica_conguaglio;
int _numero_progressivo; int _numero_progressivo;
public: public:
virtual int compare(const TSortable& s) const; virtual int compare(const TSortable& s) const;
TRecnotype pos() const { return _pos; } TRecnotype pos() const { return _pos; }
long codice_deceduto() const { return _codice_deceduto; } long codice_deceduto() const { return _codice_deceduto; }
void reset_deceduto() { _codice_deceduto = -_codice_deceduto; } void reset_deceduto() { _codice_deceduto = -_codice_deceduto; }
long codice() const { return _codice_dipendente; } long codice() const { return _codice_dipendente; }
int anno_fine_rapporto() const { return _fine_rapporto.year(); } int anno_fine_rapporto() const { return _fine_rapporto.year(); }
bool lavoro_precedente() const { return _lavoro_precedente; } bool lavoro_precedente() const { return _lavoro_precedente; }
char rettifica_conguaglio() const { return _rettifica_conguaglio; } char rettifica_conguaglio() const { return _rettifica_conguaglio; }
TDipendente(const TCursor& cur); TDipendente(const TCursor& cur);
virtual ~TDipendente() { } virtual ~TDipendente() { }
}; };
class TDipendenti : public TObject class TDipendenti : public TObject
{ {
TArray _data; TArray _data;
protected: protected:
const TDipendente& dip(int i) const { return (const TDipendente&)_data[i]; } const TDipendente& dip(int i) const { return (const TDipendente&)_data[i]; }
public: public:
const TDipendente& operator[](int i) const { return dip(i); } const TDipendente& operator[](int i) const { return dip(i); }
int fill(TCursor& cur); int fill(TCursor& cur);
int items() const { return _data.items(); } int items() const { return _data.items(); }
int find(long d) const; int find(long d) const;
TDipendenti() { } TDipendenti() { }
virtual ~TDipendenti() { } virtual ~TDipendenti() { }
}; };
class TQuadroA : public TDicForm class TQuadroA : public TDicForm
{ {
enum { QA_FORMLEN = 72 }; enum { QA_FORMLEN = 72 };
protected: protected:
virtual void next_page(TPrinter& pr); virtual void next_page(TPrinter& pr);
virtual bool print(const long codditta, const long NumFis, const long NumNoFis); virtual bool print(const long codditta, const long NumFis, const long NumNoFis);
virtual void azzera_totali(); virtual void azzera_totali();
virtual void aggiorna_totali(const char) { } virtual void aggiorna_totali(const char) { }
virtual int elementi_pagina(PaginaQuadro p) const; virtual int elementi_pagina(PaginaQuadro p) const;
virtual int prima_riga(PaginaQuadro p) const; virtual int prima_riga(PaginaQuadro p) const;
virtual int riga_totali(PaginaQuadro p) const; virtual int riga_totali(PaginaQuadro p) const;
bool init(long codditta); bool init(long codditta);
virtual void preprocess_corpo(const TRectype& rec); virtual void preprocess_corpo(const TRectype& rec);
void stampa_corpo(TPrinter& pr); void stampa_corpo(TPrinter& pr);
void stampa_totali(TPrinter& pr); void stampa_totali(TPrinter& pr);
void stampa_firma(TPrinter& pr); void stampa_firma(TPrinter& pr);
public: public:
TQuadroA(const char* form, const char* quadro) : TDicForm(form, quadro) {} TQuadroA(const char* form, const char* quadro) : TDicForm(form, quadro) {}
virtual ~TQuadroA() {} virtual ~TQuadroA() {}
}; };
class TStampaQuadroA : public TStampaQuadro class TStampaQuadroA : public TStampaQuadro
{ {
protected: protected:
TDicForm* _form; TDicForm* _form;
TCursor* _cur; TCursor* _cur;
protected: protected:
virtual bool user_create(); virtual bool user_create();
virtual bool user_destroy(); virtual bool user_destroy();
virtual bool conta_tipi_per() const { return FALSE; } virtual bool conta_tipi_per() const { return FALSE; }
virtual TDicForm* get_form() const { return _form; } virtual TDicForm* get_form() const { return _form; }
virtual TCursor* get_cursor() const { return _cur; } virtual TCursor* get_cursor() const { return _cur; }
public: public:
TStampaQuadroA(const char* quadro, char livel) : TStampaQuadro(quadro, livel) { } TStampaQuadroA(const char* quadro, char livel) : TStampaQuadro(quadro, livel) { }
virtual ~TStampaQuadroA() { } virtual ~TStampaQuadroA() { }
}; };
/////////////////////////////////////////////// ///////////////////////////////////////////////
// QUADRO A1 // QUADRO A1
/////////////////////////////////////////////// ///////////////////////////////////////////////
class TQuadroA1 : public TQuadroA class TQuadroA1 : public TQuadroA
{ {
protected: protected:
virtual int elementi_pagina(PaginaQuadro p) const; virtual int elementi_pagina(PaginaQuadro p) const;
virtual int prima_riga(PaginaQuadro p) const; virtual int prima_riga(PaginaQuadro p) const;
virtual long filtra(const long codditta); virtual long filtra(const long codditta);
virtual void preprocess_corpo(const TRectype& rec); virtual void preprocess_corpo(const TRectype& rec);
public: public:
TQuadroA1(const char* form, const char* quadro) : TQuadroA(form, quadro) { } TQuadroA1(const char* form, const char* quadro) : TQuadroA(form, quadro) { }
virtual ~TQuadroA1() { } virtual ~TQuadroA1() { }
}; };
class TStampaQuadroA1 : public TStampaQuadroA class TStampaQuadroA1 : public TStampaQuadroA
{ {
protected: protected:
virtual bool user_create(); virtual bool user_create();
public: public:
TStampaQuadroA1(const char* quadro, char livel) : TStampaQuadroA(quadro, livel) { } TStampaQuadroA1(const char* quadro, char livel) : TStampaQuadroA(quadro, livel) { }
virtual ~TStampaQuadroA1() { } virtual ~TStampaQuadroA1() { }
}; };
/////////////////////////////////////////////// ///////////////////////////////////////////////
// QUADRO A2 // QUADRO A2
/////////////////////////////////////////////// ///////////////////////////////////////////////
class TQuadroA2 : public TQuadroA class TQuadroA2 : public TQuadroA
{ {
protected: protected:
virtual int elementi_pagina(PaginaQuadro p) const; virtual int elementi_pagina(PaginaQuadro p) const;
virtual int prima_riga(PaginaQuadro p) const; virtual int prima_riga(PaginaQuadro p) const;
virtual void preprocess_corpo(const TRectype& rec); virtual void preprocess_corpo(const TRectype& rec);
public: public:
TQuadroA2(const char* form, const char* quadro) : TQuadroA(form, quadro) { } TQuadroA2(const char* form, const char* quadro) : TQuadroA(form, quadro) { }
virtual ~TQuadroA2() { } virtual ~TQuadroA2() { }
}; };
class TStampaQuadroA2 : public TStampaQuadroA class TStampaQuadroA2 : public TStampaQuadroA
{ {
protected: protected:
virtual bool user_create(); virtual bool user_create();
public: public:
TStampaQuadroA2(const char* quadro, char livel) : TStampaQuadroA(quadro, livel) { } TStampaQuadroA2(const char* quadro, char livel) : TStampaQuadroA(quadro, livel) { }
virtual ~TStampaQuadroA2() { } virtual ~TStampaQuadroA2() { }
}; };
///////////////////////////////////////////////// /////////////////////////////////////////////////
// QUADRO A3 // QUADRO A3
///////////////////////////////////////////////// /////////////////////////////////////////////////
class TQuadroA3 : public TQuadroA class TQuadroA3 : public TQuadroA
{ {
protected: protected:
virtual int elementi_pagina(PaginaQuadro p) const; virtual int elementi_pagina(PaginaQuadro p) const;
virtual int prima_riga(PaginaQuadro p) const; virtual int prima_riga(PaginaQuadro p) const;
public: public:
TQuadroA3(const char* form, const char* quadro) : TQuadroA(form, quadro) { } TQuadroA3(const char* form, const char* quadro) : TQuadroA(form, quadro) { }
virtual ~TQuadroA3() { } virtual ~TQuadroA3() { }
}; };
class TStampaQuadroA3 : public TStampaQuadroA class TStampaQuadroA3 : public TStampaQuadroA
{ {
protected: protected:
virtual bool user_create(); virtual bool user_create();
public: public:
TStampaQuadroA3(const char* quadro, char livel) : TStampaQuadroA(quadro, livel) { } TStampaQuadroA3(const char* quadro, char livel) : TStampaQuadroA(quadro, livel) { }
virtual ~TStampaQuadroA3() { } virtual ~TStampaQuadroA3() { }
}; };
/////////////////////////////////////////////////////// ///////////////////////////////////////////////////////
// QUADRO B // QUADRO B
/////////////////////////////////////////////////////// ///////////////////////////////////////////////////////
class TQuadroB : public TQuadroA class TQuadroB : public TQuadroA
{ {
protected: protected:
virtual int elementi_pagina(PaginaQuadro p) const; virtual int elementi_pagina(PaginaQuadro p) const;
virtual int prima_riga(PaginaQuadro p) const; virtual int prima_riga(PaginaQuadro p) const;
public: public:
TQuadroB(const char* form, const char* quadro) : TQuadroA(form, quadro) { } TQuadroB(const char* form, const char* quadro) : TQuadroA(form, quadro) { }
virtual ~TQuadroB() { } virtual ~TQuadroB() { }
}; };
class TStampaQuadroB : public TStampaQuadroA class TStampaQuadroB : public TStampaQuadroA
{ {
protected: protected:
virtual bool user_create(); virtual bool user_create();
public: public:
TStampaQuadroB(const char* quadro, char livel) : TStampaQuadroA(quadro, livel) { } TStampaQuadroB(const char* quadro, char livel) : TStampaQuadroA(quadro, livel) { }
virtual ~TStampaQuadroB() { } virtual ~TStampaQuadroB() { }
}; };
/////////////////////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////////////////////
// //
// Quadro H // Quadro H
// //
/////////////////////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////////////////////
class TQuadroH : public TQuadroA class TQuadroH : public TQuadroA
{ {
enum { QH_FORMLEN = 72 }; enum { QH_FORMLEN = 72 };
protected: protected:
virtual bool ultima_pagina() const { return _PaginaCorrente==SECONDA; } virtual bool ultima_pagina() const { return _PaginaCorrente==SECONDA; }
virtual int elementi_pagina(PaginaQuadro p) const; virtual int elementi_pagina(PaginaQuadro p) const;
virtual int prima_riga(PaginaQuadro p) const; virtual int prima_riga(PaginaQuadro p) const;
virtual bool print(const long codditta, const long NumFis, const long NumNoFis); virtual bool print(const long codditta, const long NumFis, const long NumNoFis);
virtual void inc_curr_page(); virtual void inc_curr_page();
public: public:
TQuadroH(const char* form, const char* quadro) : TQuadroA(form, quadro) { } TQuadroH(const char* form, const char* quadro) : TQuadroA(form, quadro) { }
virtual ~TQuadroH() { } virtual ~TQuadroH() { }
}; };
class TStampaQuadroH : public TStampaQuadroA class TStampaQuadroH : public TStampaQuadroA
{ {
protected: protected:
virtual bool user_create(); virtual bool user_create();
public: public:
TStampaQuadroH(const char* quadro, char livel) : TStampaQuadroA(quadro, livel) {} TStampaQuadroH(const char* quadro, char livel) : TStampaQuadroA(quadro, livel) {}
virtual ~TStampaQuadroH() {} virtual ~TStampaQuadroH() {}
}; };
#endif #endif