Программа для управления поворотной купольной камерой через COM-порт НЕ УМЕЕТ (и вряд ли будет уметь, т.к. некогда) ОТКРЫВАТЬ ПОРТЫ С НОМЕРОМ БОЛЬШЕ 9 И РАБОТАЕТ ТОЛЬКО НА СКОРОСТИ 2400 И 9600 (только эти скорости зашиты в коде)
Начнем отвечать на вопросы и замечания. Замечание 1:
при наборе номера порта с циферкой больше "9" например "10" - выскакивает ошибка
Да, действительно, ошибка имеется в текущей скомпилированной версии. Никому до сих пор не требовалось открывать порты с номером больше 9. С другой стороны, исходники выложены - можете сами себе поправить и перекомпилировать. По этому поводу (как оказалось) есть следующие подсказки:
Обычно порты 1-9 открываются передачей в CreateFile строки "COM%d", а с номером выше 9 только передачей "\\\\.\\COM%d", поэтому нельзя открыть порт CreateFile("COM13"), а только CreateFile("\\\\.\\COM13").
а у меня в исходниках как раз
CreateFile(PChar(ComComboBox.Text), GENERIC_READ or GENERIC_WRITE, 0, nil, OPEN_EXISTING, 0, 0)
по поводу же определения наличия COM-портов в системе можете получить их программным путем из HKEY_LOCAL_MACHINE\HARDWARE\DEVICEMAP\SERIALCOMM
Замечание 2:
последний вариант не дает скачать, лимит скачиваний
Ну, это зависит от того, сколько и чего Вы (или Ваш "общий" белый IP-адрес, который смотрит наружу) скачали с того сервера в последние несколько минут/часов. Качайте с другого адреса и будет Вам счастье. Я проверил - все качается.
Замечание 3:
Прога У меня не заработала, порт написала готов но камера не управлялась, номер порта и скорость вбивал вручную, ком 3 и 4800.
На скорости 4800, которую Вы пытаетесь вручную прописать, программа пытается открыть порт на самом деле на скорости либо 2400, либо 9600 и успешно его открывает. Однако на том конце камера ждет сигналов на скорости 4800, поэтому и не работает. В настоящее время программа не умеет работать со скоростями, отличными от 2400 либо 9600. Действительно:
if SpeedBox.ItemIndex = 0
then BaudRate := CBR_2400
else BaudRate := CBR_9600;
Попробуйте поправить и перекомпилировать сами, если есть желание...