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;