Abrir puertos de comunicación en Visual Fox pro

Hola, me pueden ayudar, como abrir el puerto lpt1: o COM1: desde visual foxpro 6.0
He intentado con Fopen() pero no logro abrir el puerto, esto con el fin de lee un SENTINEL que esta conectado a alguno de estos puertos.
Por su ayuda gracias

1 respuesta

Respuesta
1
Prueba con este código:
nPuerto = FOPEN("Com3",12)
IF nPuerto < 0 && Comprobar si hay error al abrir el Puerto
WAIT WIND 'Imposible abrir el Puerto de Comunicacion'
=FCLOSE(nPuerto) && Cierra el puerto.
RETURN .F.
ELSE && Si no hay error, Leer el Puerto
gnEnd = FSEEK(nPuerto, 0, 2) && Mueve el puntero a EOF.
gnTop = FSEEK(nPuerto, 0) && Mueve el puntero a BOF.
IF gnEnd <= 0 && ¿Está vacío el archivo?
WAIT WINDOW 'Este archivo está vacío!' TIMEOUT 4
= FCLOSE(nPuerto) && Cierra el puerto.
Return .F.
ELSE && De lo contrario,
gcString = FGETS(nPuerto, gnEnd) && guarda el contenido.
= FCLOSE(nPuerto) && Cierra el puerto.
WAIT WIND gcString
ENDIF
EndIf
Hola, muchas gracias por atender mi llamado.
Te cuento que esta función es la que estoy utilizando pero siempre me retorna -1, en un manual de Fox 2.6 dice que Visual Fox no puede trabajar puertos si es para Windows solo si es para DOS.
Yo estoy trabajando en 6.0 pero no logro abrir ningún puerto, el mensaje de error es que la dirección no es valida.
De antemano muchas gracias
Gaby
Tendrás que revisar tus códigos ya que a mi me funciona a la perfección.
Probablemente lo que buscas no esta en el serial sino en el paralelo.
También lo tengo funcional en VFP 6
En otro caso tendrás que utilizar el MSCOM32.OCX que ya viene integrado con VFP y cuyo utilización es similar a lo siguiente:
If Thisform.CommControl.PortOpen = .F.
Thisform.CommControl.PortOpen = .T.
Thisform.CommControl.Output="ATZ"+Chr(13)
Thisform.CommControl.Output="ATE1"+Chr(13)
else
Thisform.CommControl.PortOpen = .F.
Endif
Bajate una buena documentación de este OCX http://69.0.253.249/Programadores/serial.zip

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas