Получение списка портов RS-232 (COM-портов)

В состав компонента RS232Port входит модуль RS232Names для получения списка портов RS-232 (COM-портов), имеющихся в системе. Для использования в программе функций модуля RS232Names, его необходимо подключить (добавить в раздел uses).

Функции модуля RS232Names для получения списка портов

Функция Назначение
RS232NamesListSystem Функция предназначена для получения списка портов RS-232, зарегистрированных в системе. В Windows список портов считывается из раздела реестра 'HKLM\Hardware\Devicemap\SERIALCOMM'. В Linux список портов определяется как перечень устройств tty в каталоге '/sys/class/tty/', для которых имеется драйвер (присутствует подкаталог '/device/driver/'). Значение параметра CheckExist, равное True, означает проверку наличия портов перед добавлением в список. Возвращаемое значение: строка с именами портов через запятую (соответствует формату свойства CommaText списка TStringList).
RS232NamesListForce Функция предназначена для получения списка портов RS-232 в системе путем перебора. Перед добавлением в список производится проверка наличия порта. В Windows выполняется перебор портов от COM1 до COM256. В Linux выполняется перебор устройств из каталога '/dev/', имена которых начинаются на 'ttyS', 'ttyUSB' и 'ttyACM'. Возвращаемое значение: строка с именами портов через запятую (соответствует формату свойства CommaText списка TStringList).

Другие (вспомогательные) функции модуля RS232Names

Функция Назначение
RS232LongName Получает длинное имя порта из короткого. Например, для Windows: RS232LongName('COM1') = '\\.\COM1', для Linux: RS232LongName('ttyS0') = '/dev/ttyS0'.
RS232ShortName Получает короткое имя порта из длинного. Например, для Windows: RS232ShortName('\\.\COM1') = 'COM1', для Linux: RS232ShortName('/dev/ttyS0') = 'ttyS0'.
RS232PortExists Выполняет проверку наличия порта. Если возвращаемое значение = True, то порт существует.