C++Builder
  Начало   Форум   Помощь Войти Регистрация  
Страниц: 1 2 [3]   Вниз
  Печать  
Автор Тема: Список портов  (Прочитано 66586 раз)
SemY
новенький


Сказали спасибо: +0/-0
Offline

Сообщений: 1


« Ответ #60 : 16 Апрель 2009, 11:48:33 »

 
 
Спасибо !!!!   за єту тему на форуме ! МНЕ ТОЖЕ помогло !!!!  сom32 !!!
Записан
ramnek
Участник


Сказали спасибо: +0/-0
Offline

Сообщений: 37


« Ответ #61 : 12 Октябрь 2011, 10:43:01 »

А что делать, если у меня не показывает список портов по первому вашему коду?
получается их 0?
Записан
Rius
Давний друг


Сказали спасибо: +116/-5
Offline

Сообщений: 753


« Ответ #62 : 13 Октябрь 2011, 07:23:09 »

"Вашему" это чьему?

Получается, но вовсе не обязательно.
Записан
ramnek
Участник


Сказали спасибо: +0/-0
Offline

Сообщений: 37


« Ответ #63 : 14 Октябрь 2011, 11:23:42 »

"Вашему" это чьему?

Получается, но вовсе не обязательно.

я вас не понимаю
Записан
Rius
Давний друг


Сказали спасибо: +116/-5
Offline

Сообщений: 753


« Ответ #64 : 14 Октябрь 2011, 17:12:17 »

Однако вы считаете, что вас должны понять?  

Цитировать
А что делать, если у меня не показывает список портов по первому вашему коду?
получается их 0?
Если это обращение к автору темы двухлетней давности, то её на форуме уже нет.
А приведённый в первом посте код выводит лишь незанятые приложениями порты, т.к. занятые открыть не удаётся.
К портам выше 9 лучше обращаться по другому: \\.\COM10, \\.\COM11, ...
« Последнее редактирование: 14 Октябрь 2011, 18:10:56 от Rius » Записан
Tantos
А ты воспользовался поиском перед тем, как спросить?!
Давний друг


Сказали спасибо: +350/-28
Offline

Сообщений: 2181


« Ответ #65 : 14 Октябрь 2011, 17:14:58 »

Rius, Лена на форум вернулась, но под другим ником.
Записан
ramnek
Участник


Сказали спасибо: +0/-0
Offline

Сообщений: 37


« Ответ #66 : 15 Октябрь 2011, 10:59:49 »

Цитировать
void COMOpen()
{
 String portname;        //имя порта (например, "COM1", "COM2" и т.д.)
 DCB dcb;              //структура для общей инициализации порта DCB
 COMMTIMEOUTS timeouts;     //структура для установки таймаутов
 portname = "\\.\COM13";   //получить имя выбранного порта
 COMport = CreateFile(portname.c_str(),GENERIC_READ | GENERIC_WRITE, 0,
            NULL, OPEN_EXISTING, FILE_FLAG_OVERLAPPED, NULL);
 if(COMport == INVALID_HANDLE_VALUE)            //если ошибка открытия порта
  {
   Form1->Edit1->Text = "Не удалось открыть порт";
   return;
  }

....................

вот начало моего кода
мне нужно подключиться к порту COM13.. однако программа упорно говорит, что  "Не удалось открыть порт", т.к.
COMport = INVALID_HANDLE_VALUE

что делать?
Записан
Rius
Давний друг


Сказали спасибо: +116/-5
Offline

Сообщений: 753


« Ответ #67 : 15 Октябрь 2011, 11:05:39 »

Можно, например, попробовать написать как принято в C/C++: "\\\\.\\COM13"
Записан
ramnek
Участник


Сказали спасибо: +0/-0
Offline

Сообщений: 37


« Ответ #68 : 15 Октябрь 2011, 11:14:45 »

Можно, например, попробовать написать как принято в C/C++: "\\\\.\\COM13"

Забавно, но теперь заработало, спасибо...  а че за такой странный синтаксис?
Записан
Rius
Давний друг


Сказали спасибо: +116/-5
Offline

Сообщений: 753


« Ответ #69 : 15 Октябрь 2011, 18:35:18 »

\ в C/C++ это экранирование спецсимвола.
А сама запись \\.\ объяснена тут - Naming Files, Paths, and Namespaces: Win32 Device Namespaces
Записан
Дмитрий Шарпей
Участник


Сказали спасибо: +0/-0
Offline

Сообщений: 9

C# лучше нет на свете))


« Ответ #70 : 21 Октябрь 2011, 15:54:43 »

А COM232.exe на каком языке написано? Дайте ИСХОДНИКИ, если можно.
Записан
Rius
Давний друг


Сказали спасибо: +116/-5
Offline

Сообщений: 753


« Ответ #71 : 12 Апрель 2012, 18:10:12 »

Исходники, не той Com232, но новой версии: на code.google, на github'е
Там был такой ужас, что выкладывать страшно. Теперь руки дошли переписать...
Записан
Страниц: 1 2 [3]   Вверх
  Печать  
 
Перейти в:  




....

Powered by SMF 1.1.21 | SMF © 2025, Simple Machines
Страница сгенерирована за 0.064 секунд. Запросов: 22.