[Lazarus-es] tickeadora serial: no hace eject en split

Paola Bruccoleri pbruccoleri en adinet.com.uy
Mie Ago 14 01:57:38 CEST 2013


Hola todos..

Estoy definiendo una impresión en una impresora epson serial. (tmu-950)
Ya lo he hecho antes, imprimiendo en el ticket y en el testigo y todo ok.
Hoy debo hacer otra impresión para que salga en el split (o sea la 
bandejita donde se coloca el papel a mano)

La rutina es esta..

   Printer.RawMode := True;
   Printer.BeginDoc;

   // impresion en split
ImprimirCodigoEsc(chr(27)+'@'+CHR(27)+'c0'+chr(4)+chr(27)+'!'+chr(1)+chr(27)+'2');

   nPorcIva:= 0.0;
   nTotal:= 0.0;

   qry.First;
   While not qry.EOF do
     begin
       sCant:= AlineaDer(qry.FieldByName('cantidad').AsString, 6);
       sDesc:= 
AlineaIzq(UTF8ToCP850(qry.FieldByName('descripcion').AsString), 17);
       sPrecio:= 
AlineaDer(Format('%n',[qry.FieldByName('total').AsFloat]),10);
       nPorcIva:= qry.FieldByName('porciva').AsFloat;  // me quedo con 
el ult iva xq son todos iguales

       ImprimirCadenaRaw(sCant+' '+sDesc+'      '+sPrecio);
       nTotal += qry.FieldByName('total').asFloat;

       qry.Next;
     end;
   qry.Close;

   nNeto:= nTotal / (1+nPorcIva/100);

   ImprimirCadenaRaw(' ');
   ImprimirCadenaRaw(AlineaIzq('Neto s/impuestos: ',30) + 
AlineaDer(Format('%n',[nNeto]),10));
   ImprimirCadenaRaw(AlineaIzq('IVA: ',30)+ 
AlineaDer(Format('%n',[nTotal - nNeto]),10));
   ImprimirCadenaRaw(AlineaIzq('TOTAL: ',30)+ 
AlineaDer(Format('%n',[nTotal]),10));

   ImprimirCadenaRaw(' ');

   Printer.EndDoc;
   Printer.RawMode := false;


La impresión sale por el split, pero NO hace un EJECT con el Enddoc, y 
si no presiono los botoncitos de form feed no sale el papel.
Eso no sería tanto problema, perooo si imprimo inmediatamente después.. 
la impresión no sale; queda con la impresora la luz de error. Si la 
apago/prendo si imprime sin problemas.

Ya no se que probar....
agradezco cq sugerencia!

(en clipper tenía la misma rutina y salía el papel con la instrucción EJECT)
byeeeeeeeeeeee







More information about the Lazarus-es mailing list