diff --git a/cg/cg3400.cpp b/cg/cg3400.cpp index 7feabb817..5590676fe 100755 --- a/cg/cg3400.cpp +++ b/cg/cg3400.cpp @@ -519,7 +519,7 @@ void CG3400_application::preprocess_footer() TString progr_dare(25), progr_avere(25), dts(25), ats(25); TString256 riga; bool ap = FALSE; - int r=2; + int r=1; // was 2 const int STUMB = 42; real dt, at; @@ -555,7 +555,8 @@ void CG3400_application::preprocess_footer() riga.format ("@b@%dg%s@%dg%c %s @%dg%c @%dg%s", _stampa_width == 132 ? SCRITTA : DARE198-STUMB, - (_nuovo_mese && !_forza_ariportare) ? "Totale progressivi generali " : "A riportare ", +// (_nuovo_mese && !_forza_ariportare) ? "Totale progressivi generali " : "A riportare ", + "A riportare ", _stampa_width == 132 ? TOTDARE132 : DARE198, 'D', (const char *) dts, @@ -887,15 +888,19 @@ void CG3400_application::fill_page(int start_riga, int righe_iva_settate) const TPrinter& p = printer(); TString256 rigas; - int rrr = start_riga; - int rows_left = p.rows_left(); - if (rows_left <= 0) + int rrr = start_riga + righe_iva_settate + 1; +// int rows_left = p.rows_left(); +/* if (rows_left <= 0) { rows_left = p.formlen() - (p.headersize()+1) - p.footersize(); _forza_ariportare = TRUE; } - int r_l = rows_left - start_riga - righe_iva_settate; - +*/ + int r_l = p.rows_left() - start_riga - righe_iva_settate; + + if (r_l < 0) + r_l += p.formlen() - (p.headersize()/*+1*/) - p.footersize(); + // Se sono rimaste righe da riempire if (r_l > 0) { @@ -905,6 +910,7 @@ void CG3400_application::fill_page(int start_riga, int righe_iva_settate) int j=0; // Calcola una specie di coefficiente angolare int alfa = (_stampa_width - 6) / r_l; + r_l--; for ( ; r_l > 0; r_l--) // Non stampare sulla riga orizzontale! { @@ -974,7 +980,7 @@ print_action CG3400_application::postprocess_page(int file, int counter) // Nella stampa su bollato metto un segno su tutte le righe if (_stampa_definitiva) - fill_page(righe, righe_iva_settate); + fill_page(righe - 1, righe_iva_settate); } return REPEAT_PAGE; }