Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros entornos y lenguajes > C++ Builder
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 20-08-2007
krlosrp krlosrp is offline
Miembro
 
Registrado: ago 2007
Posts: 18
Poder: 0
krlosrp Va por buen camino
Impresión directa al puerto COM se detiene en linea 30...

Hola amigos, tengo una impresora Epson TMU-210 con coneccion al puerto serial que usa el puerto COM1, a ella envio lineas de texto directamente al puerto com, usando C++ Builder 6 (S.O. Windows 2000) con el sgte código:

FILE *fp = fopen("COM1:", "w");
for(DM1->pgQ_Ventas_Det->First();!DM1->pgQ_Ventas_Det->Eof;DM1->pgQ_Ventas_Det->Next()){
....
//------- Imprimir en una linea cantidad, descripion y precio
fprintf(fp,"%4.4s %-29.29s %5.6s\n",v_cant,v_desc,v_pu);
}
//----Corte de papel.
fputc(char(27), fp);
fputc('m', fp);
fclose(fp);

Todo Ok, pero cuando son mas de 30 lineas se detiene la impresión en la linea 30 y las demas se pierden, he probado con otros tipos de componentes (CPortLib) y pasa los mismo .

¡Gracias!.
Responder Con Cita
  #2  
Antiguo 20-08-2007
Avatar de jachguate
jachguate jachguate is offline
Miembro
 
Registrado: may 2003
Ubicación: Guatemala
Posts: 6.254
Poder: 28
jachguate Va por buen camino
¿por que estas seguro que no es un problema de hardware?
__________________
Juan Antonio Castillo Hernández (jachguate)
Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate
Responder Con Cita
  #3  
Antiguo 20-08-2007
krlosrp krlosrp is offline
Miembro
 
Registrado: ago 2007
Posts: 18
Poder: 0
krlosrp Va por buen camino
Porque he probado en mas de 10 ordenadores distintos con distintas impresoras del mismo modelo, (en las Samsung Bixolon que usan el puerto LPT no hay problemas).
Responder Con Cita
  #4  
Antiguo 20-08-2007
Avatar de jachguate
jachguate jachguate is offline
Miembro
 
Registrado: may 2003
Ubicación: Guatemala
Posts: 6.254
Poder: 28
jachguate Va por buen camino
Cita:
Empezado por krlosrp Ver Mensaje
Porque he probado en mas de 10 ordenadores distintos con distintas impresoras del mismo modelo, (en las Samsung Bixolon que usan el puerto LPT no hay problemas).
una razón mas para confirmar que puede ser el hardware... quizas el modelo de impresora no soporte imprimir mas de 30 líneas..

Se me ocurre... crear un archivo de texto

Código:
linea 1
linea 2
.
.
.
linea 30
linea 31
linea 32
linea 33
y luego en una consola (cmd):

Código:
copy archivo.txt com1
¿imprime las 33 líneas?

Saludos.
__________________
Juan Antonio Castillo Hernández (jachguate)
Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate
Responder Con Cita
  #5  
Antiguo 21-08-2007
[FGarcia] FGarcia is offline
Miembro Premium
 
Registrado: sep 2005
Ubicación: Cordoba, Veracruz, México
Posts: 1.123
Poder: 21
FGarcia Va por buen camino
Hola!

Estas impresoras en la parte baja tienen un conjunto de DIP-Switch en los cuales puedes definir el tamaño del buffer (creo que solo hay dos tamaños) cuando he tenido de usarlas siempre uso el buffer mas pequeño para que imprima inmediatamente. Por otro lado si la cantidad de datos a imprimir es demasiado debera de usar las lineas de control (DTR -CTS) para controlar via hardware o usa los codigos Xon -Xoff para controlar via software con estos generalmente no hay necesidad de programar nada ya que tu libreria de comunicaciones se hace cargo. Con la lineas de control tal vez tengas que hacer algo de programacion.

Si fabricas el cable usa estas conexiones:
DB9 PC DB25 Impresora
RX 2<-----------2 TX (La impresora nunca va a enviar nada)
TX 3----------->3 RX
DTR 4-------------6 DST
DSR 6-------------20 DTR
RTS 7-------------5 CTS
CTS 8-------------4 RTS
Gnd 5-------------7 Gnd

Última edición por FGarcia fecha: 21-08-2007 a las 00:22:50. Razón: Conexiones de cable
Responder Con Cita
  #6  
Antiguo 28-08-2007
krlosrp krlosrp is offline
Miembro
 
Registrado: ago 2007
Posts: 18
Poder: 0
krlosrp Va por buen camino
Muchas gracias!

Probe con todo pero no funcionó, asi es que ahora se imprime una linea y cierra el puerto y asi cada linea que se envia, hasta ahora funciona.

¡Gracias a todos!










Cita:
Empezado por FGarcia Ver Mensaje
Hola!

Estas impresoras en la parte baja tienen un conjunto de DIP-Switch en los cuales puedes definir el tamaño del buffer (creo que solo hay dos tamaños) cuando he tenido de usarlas siempre uso el buffer mas pequeño para que imprima inmediatamente. Por otro lado si la cantidad de datos a imprimir es demasiado debera de usar las lineas de control (DTR -CTS) para controlar via hardware o usa los codigos Xon -Xoff para controlar via software con estos generalmente no hay necesidad de programar nada ya que tu libreria de comunicaciones se hace cargo. Con la lineas de control tal vez tengas que hacer algo de programacion.

Si fabricas el cable usa estas conexiones:
DB9 PC DB25 Impresora
RX 2<-----------2 TX (La impresora nunca va a enviar nada)
TX 3----------->3 RX
DTR 4-------------6 DST
DSR 6-------------20 DTR
RTS 7-------------5 CTS
CTS 8-------------4 RTS
Gnd 5-------------7 Gnd
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
Impresion con Canvas y Directa al Puerto lroblesco Impresión 0 23-03-2005 03:07:06
Alinear a la derecha en impresion directa a puerto ctronx Impresión 8 22-09-2004 17:20:28
Dudas con Impresion Directa a Puerto rogeriobeltran Impresión 5 05-08-2004 17:37:17
Impresión directa en puerto COM altp Impresión 10 22-05-2004 18:26:03
Impresión directa en puerto USB guillotmarc Impresión 2 22-05-2004 13:05:08


La franja horaria es GMT +2. Ahora son las 01:46:47.


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