FoxPro/Visual FoxPro - Como saber que puertos seriales existen

 
Vista:

Como saber que puertos seriales existen

Publicado por JAG (13 intervenciones) el 16/03/2010 19:31:40
Buenas dias.

Quisiera ver si alguien de ustedes me pueden orientar como saber| que puertos seriales existen usando el mscomm32.ocx, he visto ejemplos pero veo que todos suponen que existen ya.

como por ejemplo :

This.Settings = "28800,N,8,1"
This.InputLen = 1
This.CommPort = 1
This.PortOpen = .T.

Define que voy a usar el COM1 y lo abre con el true . pero como saber que existe antes de abrirlo.

Tengo la duda o no he entendido bien. Alguien me explica por favor

JAG
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Mauricio
Val: 471
Plata
Ha mantenido su posición en FoxPro/Visual FoxPro (en relación al último mes)
Gráfica de FoxPro/Visual FoxPro

Como saber que puertos seriales existen

Publicado por Mauricio (1541 intervenciones) el 17/03/2010 02:08:37
Intentalo con este codigo:
*--- LWP Testear puertos disponibles
DO decl
? "Testing port COM1:", TestPort("COM1")
? "Testing port COM2:", TestPort("COM2")
? "Testing port COM3:", TestPort("COM3")
? "Testing port COM4:", TestPort("COM4")

FUNCTION TestPort (lcPort)
#DEFINE OPEN_EXISTING 3
#DEFINE GENERIC_READ 2147483648 && 0x80000000
#DEFINE FILE_FLAG_OVERLAPPED 1073741824 && 0x40000000
#DEFINE INVALID_HANDLE_VALUE -1
*
LOCAL hPort
hPort = CreateFile (lcPort, GENERIC_READ, 0,0,;
OPEN_EXISTING, FILE_FLAG_OVERLAPPED, 0)
*
= CloseHandle(hPort)
RETURN (hPort <> INVALID_HANDLE_VALUE)
*
PROCEDURE decl
DECLARE INTEGER CreateFile IN kernel32;
STRING lpFileName, INTEGER dwAccess, INTEGER dwShareMode,;
INTEGER lpSecurityAttr, INTEGER dwCreationDisp,;
INTEGER dwFlagsAndAttr, INTEGER hTemplateFile
*
DECLARE INTEGER CloseHandle IN kernel32 INTEGER hObject
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Como saber que puertos seriales existen

Publicado por JAG (13 intervenciones) el 17/03/2010 03:37:18
Gracias , lo voy a probar y les cuento

Saludos
JAG
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Como saber que puertos seriales existen

Publicado por JAG (13 intervenciones) el 18/03/2010 02:07:13
Buenas tardes :

Ya hice la prueba y funciono perfectamente, muy agradecido con la ayuda

Saludos
JAG
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Como saber que puertos seriales existen

Publicado por Fabio Castro (1 intervención) el 23/08/2019 00:58:42
Funciona bien para puertos desde 1 a 4. Si los puertos se numeran desde el 5 en adelante no los detecta a pesar de que existan. El problema que yo encuentro y que me sucede muy a menudo es con los adaptadores usb/rs232, cuando los desconectan y vuelven a conectar en otra entrada usb, el puerto se "renumera" (por ejemplo, pasa de com6 a com8) y el software deja de poder comunicarse con el periférico. Este es el caso que necesito resolver y no encuentro la manera...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Como saber que puertos seriales existen

Publicado por Mario (4 intervenciones) el 24/09/2019 14:10:31
Hola, buen dia!
Coincido con Fabio Castro, el código de prueba que coloco Mauricio (Muchas gracias), funciona pero solo para puertos <=9
Alguien pudo resolverlo para probar puertos >=10?

Desde ya muchas gracias!!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Como saber que puertos seriales existen

Publicado por Mario Marcelo (4 intervenciones) el 10/12/2020 18:51:00
Hola Mario!
Por esas casualidades, pudiste solucionar este problema "funciona pero solo para puertos <=9" con los COMM desde VFP?

Te agradecería me comentes o me compartas la solución si la encontraste.

Desde ya, muchas gracias!!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar