Клиппер 5. Справочник

Функция возвращает наибольший из номеров


 
    nMaxCom - номер последовательного порта с максимальным номером в
    диапазоне от 1 до 4.
 
  Описание
 
    Функция возвращает наибольший из номеров доступных последовательных
    портов, а не количество доступных портов. Возвращенное значение 3 не
    означает, что доступны 3 порта - порт 2, например, может быть исключен
    из числа доступных. Для определения возможности использования
    последовательного порта следует проверять результаты, возвращаемые
    функциями COM_OPEN() или COM_INIT().
 


    До вызова данной функции для сканирования портов используются адреса,
    описанные во Введении к данной главе. Однако эти базовые адреса могут
    быть изменены функцией COM_SETIO().
 
    Внимание!
 
    Функция распознает наличие установленных портов по базовым адресам.
    Если, например, компьютер имеет встроенный ArcNet-адаптер, то это
    может привести к конфликту адресов ввода/вывода. Обращение прикладной
    программы по адресу 02EAh как к последовательному порту, который по
    управлению отличается от ArcNet-адаптера, может нарушить существующие
    сетевые связи. В таких случаях может помочь вызов функции COM_SETIO()
    с заданием 0 в качестве адреса ввода/вывода:
 
    COM_SETIO(<nComPort>,0)
 
    После выполнения этого вызова во внутренней таблице будут уничтожены
    соответствующие стандартные адреса и конфликтующие аппаратные средства
    будут защищены от доступа со стороны CT II-функций. Однако это
    возможно лишь при условии, что функция COM_NUM() еще не вызывалась,
    поскольку иначе порт будет уже помечен как используемый ("in use").
 
  Примеры
 
  . Определение числа портов по стандартным адресам:
 
    ? COM_NUM()                 // Например, 4
 
  . Задание нестандартных адресов:
 
    COM_SETIO(3, "110")         // Порт 3, 110h
    COM_SETIO(4, "120")         // Порт 4, 120h
    ? COM_NUM()                 // 4

Содержание раздела