PDA

Ver la Versión Completa : CLIPPER, XP y el COM1:


KAYO
19-07-2007, 14:03:11
Espero q este hilo sea adecuado para formular mi pregunta (a pesar que es clipper, simpre encuentro respuestas en este foro).

En una aplicacion de delphi corriendo bajo Xp intento imprimir en el puerto serial, pero aparentemente Xp controla el COM1: y me sale errorer de PRINT I/O ERROR.

Lo estoy haciendo redireccionando la salida con

SET PRINTER TO COM1:
SET DEVICE TO PRINT

(aclaro que en windows95 y ME funciona perfectamente)

Agradeceria vuestra ayuda!!!!

KAYO
19-07-2007, 14:04:37
DISCULPADME!!! es una aplicacion en CLIPPER bajo XP

Enan0
19-07-2007, 14:21:55
Mira yo bajo clipper nunca hice nada.. pero con delphi y XP he tenido algun problemita al escribir directamente sobre el Puerto

Busca como hacerlo en el google o por ahi (perdon si estoy equibocado)

Ñuño Martínez
19-07-2007, 14:30:43
Un posible truco por si no encuentras nada, ya que es CLIPPER. Prueba a compilarlo para DOS y luego lo ejecutas dentro del simulador DOSBox (http://dosbox.sourceforge.net/news.php?show_news=1) u otro similar. No es garantía de que vaya a funcionar, pero a falta de pan...

[edit] Ahora recuerdo que XP tiene la posibilidad de definir la "compatibilidad". Marca con el botón secundario del ratón el archivo ejecutable, selecciona "Propiedades" y luego la lengüeta "compatibilidad". No es muy limpio, pero quizá te saque del apuro.

mamaro
19-07-2007, 16:06:27
Los windows NT, 2000, y XP (y me imagino que los más nuevos también) utilizan algo así como un "modo protegido" que no te permite escribir directamente el los puertos, los que sí pueden escribir son los drivers

..

:rolleyes: yo tube un problema similar (pero en Delphi), y lo terminé solucionando con una librería que se llama "IO.dll" que es libre y la puedes buscar por el google. Esta librería actúa cómo si se tratara de un driver, y tú te comunicas con ella ..... AHORA BIEN .... en Cliper .. NI IDEA :confused:

BlueSteel
19-07-2007, 16:17:08
yo tambien tube un problema muy similar.. con un sistema de impresion de cheques por el puerto COM1.... en Clipper me funciona de maravillas pero bajo win98... lo probe en XP y 2000 y no funco nunca... así que tube que realizar el sistema de nuevo (por suerte era cortito..jaja) pero usando Delphi 7...

marcoszorrilla
19-07-2007, 23:21:42
SET PRINTER TO \\FACTURACION\hplaser\LPT1

Prueba con esta sintáxis, Facturacion sería el nombe del equipo en la red, HpLaser el nombre de la impresora compartida y LPT1 sería COM1.

Si te funciona, ya nos contarás.

arainfor
04-01-2008, 11:23:51
Prueba con lo siguiente:

SET PRINTER TO C:\FICTEMP.PRN
SET DEVICE TO PRINT
SET PRINTER ON SET CONSOLE OFF
SETPRC(0,0)
? '... pero era un hombre valiente'
?? CHR(27)+CHR(112)+CHR(0)+CHR(20)+CHR(20)
?? CHR(27)+CHR(112)+CHR(0)+CHR(20)+CHR(20)
SET CONSOLE ON
SET PRINTER OFF
SET DEVICE TO SCREEN
SET PRINTER TO
panimp:=SAVESCREEN(0,0,24,79)
RUN PRINT /D:COM1 C:\FICTEMP.PRN
RESTSCREEN(0,0,24,79,panimp)


En lineas generales, lo que hace este código es redirigir la impresión a un fichero y luego enviarlo al comando 'PRINT' de Xp, a su vez direccionado al puerto COM1.
Debe imprimir el texto y luego abrir un cajón estandar a traves de una impresora de tickets.

Saludos

Espero q este hilo sea adecuado para formular mi pregunta (a pesar que es clipper, simpre encuentro respuestas en este foro).

En una aplicacion de delphi corriendo bajo Xp intento imprimir en el puerto serial, pero aparentemente Xp controla el COM1: y me sale errorer de PRINT I/O ERROR.

Lo estoy haciendo redireccionando la salida con

SET PRINTER TO COM1:
SET DEVICE TO PRINT

(aclaro que en windows95 y ME funciona perfectamente)

Agradeceria vuestra ayuda!!!!