From 816fe9fddf6543f11ce6091bcf0dce090f48bdad Mon Sep 17 00:00:00 2001 From: cris Date: Wed, 3 Dec 2003 09:31:34 +0000 Subject: [PATCH] Patch level : 1.7 at Files correlati : at2.exe Ricompilazione Demo : [ ] Commento : stampa etichette su A4 git-svn-id: svn://10.65.10.50/trunk@11643 c028cbd2-c16b-5b4b-a496-9718f37d4682 --- at/at2700.cpp | 25 ++++++++++++++++++++----- 1 file changed, 20 insertions(+), 5 deletions(-) diff --git a/at/at2700.cpp b/at/at2700.cpp index f055a97da..27d28399c 100755 --- a/at/at2700.cpp +++ b/at/at2700.cpp @@ -87,7 +87,8 @@ class TStampaPerCategorie : public TPrintapp TString80 _invitoper, _data, _presso1, _presso2, _presso3, _presso4; TString80 _note, _intest1, _intest2, _intest3, _intest4; bool _usomodo, _usasez; - int _etlarghezza, _etcolonne, _schxpag, _lenpage, _etnlarghezza, _etncolonne; + int _schxpag, _lenpage, _etnlarghezza, _etncolonne; + int _etlarghezza, _etcolonne, _etrighe, _etbordoini, _etbordofin, _netichette; bool _stampa80, _etictot; protected: @@ -299,7 +300,15 @@ void TStampaPerCategorie::set_page(int file, int cnt) TForm_item& cognome = corpo.find_field(ETI_COGNOME); cognome.set(_cognome_nome); corpo.update(); - _contatore++; + _contatore++; + _netichette++; + 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++) { TPrintrow& riga = corpo.row(i); @@ -309,7 +318,7 @@ void TStampaPerCategorie::set_page(int file, int cnt) TString16 formato; formato << '@' << colonna << 'g'; riga1.insert(formato,0); - set_row(i+1,riga1); + set_row(nriga++,riga1); } if (r < _etcolonne) { @@ -705,7 +714,7 @@ bool TStampaPerCategorie::preprocess_page(int file, int counter) if (((_tipostampa==sintetico) && ((_stampa80 && printer().rows_left()<4) || (printer().rows_left()<3))) || (printer().rows_left()<6 && _tipostampa==completo)) printer().formfeed(); } - if (_tipostampa==etichette) + if (_tipostampa==etichette && _etrighe == 0) if (printer().rows_left() < _form_eti->get_body().height()) printer().formfeed(); if (_tipostampa==notiziario) @@ -908,7 +917,8 @@ bool TStampaPerCategorie::set_print(int m) _codsot = "**"; _gruppoold = "**"; _contatore = 0; - TString80 chiave = ""; + _netichette = 0; + TString256 chiave = ""; _pergruppo = _msk->get_bool(F_PERGRUPPO); _perfamiglie = _msk->get_bool(F_PERFAMIGLIE); _nosottogruppo = _msk->get_bool(F_NOSOTTOGRUPPO); @@ -1160,10 +1170,15 @@ bool TStampaPerCategorie::user_create() _msk = new TMask("at2700a"); _file = new TExternisamfile("$file"); TConfig config(CONFIG_STUDIO); + TString16 etformato = config.get("EtFormato"); _etlarghezza = config.get_int("EtLarghezza"); _etcolonne = config.get_int("EtColonne"); + _etrighe = config.get_int("EtRighe"); + _etbordoini = config.get_int("EtBordoIni"); + _etbordofin = config.get_int("EtBordoFin"); _form_eti = new TEti_percat_form(etformato); + TString16 etnformato = config.get("EtNFormato"); _etnlarghezza = config.get_int("EtNLarghezza"); _etncolonne = config.get_int("EtNColonne");