Modificata apertura del device di posizionamento: ogni volta che
esegue una scrittura esegue anche una fclose(). git-svn-id: svn://10.65.10.50/trunk@2108 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
7257ae9ee5
commit
f419e77bad
@ -2322,12 +2322,12 @@ void TForm::arrange_form()
|
|||||||
// font di default della stampante (tipicamente 10 cpi). Accade pero' (con la generica
|
// font di default della stampante (tipicamente 10 cpi). Accade pero' (con la generica
|
||||||
// solo testo) che rimanga settato l'ultimo font, di conseguenza quando si effettua una
|
// solo testo) che rimanga settato l'ultimo font, di conseguenza quando si effettua una
|
||||||
// seconda stampa con posizionamento, stampera' tali caratteri in 17"!!!! Per questo
|
// seconda stampa con posizionamento, stampera' tali caratteri in 17"!!!! Per questo
|
||||||
// motivo e' necessario settare a 17 cpi, almeno la prima volta, la stampante!.
|
// motivo e' necessario settare a 17 cpi, almeno la prima volta, la stampante!.
|
||||||
// Quindi, per ovviare a tutto cio, visto che TForm::arange_form() ha senso solo su
|
// Quindi, per ovviare a tutto cio, visto che TForm::arange_form() ha senso solo su
|
||||||
// stampanti ad aghi, che le stampanti ad aghi possono andare in emulazione EPSON o IBM,
|
// stampanti ad aghi, che le stampanti ad aghi possono andare in emulazione EPSON o IBM,
|
||||||
// che il codice per settare il font draft 17cpi e' lo stesso sia per EPSON che IBM
|
// che il codice per settare il font draft 17cpi e' lo stesso sia per EPSON che IBM
|
||||||
// CHR(15), allora prima del posizionamento scrivo il chr(15) sulla stampante!
|
// CHR(15), allora prima del posizionamento scrivo il chr(15) sulla stampante!
|
||||||
int i, x;
|
int i, x;
|
||||||
TString str_pos;
|
TString str_pos;
|
||||||
if (lpt == NULL) fatal_box("Non rieso ad aprire il device %s.",device);
|
if (lpt == NULL) fatal_box("Non rieso ad aprire il device %s.",device);
|
||||||
TMask m("ba2100c");
|
TMask m("ba2100c");
|
||||||
@ -2337,6 +2337,7 @@ void TForm::arrange_form()
|
|||||||
for (i=1; i < _ipy; i++) str_pos << "\n";
|
for (i=1; i < _ipy; i++) str_pos << "\n";
|
||||||
fprintf(lpt,"%s",(const char*) str_pos);
|
fprintf(lpt,"%s",(const char*) str_pos);
|
||||||
fflush(lpt); // Salta le righe...
|
fflush(lpt); // Salta le righe...
|
||||||
|
fclose(lpt);
|
||||||
str_pos.cut(0); //Azzera la stringa di posizionamento
|
str_pos.cut(0); //Azzera la stringa di posizionamento
|
||||||
for (i=1; i < _ipx; i++) str_pos << " "; //Aggiunge gli spazi necessari...
|
for (i=1; i < _ipx; i++) str_pos << " "; //Aggiunge gli spazi necessari...
|
||||||
if (_ipx > 0 && _ipy > 0)
|
if (_ipx > 0 && _ipy > 0)
|
||||||
@ -2345,16 +2346,21 @@ void TForm::arrange_form()
|
|||||||
for (i=1; i < x; i++) str_pos << " ";
|
for (i=1; i < x; i++) str_pos << " ";
|
||||||
if (_fpx > 0)
|
if (_fpx > 0)
|
||||||
str_pos << _char_to_pos; // aggiunge il secondo carattere di posizionamento
|
str_pos << _char_to_pos; // aggiunge il secondo carattere di posizionamento
|
||||||
TString bspc; bspc.fill('\b',str_pos.len()); // Questi sevono per tornare indietro...
|
TString bspc; bspc.fill('\b',str_pos.len()); // Questi servono per tornare indietro...
|
||||||
do
|
do
|
||||||
{
|
{
|
||||||
|
lpt = fopen(device,"w");
|
||||||
|
if (lpt == NULL) fatal_box("Non rieso ad aprire il device %s.",device);
|
||||||
fprintf(lpt,"%s",(const char*) bspc);
|
fprintf(lpt,"%s",(const char*) bspc);
|
||||||
fprintf(lpt,"%s",(const char*) str_pos);
|
fprintf(lpt,"%s\r",(const char*) str_pos);
|
||||||
fflush(lpt);
|
fflush(lpt);
|
||||||
|
fclose(lpt);
|
||||||
} while (m.run() == K_ESC); // cicla sulla stampa posizionamento...
|
} while (m.run() == K_ESC); // cicla sulla stampa posizionamento...
|
||||||
const int h = height(odd_page);
|
const int h = height(odd_page);
|
||||||
str_pos.cut(0);
|
str_pos.cut(0);
|
||||||
for (i=0; i <= h; i++) str_pos << "\n";
|
for (i=0; i <= h; i++) str_pos << "\n";
|
||||||
|
lpt = fopen(device,"w");
|
||||||
|
if (lpt == NULL) fatal_box("Non rieso ad aprire il device %s.",device);
|
||||||
fprintf(lpt, "%s", (const char*) str_pos); // Salta tante righe quanto e' lungo il form standard
|
fprintf(lpt, "%s", (const char*) str_pos); // Salta tante righe quanto e' lungo il form standard
|
||||||
fclose (lpt);
|
fclose (lpt);
|
||||||
#if XVT_OS != XVT_OS_WIN
|
#if XVT_OS != XVT_OS_WIN
|
||||||
|
Loading…
x
Reference in New Issue
Block a user