PDA

Ver la Versión Completa : Tamaño del buffer en impresoras de ticket


dfarias
18-05-2012, 10:04:25
Al finalizar la venta en el tpv al querer sacar las estadisticas de productos vendedido sin son demasiados no sale completo el listado en la impresora. Esto sucede con impresoras de menor calidad que poseen un tamaño de buffer menor. Existe alguna forma de poder gestionar esto desde la aplicacion.

La funcion siguiente es la que utilizo y funciona correctamente en muchas impresoras.

var
Archivo: TextFile;
begin
AssignFile(Archivo, '\\pc\impresora');
Rewrite(Archivo);
while not qry.eof do
begin
writeln(Archivo,qry.fieldbyname('Linea').asstring);
qry.netx;
end;
CloseFile(Archivo);
end;

Casimiro Notevi
18-05-2012, 10:52:50
Si no sale completo el listado no es porque sea de poca calidad la impresora o tenga un buffer pequeño, más bien deberías mirar la configuración de la misma, los controladores usados, etc.
Yo he usado impresoras de ese tipo, buenas y malas, desde hace 27 años, y te aseguro que las impresoras en aquella época tenían poco buffer, algunas no tenían :)
Y por ese motivo no tiene que cortarse un listado.

duilioisola
18-05-2012, 13:15:03
Yo miraría la configuración del tamaño de página, corte de papel, etc.
Si fuera por el tamaño del buffer, entonces bastaría con poner una pausa después de imprimir cada línea...
algo asi:

var
Archivo: TextFile;
begin
AssignFile(Archivo, '\\pc\impresora');
Rewrite(Archivo);
while not qry.eof do
begin
writeln(Archivo,qry.fieldbyname('Linea').asstring);
qry.netx;
// esperar medio segundo
// lo que imprimiría dos lineas por segundo
sleep(500);
end;
CloseFile(Archivo);
end;

newtron
18-05-2012, 13:59:44
Pues a mi si que me suena que pueda ser un problema de buffer. Es más, quiero recordar que había algunas impresoras que en msdos como les enviaras mucha información de golpe daba error de impresión y había que meterles una instrucción MODE con el parámetro /R para que reintentara imprimir sin errores.

De todas formas con el apunte del amigo duilioisola si es eso debería de solucionarse.

Saludos

dfarias
18-05-2012, 16:44:40
Gracias colegas por vuestras respuestas. El controlador que estoy usando es el generico de windows, quizas el problema sea porque es W7?. Investigare por ese lado entonces si no creen que sea problema del buffer.