[Lazarus-es] imprimir tickeadora: ticket y testigo

José Mejuto joshyfun en gmail.com
Lun Oct 1 21:35:07 CEST 2012


El 01/10/2012 20:14, Paola Bruccoleri escribió:

>> Pues que básicamente imprimes como si fuera en pantalla, sin tener que
>> rellenar con espacios, pudiendo imprimir la linea 1, luego la 3, luego
>> la 2, etc... Una vez que está todo el report completo, se imprime de un
>> golpe todo.
>>
> si, está buena la idea..
>
> pero
> t: TTickadora;
>
> TTIckadora sería un stringlist o qué? porque debería aceptar el método
> write..
> a no ser que tenga q definir toda la clase ttickadora haciendo esos
> métodos tal como los hago ahora, rellenando a mano!
>

Hola,

Sería una clase nueva, que dentro almacena las órdenes de impresión bien 
en un TStringList o bien como órdenes de escritura, aunque TStringList 
sería más cómodo probablemente y luego un par de métodos para escribir 
en unas coordenadas dadas, y otro que imprima o devuelva un TStringList 
con las lineas a imprimir. Si hay que hacer un duplicado por ejemplo, 
simplemente con ponerle otro método que duplique a la derecha o abajo, 
ya está.

Si hubiese que partir el papel con un ESC command, se podría hacer:

Tickadora.Print;
Printer.print ESCCommandsCutPaper
Tickadora.Print;
Printer.print ESCCommandsCutPaper

Por ejemplo. Básicamente guardaría una copia en memoría de lo que se 
iría viendo en la tickadora para poder imprimirlo todo junto al final.

Por supuesto debería ser ANSI, ya que los UTF8 ocupan a veces 2 o 3 
bytes y si no está preparada la clase, puede pasar cosas raras.







More information about the Lazarus-es mailing list