La Web del Programador: Comunidad de Programadores
 
    Pregunta:  53225 - IMPRESIóN DIRECTA EN APLICACIóN CLIPPER BAJO XP
Autor:  Edmundo Le-Fort
Hola, tengo una aplicación Clipper para facturación, la cual funciona perfectamente en DOS, Windows 95, 98 y 98 SE.

Al implementarla en XP, la impresión de una factura no es total y continua como en las otras plataformas, sino que imprime la mitad o más de la Factura, luego de lo cual se produce una pausa bastante larga, 10 a 20 segundos, para luego terminar la impresión. Esto sucede a menos que el usuario salga completamente de la aplicación, en cuyo caso la impresión es continua. Necesito resolver esto a la brevedad, ya que el sistema es complejísimo y no es reemplazable en el corto plazo, a pesar que más adelante se migrará a un ERP.

  Respuesta:  Gabriel Ordoñez
tienes que modificar el registro.
inicio-ejecutar-regedit
HKEY_LOCAL_MACHINE
HKEY_LOCAL_MACHINE\SYSTEM
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\WOW
LPT_timeout esta en 15, cambiar a 1
y listo
imprime corrido sin problemas.

  Respuesta:  mario gomez
la solucion a este problema se logra realizando lo siguiente

al activar la impresora

set device to print
set printer to "lpt1"

aqui escribes las instruccion de imprimir como

@prow()+1,1 say "ccccccccccccccccccccccccccccc"

al terminar todo

set printer to
set device to screen

con el set printer to se cierra el proceso e inmediatamente va a imprimir, de lo contrarrio esta en espera porque no se cierra es por eso al salir se imprime por que se cierran los archivos.

atte.

  Respuesta:  adaptoide adaptoide
Que tal Mundus, yo tambien tenia ese problema en Clipper 5.2, con las facturas y cualquier reporte y probe varios programas, pero el que me resulto el mejor de todos es el No2imp, checa lo que hace :

Por medio de este programa podra enviar archivos tipo TXT (texto)
a impresoras que no impriman en DOS (como la Canon BJC-1000,BJC-2100, etc...) esto tambien ayuda a realizar impresiones a traves de la red local, con solo escojer la impresora requerida. evitando asi la molesta captura de puertos.
o para imprimir en impresoras con puerto USB.

Es fantastico. Solo tienes que agregar algunas lineas de codigo, (a lo mucho 5, y eso es mucho). Si no lo puedes localizar contactame. Saludos desde Mexico.

  Respuesta:  Edmundo Le-Fort R.
Gracias por el consejo, sin embargo encontré la explicación y la solución (no me quedaba otra opción). Se las explico a continuación por si les sucede

En XP se usa una cola de impresión SIEMPRE y ésta trae definido un timeout, en 15 segundos. Esto quiere decir que la cola espera 15 segundos y si no ha entrado más impresión, se da por concluida. Esto se corrige buscando en el registro de windows la entrada lpt_timeout, llevando el valor de éste al que el usuario estime conveniente, por ejemplo a 1.

  Respuesta:  Wilder Castillo Sánchez
Yo envio el reporte a un archivo PRN
luego lo envio a la Impresora, y despues elimino el archivo PRN

Ejemplo:

SET PRINTER TO REPORTE
SET DEVI TO PRIN

@ 1,1 SAY "MI NOMBRE ES WILDER Y SOY DE LIMA-PERU"

SET DEVI TO SCRE
SET PRINTER TO

RUN TYPE REPORTE.PRN > PRN
RUN DEL REPORTE.PRN

ESPERO TE SEA DE UTILIDAD, CUALQUIER OTRA CONSULTA ME AVISAS

SALUDOS