[Lazarus-es] imprimir tickeadora: ticket y testigo

Paola Bruccoleri pbruccoleri en adinet.com.uy
Jue Sep 27 20:12:27 CEST 2012


El 27/09/2012 02:52 p.m., Maxi escribió:
> El día 27 de septiembre de 2012 12:50, Paola Bruccoleri
> <pbruccoleri en adinet.com.uy>  escribió:
>> 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;
>>
>>
>>
>> _______________________________________________
>> Lazarus-es mailing list
>> Lazarus-es en lists.lazarus.freepascal.org
>> http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es
> Fox o Clipper?
clipper (pero en harbour es lo mismo..)
imprimir es muy sencillo; solo indicas fila/col y ya está.. nada de 
andar armando cadenas de caracteres!





More information about the Lazarus-es mailing list