[Lazarus-es] imprimir tickeadora: ticket y testigo
Paola Bruccoleri
pbruccoleri en adinet.com.uy
Jue Sep 27 17:50:47 CEST 2012
Hola nuevamente..
debo imprimir una factura en una tickeadora (no fiscal) epson TMu-950,
tanto en el ticket como en el testigo (el rollito que queda como duplicado).
Actualmente lo hago desde otro lenguaje de esta manera: (el testigo se
imprime a partir de la columna 40)
antes debo mandar estos caracteres de control para habilitar la
impresión en los 2 rollos:
// impresion dual en ticket/testigo
@ 0,0 say chr(27)+"@"+CHR(27)+"c0"+chr(3)+chr(27)+"!"+chr(1)
@0,0 say PADC(alltrim(i_razon),38) // impresión en ticket
@0,42 say PADC(alltrim(i_razon),38) // impresión en testigo
@1,0 say PADC(alltrim(i_dir),38)
@1,42 say PADC(alltrim(i_dir),38)
@2,0 say PADC(alltrim(i_emp),38)
@2,42 say PADC(alltrim(i_emp),38)
@3,0 say PADC('RUC:'+alltrim(i_ruc),38)
@3,42 say PADC('RUC:'+alltrim(i_ruc),38)
@4,0 say PADC('IVA AL DIA: Resol. DGI 335/82',38)
@4,42 say PADC('IVA AL DIA: Resol. DGI 335/82',38)
----
etc...
acá en lazarus, tengo las funciones ImprimirCodigoEsc e
ImprimirCadenaRaw (funciones creo que de Claudio) donde:
ImprimirCodigoEsc(chr(27)+"@"+CHR(27)+"c0"+chr(3)+chr(27)+"!"+chr(1));
luego pensaba imprimir cada renglón:
ImprimirCadenaRaw('RAZON SOCIAL' );
pero tendré que armar a mano la cadena de 40 más la otra de 40 seguido a
mano para poder imprimir en los 2?
alguien usa alguna otra forma?
ideas??
mil gracias nuevamente!
//----------------------------------------------------------------------------
procedure ImprimirCadenaRaw(S:String);
//----------------------------------------------------------------------------
const Kenter=CHR(13)+CHR(10);
var Written: Integer;
begin
Written:=0;
S:=S+Kenter;
Printer.Write(S[1], Length(S), Written);
end;
//----------------------------------------------------------------------------
procedure ImprimirCodigoEsc(S:String);
//----------------------------------------------------------------------------
var Written: Integer;
begin
Written:=0;
Printer.Write(S[1], Length(S), Written);
end;
More information about the Lazarus-es
mailing list