Iniziata la stampa del favoloso quadro B

git-svn-id: svn://10.65.10.50/trunk@3218 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
guy 1996-07-19 15:18:03 +00:00
parent cb208bdd14
commit f04e47ada7

View File

@ -210,17 +210,15 @@ bool TDicForm::InitPrint(const long codditta)
pr.set_char_size(fontsize()); // Set font name and size
pr.set_fontname(fontname()); // according to current form
if (_posiziona && !_GiaPosizionato && pr.printtype() != screenvis &&
pr.printtype() != fileprinter)
// arrange_form();
if (_posiziona && !_GiaPosizionato && pr.printtype() == winprinter)
{
posiziona();
#ifdef DBG
if (pr.printtype() != screenvis)
if (!yesno_box("Proseguo con la stampa ?"))
if (!yesno_box("Proseguire con la stampa ?"))
return FALSE;
#endif
}
const bool was_open = pr.isopen();
set_last_page(FALSE);
@ -3530,7 +3528,7 @@ bool TQuadroA::print(const long codditta, const long NumFis, const long NumNoFis
int pos = 0;
TDipendenti indice;
if (quadro() == "A")
if (quadro() == "A" || quadro() == "B")
{
const int i = indice.fill(cur);
if (i > 0)
@ -3551,9 +3549,9 @@ bool TQuadroA::print(const long codditta, const long NumFis, const long NumNoFis
bool stampero_ultimo = stampato_ultimo == FALSE;
if (stampero_ultimo)
{
if (quadro() == "A")
if (indice.items() > 0) // Usa indice alternativo
stampero_ultimo &= pos == indice.items()-1;
else
else // Usa indice del cursore
stampero_ultimo &= cur.pos() == cur.items()-1;
}
@ -3629,7 +3627,7 @@ bool TQuadroA::print(const long codditta, const long NumFis, const long NumNoFis
if (!stampato_ultimo)
{
if (quadro() == "A")
if (indice.items() > 0)
cur = indice[++pos].pos();
else
++cur;
@ -3832,6 +3830,54 @@ bool TStampaQuadroA3::user_create()
return TRUE;
}
/////////////////////////////////////////////////////////////////////////////////
// Quadro B
/////////////////////////////////////////////////////////////////////////////////
class TQuadroB : public TQuadroA
{
protected:
virtual int elementi_pagina(PaginaQuadro p) const;
virtual int prima_riga(PaginaQuadro p) const;
public:
TQuadroB(const char* form, const char* quadro) : TQuadroA(form, quadro) { }
virtual ~TQuadroB() { }
};
int TQuadroB::elementi_pagina(PaginaQuadro p) const
{
const int n[4] = { 3, 5, 5, 3 };
return n[p-PRIMA];
}
int TQuadroB::prima_riga(PaginaQuadro p) const
{
return p == PRIMA ? 34 : 5;
}
class TStampaQuadroB : public TStampaQuadroA
{
protected:
virtual bool user_create();
public:
TStampaQuadroB(const char* quadro, char livel) : TStampaQuadroA(quadro, livel) { }
virtual ~TStampaQuadroB() { }
};
bool TStampaQuadroB::user_create()
{
_form = new TQuadroB("77QB", quadro());
TString sortkey(80);
sortkey.format("CODDITTA|%d->COGNOME|%d->NOME|CODDIP|DATAINI|NPROG", LF_DIPEND, LF_DIPEND);
_cur = new TSorted_cursor(_form->TForm::relation(), sortkey);
return TRUE;
}
/////////////////////////////////////////////////////////////////////////////////
//
// MAIN
@ -3863,6 +3909,10 @@ int stampa_quadro(int argc, char* argv[])
case 3: app = new TStampaQuadroA3(quadro, livello); break;
default: app = new TStampaQuadroA(quadro, livello); break;
}
}
else if (quadro[0] == 'B')
{
app = new TStampaQuadroB(quadro, livello);
}
else if (quadro == "F")
{