[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