GET SERIAL PORT MAPPING
GET SERIAL PORT MAPPING ( arrNumeros ; arrNombres )
Parámetro | Tipo | Descripción | |
---|---|---|---|
arrNumeros | Integer array | ← | Array de números de puertos |
arrNombres | Text array | ← | Array de nombres de puertos |
Descripción
El comando GET SERIAL PORT MAPPING devuelve dos arrays, arrNumeros y arrNombres, que contienen los números y nombres de puertos seriales del equipo actual.
Este comando es útil en Mac OS X, donde el sistema operativo asigna dinámicamente el número de puerto cuando utiliza un adaptador serial USB. Puede direccionar cualquier puerto serial extendido utilizando su nombre (estático), sin importar su número actual.
Nota: este comando no devuelve valores significativos con puertos estándar. Si quiere direccionar un puerto estándar, debe pasar su valor (0 o 1) directamente utilizando el comando SET CHANNEL (modo antiguo de funcionamiento de 4D).
Ejemplo
Este método de proyecto puede utilizarse para direccionar el mismo puerto serial (sin protocolo), sin importar el número que se le haya asignado:
ARRAY TEXT($arrNombrePuertos;0)
ARRAY LONGINT($arrNumsPuertos;0)
var $vNumPuerto;$vNumPuertoFinal : Integer
//Buscar los números actuales de los puertos seriales
GET SERIAL PORT MAPPING($arrNumsPuertos;$arrNombrePuertos)
$vPortNum:=Find in array($arrNombrePuertos;vNombrePuerto)
// vNombrePuerto contiene el nombre del puerto a utilizar; puede venir de una ventana,
// de un valor almacenado en un campo, etc.
If(arrNumsPuertos{$vNumPuerto}=0)
vNumPuertoFinal:=0 //caso especial sobre Mac OS X
else
vNumPuertoFinal:=arrNumsPuertos{$vNumPuerto}+100
End if
SET CHANNEL(vNumPuertoFinal;params) //params contiene los parámetros de comunicación
... //Efectuar las operaciones deseadas
SET CHANNEL(11) //Cierre del puerto