PDA

Ver la Versión Completa : Impresión lenta en Printer.Canvas


JOMABRI
29-06-2004, 21:33:07
Hola de nuevo amigos,

Estoy imprimiendo con printer.canvas en una impresora de punto. La impresion es lenta y quiero que se imprima rapido. Tengo el siguiente codigo para que por favor me indiquen si hay algo malo o le falta una instruccion.

Printer.Canvas.Font.Style:=[];
Printer.Canvas.Font.Size:=10;
Printer.Canvas.Font.Name:='draft';
Printer.Canvas.TextOut(0,0,'hoa mundo');


Muchas gracias.

delphi.com.ar
29-06-2004, 22:02:20
Si quieres una impresión veloz, aunque no muy "coqueta", te recomiendo buscar en el foro información de como escribir directamente en el puerto.
Por otro lado, te recomiendo ver del libro de Marteens (http://www.classiquecentral.com/dsd4.zip) que explica como "Enviar códigos binarios a la impresora" con quickreports.

Saludos!

Paoti
30-06-2004, 04:57:49
hola...

ahi te va un ejemplod de como imprimir directamente en el puerto de la impresora


var
f : textFile;
ruta, cod, des, can, tot : String;
begin
AssignFile(f,'lpt1');
try
write( f );
writeln(F, 'codigo,descripcion,cantidad,total');
consul.First;
while not consul.eof do
begin
cod := tabla.fieldbyname('Codprov').AsString;
des := tabla.fieldbyname('descripcion').AsString;
can := consul.fieldbyname('cantidad').AsString;
tot := consul.fieldbyname('total').AsString;
writeln(f, cod + ',' + des + ',' + can + ',' + tot);
consul.Next;
end;
finally
CloseFile( f );
Eti.caption := eti.caption + ' Finalizado....!';
end; // del try
end;



la pista es declarar la variable Textfile, abrir tu archivo (que en realidad es el puerto lpt1, y mandar tu informacion, y es super rapido....


que estes bien

JOMABRI
30-06-2004, 14:13:13
Muchas gracias, voy a probar imprimiendo en el puerto.

Saludos.