Patch level : 1.7 at
Files correlati : at4.exe Ricompilazione Demo : [ ] Commento : sistemato stampa etichette e cartoline su A4 git-svn-id: svn://10.65.10.50/trunk@11644 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
816fe9fddf
commit
83d2e08e3e
@ -69,8 +69,10 @@ class TStampaScadenze : public TPrintapp
|
|||||||
TString16 _codsez, _codsot, _orario, _datacart;
|
TString16 _codsez, _codsot, _orario, _datacart;
|
||||||
TString80 _invitoper, _data, _presso1, _presso2, _presso3, _presso4;
|
TString80 _invitoper, _data, _presso1, _presso2, _presso3, _presso4;
|
||||||
TString80 _note, _intest1, _intest2, _intest3, _intest4;
|
TString80 _note, _intest1, _intest2, _intest3, _intest4;
|
||||||
int _etlarghezza, _etcolonne;
|
|
||||||
int _contatore, _totfinestampa;
|
int _contatore, _totfinestampa;
|
||||||
|
int _etlarghezza, _etcolonne, _etrighe, _etbordoini, _etbordofin, _netichette;
|
||||||
|
int _caxpag, _cabordoini, _cabordofin, _ncartoline;
|
||||||
|
|
||||||
|
|
||||||
static bool filter_func_scadenze(const TRelation* rel);
|
static bool filter_func_scadenze(const TRelation* rel);
|
||||||
|
|
||||||
@ -218,14 +220,22 @@ void TStampaScadenze::set_page(int file, int cnt)
|
|||||||
switch (_tipostampa)
|
switch (_tipostampa)
|
||||||
{
|
{
|
||||||
case etichette:
|
case etichette:
|
||||||
{
|
{
|
||||||
TPrint_section& corpo = _form_eti->get_body();
|
TPrint_section& corpo = _form_eti->get_body();
|
||||||
for (int r=1;r<=_etcolonne;r++)
|
for (int r=1;r<=_etcolonne;r++)
|
||||||
{
|
{
|
||||||
if (current_cursor()->pos()<current_cursor()->items())
|
if (current_cursor()->pos()<current_cursor()->items())
|
||||||
{
|
{
|
||||||
|
_netichette++;
|
||||||
force_setpage(TRUE);
|
force_setpage(TRUE);
|
||||||
corpo.update();
|
corpo.update();
|
||||||
|
int nriga = 1;
|
||||||
|
if (_etrighe > 0)
|
||||||
|
{
|
||||||
|
int resto = _netichette % (_etrighe*_etcolonne);
|
||||||
|
if (resto > 0 && resto <= _etcolonne)
|
||||||
|
nriga = nriga+_etbordoini;
|
||||||
|
}
|
||||||
for (word i = 0; i < corpo.height(); i++)
|
for (word i = 0; i < corpo.height(); i++)
|
||||||
{
|
{
|
||||||
TPrintrow& riga = corpo.row(i);
|
TPrintrow& riga = corpo.row(i);
|
||||||
@ -235,7 +245,7 @@ void TStampaScadenze::set_page(int file, int cnt)
|
|||||||
TString16 formato;
|
TString16 formato;
|
||||||
formato << '@' << colonna << "g";
|
formato << '@' << colonna << "g";
|
||||||
riga1.insert(formato,0);
|
riga1.insert(formato,0);
|
||||||
set_row(i+1,riga1);
|
set_row(nriga++,riga1);
|
||||||
}
|
}
|
||||||
if (r < _etcolonne)
|
if (r < _etcolonne)
|
||||||
++(*current_cursor());
|
++(*current_cursor());
|
||||||
@ -282,13 +292,23 @@ void TStampaScadenze::set_page(int file, int cnt)
|
|||||||
note.set(_note);
|
note.set(_note);
|
||||||
}
|
}
|
||||||
corpo.update();
|
corpo.update();
|
||||||
for (word i = 0; i < corpo.height(); i++)
|
word primariga = 0;
|
||||||
{
|
word ultimariga = corpo.height();
|
||||||
TPrintrow& riga = corpo.row(i);
|
if (_caxpag > 0)
|
||||||
set_row(i+1,riga);
|
{
|
||||||
|
if (_ncartoline % _caxpag == 0) // numero cartoline per pagina
|
||||||
|
primariga = _cabordoini; // bordo iniziale
|
||||||
|
if (_ncartoline % _caxpag == _caxpag-1) // numero cartoline per pagina - 1
|
||||||
|
ultimariga -= _cabordofin; // bordo finale
|
||||||
|
}
|
||||||
|
int nriga = 1;
|
||||||
|
for (word i = primariga; i < ultimariga; i++)
|
||||||
|
{
|
||||||
|
TPrintrow& riga = corpo.row(i);
|
||||||
|
set_row(nriga++,riga);
|
||||||
}
|
}
|
||||||
force_setpage(TRUE); // serve perchè alla prossima etichetta rifaccia la setpage
|
force_setpage(TRUE);
|
||||||
// altrimenti stampa sempre la stessa etichetta
|
_ncartoline++;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case elenco:
|
case elenco:
|
||||||
@ -571,7 +591,7 @@ bool TStampaScadenze::preprocess_page(int file, int counter)
|
|||||||
recsog.put(SOG_NUMCONV, 0);
|
recsog.put(SOG_NUMCONV, 0);
|
||||||
current_cursor()->file().rewrite();
|
current_cursor()->file().rewrite();
|
||||||
}
|
}
|
||||||
if (_tipostampa==etichette)
|
if (_tipostampa==etichette && _etrighe == 0)
|
||||||
if (printer().rows_left() < _form_eti->get_body().height())
|
if (printer().rows_left() < _form_eti->get_body().height())
|
||||||
printer().formfeed();
|
printer().formfeed();
|
||||||
if (_tipostampa==personale)
|
if (_tipostampa==personale)
|
||||||
@ -732,6 +752,8 @@ bool TStampaScadenze::set_print(int m)
|
|||||||
// filtro per categorie e altro
|
// filtro per categorie e altro
|
||||||
current_cursor()->set_filterfunction(filter_func_scadenze);
|
current_cursor()->set_filterfunction(filter_func_scadenze);
|
||||||
_contatore = 0;
|
_contatore = 0;
|
||||||
|
_netichette = 0;
|
||||||
|
_ncartoline = 0;
|
||||||
_totfinestampa = 0;
|
_totfinestampa = 0;
|
||||||
reset_print();
|
reset_print();
|
||||||
printer().footerlen(0);
|
printer().footerlen(0);
|
||||||
@ -841,11 +863,21 @@ bool TStampaScadenze::user_create()
|
|||||||
add_cursor(new TCursor(_rel, "", 3));
|
add_cursor(new TCursor(_rel, "", 3));
|
||||||
_msk = new TMask("at4100a");
|
_msk = new TMask("at4100a");
|
||||||
TConfig config(CONFIG_STUDIO);
|
TConfig config(CONFIG_STUDIO);
|
||||||
|
|
||||||
TString16 etformato = config.get("EtFormato");
|
TString16 etformato = config.get("EtFormato");
|
||||||
_etlarghezza = config.get_int("EtLarghezza");
|
_etlarghezza = config.get_int("EtLarghezza");
|
||||||
_etcolonne = config.get_int("EtColonne");
|
_etcolonne = config.get_int("EtColonne");
|
||||||
|
_etrighe = config.get_int("EtRighe");
|
||||||
|
_etbordoini = config.get_int("EtBordoIni");
|
||||||
|
_etbordofin = config.get_int("EtBordoFin");
|
||||||
_form_eti = new TScadenze_form(etformato);
|
_form_eti = new TScadenze_form(etformato);
|
||||||
_form_car = new TScadenze_form("ATCARTO1");
|
|
||||||
|
TString16 caformato = config.get("CaFormato");
|
||||||
|
_form_car = new TScadenze_form(caformato);
|
||||||
|
_caxpag = config.get_int("CaPerPag");
|
||||||
|
_cabordoini = config.get_int("CaBordoIni");
|
||||||
|
_cabordofin = config.get_int("CaBordoFin");
|
||||||
|
|
||||||
TString16 performato = config.get("ElencoFormato");
|
TString16 performato = config.get("ElencoFormato");
|
||||||
_form_per = new TScadenze_form(performato);
|
_form_per = new TScadenze_form(performato);
|
||||||
return TRUE;
|
return TRUE;
|
||||||
|
@ -44,7 +44,8 @@ class TStampaUrgenze : public TPrintapp
|
|||||||
TDate _data_stampa, _datalimite;
|
TDate _data_stampa, _datalimite;
|
||||||
ts _tipostampa;
|
ts _tipostampa;
|
||||||
TString16 _codsez, _codsot;
|
TString16 _codsez, _codsot;
|
||||||
int _etlarghezza, _etcolonne;
|
int _etlarghezza, _etcolonne, _etrighe, _etbordoini, _etbordofin, _netichette;
|
||||||
|
|
||||||
bool _unica;
|
bool _unica;
|
||||||
int _cur;
|
int _cur;
|
||||||
int _contatore, _totale;
|
int _contatore, _totale;
|
||||||
@ -98,14 +99,22 @@ void TStampaUrgenze::set_page(int file, int cnt)
|
|||||||
switch (_tipostampa)
|
switch (_tipostampa)
|
||||||
{
|
{
|
||||||
case etichette:
|
case etichette:
|
||||||
{
|
{
|
||||||
TPrint_section& corpo = _form_eti->get_body();
|
TPrint_section& corpo = _form_eti->get_body();
|
||||||
for (int r=1;r<=_etcolonne;r++)
|
for (int r=1;r<=_etcolonne;r++)
|
||||||
{
|
{
|
||||||
if (current_cursor()->pos()<current_cursor()->items())
|
if (current_cursor()->pos()<current_cursor()->items())
|
||||||
{
|
{
|
||||||
|
_netichette++;
|
||||||
force_setpage(TRUE);
|
force_setpage(TRUE);
|
||||||
corpo.update();
|
corpo.update();
|
||||||
|
int nriga = 1;
|
||||||
|
if (_etrighe > 0)
|
||||||
|
{
|
||||||
|
int resto = _netichette % (_etrighe*_etcolonne);
|
||||||
|
if (resto > 0 && resto <= _etcolonne)
|
||||||
|
nriga = nriga+_etbordoini;
|
||||||
|
}
|
||||||
for (word i = 0; i < corpo.height(); i++)
|
for (word i = 0; i < corpo.height(); i++)
|
||||||
{
|
{
|
||||||
TPrintrow& riga = corpo.row(i);
|
TPrintrow& riga = corpo.row(i);
|
||||||
@ -115,7 +124,7 @@ void TStampaUrgenze::set_page(int file, int cnt)
|
|||||||
TString16 formato;
|
TString16 formato;
|
||||||
formato << '@' << colonna << "g";
|
formato << '@' << colonna << "g";
|
||||||
riga1.insert(formato,0);
|
riga1.insert(formato,0);
|
||||||
set_row(i+1,riga1);
|
set_row(nriga++,riga1);
|
||||||
}
|
}
|
||||||
if (r < _etcolonne)
|
if (r < _etcolonne)
|
||||||
++(*current_cursor());
|
++(*current_cursor());
|
||||||
@ -276,7 +285,7 @@ bool TStampaUrgenze::preprocess_page(int file, int counter)
|
|||||||
if (printer().rows_left() < 2)
|
if (printer().rows_left() < 2)
|
||||||
printer().formfeed();
|
printer().formfeed();
|
||||||
}
|
}
|
||||||
if (_tipostampa==etichette)
|
if (_tipostampa==etichette && _etrighe == 0)
|
||||||
if (printer().rows_left() < _form_eti->get_body().height())
|
if (printer().rows_left() < _form_eti->get_body().height())
|
||||||
printer().formfeed();
|
printer().formfeed();
|
||||||
_contatore++;
|
_contatore++;
|
||||||
@ -417,6 +426,7 @@ bool TStampaUrgenze::set_print(int)
|
|||||||
_tipodon = _msk->get(F_TIPODON);
|
_tipodon = _msk->get(F_TIPODON);
|
||||||
_unica = _msk->get_bool(F_UNICA);
|
_unica = _msk->get_bool(F_UNICA);
|
||||||
_datalimite = _msk->get_date(F_DATALIMITE);
|
_datalimite = _msk->get_date(F_DATALIMITE);
|
||||||
|
_netichette = 0;
|
||||||
// filtro per sezioni
|
// filtro per sezioni
|
||||||
filtra_sezioni();
|
filtra_sezioni();
|
||||||
if (_unica)
|
if (_unica)
|
||||||
@ -471,9 +481,13 @@ bool TStampaUrgenze::user_create()
|
|||||||
add_cursor(new TSorted_cursor(_rel,"","",3));
|
add_cursor(new TSorted_cursor(_rel,"","",3));
|
||||||
_msk = new TMask("at4200a");
|
_msk = new TMask("at4200a");
|
||||||
TConfig config(CONFIG_STUDIO);
|
TConfig config(CONFIG_STUDIO);
|
||||||
|
|
||||||
TString16 etformato = config.get("EtFormato");
|
TString16 etformato = config.get("EtFormato");
|
||||||
_etlarghezza = config.get_int("EtLarghezza");
|
_etlarghezza = config.get_int("EtLarghezza");
|
||||||
_etcolonne = config.get_int("EtColonne");
|
_etcolonne = config.get_int("EtColonne");
|
||||||
|
_etrighe = config.get_int("EtRighe");
|
||||||
|
_etbordoini = config.get_int("EtBordoIni");
|
||||||
|
_etbordofin = config.get_int("EtBordoFin");
|
||||||
_form_eti = new TUrgenze_form(etformato);
|
_form_eti = new TUrgenze_form(etformato);
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
@ -56,6 +56,7 @@ class TStampaConvocazioni : public TPrintapp
|
|||||||
bool _definitiva;
|
bool _definitiva;
|
||||||
int _etlarghezza, _etcolonne;
|
int _etlarghezza, _etcolonne;
|
||||||
int _contatore, _totfinestampa;
|
int _contatore, _totfinestampa;
|
||||||
|
int _caxpag, _cabordoini, _cabordofin, _ncartoline;
|
||||||
bool _provastampa;
|
bool _provastampa;
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
@ -202,7 +203,8 @@ void TStampaConvocazioni::set_page(int file, int cnt)
|
|||||||
datacart.set(_datacart);
|
datacart.set(_datacart);
|
||||||
TForm_item& note = corpo.find_field(CAR_NOTE);
|
TForm_item& note = corpo.find_field(CAR_NOTE);
|
||||||
note.set(_note);
|
note.set(_note);
|
||||||
}
|
}
|
||||||
|
/*
|
||||||
corpo.update();
|
corpo.update();
|
||||||
for (word i = 0; i < corpo.height(); i++)
|
for (word i = 0; i < corpo.height(); i++)
|
||||||
{
|
{
|
||||||
@ -211,6 +213,25 @@ void TStampaConvocazioni::set_page(int file, int cnt)
|
|||||||
}
|
}
|
||||||
force_setpage(TRUE); // serve perchè alla prossima etichetta rifaccia la setpage
|
force_setpage(TRUE); // serve perchè alla prossima etichetta rifaccia la setpage
|
||||||
// altrimenti stampa sempre la stessa etichetta
|
// altrimenti stampa sempre la stessa etichetta
|
||||||
|
*/
|
||||||
|
corpo.update();
|
||||||
|
word primariga = 0;
|
||||||
|
word ultimariga = corpo.height();
|
||||||
|
if (_caxpag > 0)
|
||||||
|
{
|
||||||
|
if (_ncartoline % _caxpag == 0) // numero cartoline per pagina
|
||||||
|
primariga = _cabordoini; // bordo iniziale
|
||||||
|
if (_ncartoline % _caxpag == _caxpag-1) // numero cartoline per pagina - 1
|
||||||
|
ultimariga -= _cabordofin; // bordo finale
|
||||||
|
}
|
||||||
|
int nriga = 1;
|
||||||
|
for (word i = primariga; i < ultimariga; i++)
|
||||||
|
{
|
||||||
|
TPrintrow& riga = corpo.row(i);
|
||||||
|
set_row(nriga++,riga);
|
||||||
|
}
|
||||||
|
force_setpage(TRUE);
|
||||||
|
_ncartoline++;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case sms:
|
case sms:
|
||||||
@ -397,7 +418,11 @@ bool TStampaConvocazioni::preprocess_page(int file, int counter)
|
|||||||
if (_numconv > 4)
|
if (_numconv > 4)
|
||||||
{
|
{
|
||||||
if (_tipostampa==cartoline || _tipostampa==etichette || _tipostampa==elencocon)
|
if (_tipostampa==cartoline || _tipostampa==etichette || _tipostampa==elencocon)
|
||||||
|
{
|
||||||
|
if (_tipostampa==cartoline)
|
||||||
|
_ncartoline--;
|
||||||
return FALSE;
|
return FALSE;
|
||||||
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
_contatore++;
|
_contatore++;
|
||||||
@ -489,6 +514,7 @@ bool TStampaConvocazioni::set_print(int)
|
|||||||
_contatore = 0;
|
_contatore = 0;
|
||||||
_totfinestampa = 0;
|
_totfinestampa = 0;
|
||||||
_provastampa = TRUE;
|
_provastampa = TRUE;
|
||||||
|
_ncartoline = 0;
|
||||||
reset_files();
|
reset_files();
|
||||||
add_file(LF_SOGGETTI);
|
add_file(LF_SOGGETTI);
|
||||||
_dataconv = _msk->get(F_DATACONV);
|
_dataconv = _msk->get(F_DATACONV);
|
||||||
@ -558,7 +584,12 @@ bool TStampaConvocazioni::user_create()
|
|||||||
_etlarghezza = config.get_int("EtLarghezza");
|
_etlarghezza = config.get_int("EtLarghezza");
|
||||||
_etcolonne = config.get_int("EtColonne");
|
_etcolonne = config.get_int("EtColonne");
|
||||||
_form_eti = new TConv_form(etformato);
|
_form_eti = new TConv_form(etformato);
|
||||||
_form_car = new TConv_form("ATCARTO1");
|
|
||||||
|
TString16 caformato = config.get("CaFormato");
|
||||||
|
_form_car = new TConv_form(caformato);
|
||||||
|
_caxpag = config.get_int("CaPerPag");
|
||||||
|
_cabordoini = config.get_int("CaBordoIni");
|
||||||
|
_cabordofin = config.get_int("CaBordoFin");
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user