Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Impresión
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 18-05-2012
dfarias dfarias is offline
Miembro
 
Registrado: abr 2007
Posts: 79
Poder: 18
dfarias Va por buen camino
Tamaño del buffer en impresoras de ticket

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.
Código Delphi [-]
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;

Última edición por Casimiro Notevi fecha: 18-05-2012 a las 10:41:31.
Responder Con Cita
  #2  
Antiguo 18-05-2012
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is online now
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.040
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
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.
Responder Con Cita
  #3  
Antiguo 18-05-2012
Avatar de duilioisola
[duilioisola] duilioisola is offline
Miembro Premium
 
Registrado: ago 2007
Ubicación: Barcelona, España
Posts: 1.734
Poder: 20
duilioisola Es un diamante en brutoduilioisola Es un diamante en brutoduilioisola Es un diamante en bruto
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:
Código Delphi [-]
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;
Responder Con Cita
  #4  
Antiguo 18-05-2012
Avatar de newtron
[newtron] newtron is offline
Membrillo Premium
 
Registrado: abr 2007
Ubicación: Motril, Granada
Posts: 3.462
Poder: 21
newtron Va camino a la fama
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
__________________
Be water my friend.
Responder Con Cita
  #5  
Antiguo 18-05-2012
dfarias dfarias is offline
Miembro
 
Registrado: abr 2007
Posts: 79
Poder: 18
dfarias Va por buen camino
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.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Editar un buffer JoseFco OOP 42 13-10-2008 16:17:00
ERROR:ShLink.GetPath(Buffer, Sizeof(Buffer), Data, SLGP_UNCPRIORITY) Mav Varios 2 26-05-2008 21:31:49
¿Cómo puedo saber el tamaño que debo asignar al buffer? MON___ API de Windows 5 02-02-2008 22:08:02
Cambiar Tamaño de Hoja en Impresoras Epson lx300+ Elior Impresión 2 25-02-2007 22:05:50


La franja horaria es GMT +2. Ahora son las 11:05:31.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi