Stampa quadro
git-svn-id: svn://10.65.10.50/trunk@3361 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
ebc486176c
commit
de8657e537
186
m770/77stq.cpp
186
m770/77stq.cpp
@ -5033,12 +5033,10 @@ class TBase2 : public TDicForm
|
||||
long _codditta;
|
||||
protected:
|
||||
void stampa_corpo(TPrinter& pr);
|
||||
virtual int dic_form_len() const { return BASE_FORMLEN; }
|
||||
virtual void next_page(TPrinter& pr) { fill_page(pr, -1); }
|
||||
virtual void stampa_totali(TPrinter& pr) {}
|
||||
virtual void aggiorna_totali(const char tipo) {}
|
||||
virtual void set_body(TPrinter& pr, const char tipo) {}
|
||||
virtual int prima_riga(PaginaQuadro p) const { return 1;}
|
||||
virtual int dic_form_len() const { return BASE_FORMLEN; }
|
||||
virtual void next_page(TPrinter& pr) { fill_page(pr, -1); }
|
||||
virtual void set_body(TPrinter& pr, const char tipo) {}
|
||||
virtual int prima_riga(PaginaQuadro p) const { return 4;}
|
||||
public:
|
||||
virtual bool print(const long codditta, const long NumFis, const long NumNoFis);
|
||||
TBase2(const char* sNomeForm, const char* quadro) : TDicForm(sNomeForm, quadro) {}
|
||||
@ -5066,38 +5064,167 @@ bool TBase2::print(const long codditta, const long NumFis, const long NumNoFis)
|
||||
TPrinter& pr = printer();
|
||||
_codditta=codditta;
|
||||
filtra(codditta);
|
||||
_RigaCorr=0;
|
||||
(*cur)=0L;
|
||||
// jump_to_line(pr, prima_riga(PRIMA));
|
||||
jump_to_line(pr, prima_riga(PRIMA));
|
||||
stampa_corpo(pr);
|
||||
next_page(pr);
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
class TBase3 : public TDicForm
|
||||
{
|
||||
private:
|
||||
long _codditta;
|
||||
protected:
|
||||
void stampa_testata(TPrinter& pr);
|
||||
void stampa_corpo(TPrinter& pr);
|
||||
virtual int dic_form_len() const { return BASE_FORMLEN; }
|
||||
virtual void next_page(TPrinter& pr) { fill_page(pr, -1); }
|
||||
virtual void set_body(TPrinter& pr, const char tipo) {}
|
||||
virtual int prima_riga(PaginaQuadro p) const { return 4;}
|
||||
public:
|
||||
virtual bool print(const long codditta, const long NumFis, const long NumNoFis);
|
||||
TBase3(const char* sNomeForm, const char* quadro) : TDicForm(sNomeForm, quadro) {}
|
||||
virtual ~TBase3() {}
|
||||
};
|
||||
|
||||
void TBase3::stampa_testata(TPrinter& pr)
|
||||
{
|
||||
TPrint_section& hh = section('H', first_page);
|
||||
hh.reset();
|
||||
hh.update();
|
||||
const int hhr = hh.height();
|
||||
for (int i = 0; i < hhr; i++)
|
||||
{
|
||||
pr.print(hh.row(i));
|
||||
_RigaCorr++;
|
||||
}
|
||||
if (usa_progind())
|
||||
progind()->addstatus(1);
|
||||
}
|
||||
|
||||
void TBase3::stampa_corpo(TPrinter& pr)
|
||||
{
|
||||
TPrint_section& body = section('B', odd_page);
|
||||
body.reset();
|
||||
body.update();
|
||||
const int body_righe = body.height();
|
||||
for (int i = 0; i < body_righe; i++)
|
||||
{
|
||||
pr.print(body.row(i));
|
||||
_RigaCorr++;
|
||||
}
|
||||
if (usa_progind())
|
||||
progind()->addstatus(1);
|
||||
}
|
||||
|
||||
bool TBase3::print(const long codditta, const long NumFis, const long NumNoFis)
|
||||
{
|
||||
TCursor* cur = cursor();
|
||||
TPrinter& pr = printer();
|
||||
_codditta=codditta;
|
||||
filtra(codditta);
|
||||
_RigaCorr=0;
|
||||
(*cur)=0L;
|
||||
jump_to_line(pr, prima_riga(PRIMA));
|
||||
stampa_testata(pr);
|
||||
stampa_corpo(pr);
|
||||
next_page(pr);
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
class TBase4 : public TDicForm
|
||||
{
|
||||
private:
|
||||
long _codditta;
|
||||
protected:
|
||||
void stampa_testata(TPrinter& pr);
|
||||
void stampa_corpo(TPrinter& pr);
|
||||
virtual int dic_form_len() const { return BASE_FORMLEN; }
|
||||
virtual void next_page(TPrinter& pr) { fill_page(pr, -1); }
|
||||
virtual void set_body(TPrinter& pr, const char tipo) {}
|
||||
virtual int prima_riga(PaginaQuadro p) const { return 4;}
|
||||
public:
|
||||
virtual bool print(const long codditta, const long NumFis, const long NumNoFis);
|
||||
TBase4(const char* sNomeForm, const char* quadro) : TDicForm(sNomeForm, quadro) {}
|
||||
virtual ~TBase4() {}
|
||||
};
|
||||
|
||||
void TBase4::stampa_testata(TPrinter& pr)
|
||||
{
|
||||
TPrint_section& hh = section('H', first_page);
|
||||
hh.reset();
|
||||
hh.update();
|
||||
const int hhr = hh.height();
|
||||
for (int i = 0; i < hhr; i++)
|
||||
{
|
||||
pr.print(hh.row(i));
|
||||
_RigaCorr++;
|
||||
}
|
||||
if (usa_progind())
|
||||
progind()->addstatus(1);
|
||||
}
|
||||
|
||||
void TBase4::stampa_corpo(TPrinter& pr)
|
||||
{
|
||||
TPrint_section& body = section('B', odd_page);
|
||||
body.reset();
|
||||
body.update();
|
||||
const int body_righe = body.height();
|
||||
for (int i = 0; i < body_righe; i++)
|
||||
{
|
||||
pr.print(body.row(i));
|
||||
_RigaCorr++;
|
||||
}
|
||||
if (usa_progind())
|
||||
progind()->addstatus(1);
|
||||
}
|
||||
|
||||
bool TBase4::print(const long codditta, const long NumFis, const long NumNoFis)
|
||||
{
|
||||
TCursor* cur = cursor();
|
||||
TPrinter& pr = printer();
|
||||
_codditta=codditta;
|
||||
filtra(codditta);
|
||||
_RigaCorr=0;
|
||||
(*cur)=0L;
|
||||
jump_to_line(pr, prima_riga(PRIMA));
|
||||
stampa_testata(pr);
|
||||
stampa_corpo(pr);
|
||||
next_page(pr);
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
class TStampaBase : public TStampaQuadro
|
||||
{
|
||||
private:
|
||||
TBase1* _fBase1;
|
||||
TBase2* _fBase2;
|
||||
TRelation* _rel;
|
||||
TCursor* _cur, *_cur2;
|
||||
|
||||
protected:
|
||||
virtual bool user_create();
|
||||
virtual bool user_destroy();
|
||||
virtual bool conta_tipi_per() const { return FALSE; }
|
||||
virtual TDicForm* get_form() const { return _fBase1; }
|
||||
virtual TCursor* get_cursor() const { return _cur; }
|
||||
virtual bool print_quadro(const int OffsetDitta, const bool modulaser);
|
||||
|
||||
public:
|
||||
TStampaBase(char livel) : TStampaQuadro("Base", livel) { }
|
||||
TBase1* _fBase1;
|
||||
TBase2* _fBase2;
|
||||
TBase3* _fBase3;
|
||||
TBase4* _fBase4;
|
||||
TRelation* _rel;
|
||||
TCursor* _cur, *_cur2, *_cur3, *_cur4;
|
||||
|
||||
protected:
|
||||
virtual bool user_create();
|
||||
virtual bool user_destroy();
|
||||
virtual bool conta_tipi_per() const { return FALSE; }
|
||||
virtual TDicForm* get_form() const { return _fBase1; }
|
||||
virtual TCursor* get_cursor() const { return _cur; }
|
||||
virtual bool print_quadro(const int OffsetDitta, const bool modulaser);
|
||||
|
||||
public:
|
||||
TStampaBase(char livel) : TStampaQuadro("Base", livel) { }
|
||||
};
|
||||
|
||||
bool TStampaBase::user_create()
|
||||
{
|
||||
_fBase1 = new TBase1("77base1", "Base");
|
||||
_fBase2 = new TBase2("77base2", "Base");
|
||||
_fBase2 = new TBase2("77base2", "Base");
|
||||
_fBase3 = new TBase3("77base3", "Base");
|
||||
_fBase4 = new TBase4("77base4", "Base");
|
||||
// Adesso bisogna chiamare set_cursor per impostare il cursore dentro
|
||||
// al form. Sarebbe meglio fare in modo che il form usi sempre il cursore
|
||||
// letto dal .frm, senza bisogno di passarglielo dall'applicazione
|
||||
@ -5105,6 +5232,11 @@ bool TStampaBase::user_create()
|
||||
_fBase1->set_cursor(_cur);
|
||||
_cur2 = _fBase2->TForm::cursor();
|
||||
_fBase2->set_cursor(_cur2);
|
||||
_cur3 = _fBase3->TForm::cursor();
|
||||
_fBase3->set_cursor(_cur3);
|
||||
_cur4 = _fBase4->TForm::cursor();
|
||||
_fBase4->set_cursor(_cur4);
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
@ -5113,6 +5245,8 @@ bool TStampaBase::user_destroy()
|
||||
// delete _cur;
|
||||
delete _fBase1;
|
||||
delete _fBase2;
|
||||
delete _fBase3;
|
||||
delete _fBase4;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
@ -5127,7 +5261,9 @@ bool TStampaBase::print_quadro(const int OffsetDitta, const bool modulaser)
|
||||
|
||||
_fBase1->set_modulaser(modulaser);
|
||||
_fBase2->set_modulaser(modulaser);
|
||||
|
||||
_fBase3->set_modulaser(modulaser);
|
||||
_fBase4->set_modulaser(modulaser);
|
||||
|
||||
// Dice se deve eseguire il posizionamento del foglio.
|
||||
// Se stampa piu' ditte va eseguito solo sulla prima
|
||||
// Occhio a non spostarlo nel ciclo.
|
||||
@ -5178,6 +5314,8 @@ bool TStampaBase::print_quadro(const int OffsetDitta, const bool modulaser)
|
||||
|
||||
_fBase1->print(codditta, fis, nofis);
|
||||
_fBase2->print(codditta, fis, nofis);
|
||||
_fBase3->print(codditta, fis, nofis);
|
||||
_fBase4->print(codditta, fis, nofis);
|
||||
}
|
||||
printer().close();
|
||||
return ok;
|
||||
|
Loading…
x
Reference in New Issue
Block a user