Форма входа

Категории раздела

Мои файлы [12]
Полезности [15]

Поиск

Наш опрос

Оцените мой сайт
Всего ответов: 62

Статистика


Онлайн всего: 1
Гостей: 1
Пользователей: 0




Воскресенье, 19.05.2024, 04:54
Приветствую Вас Гость | RSS

Delphiport.ucoz.com

Главная | Регистрация | Вход
Полезные советы


Главная » Файлы » Полезности

Как получить список доступных COM портов на вашем компе?
[ Скачать с сервера (102.3 Kb) ] 17.10.2013, 22:22
   
   Недавно начал экспериментировать с COM портами в Delphi). Штука занимательная, возможно напишу об этом деле интересную статью, но пока хочу поделиться способом получения списка доступных для работы COM портов. Метод сильно расписывать не буду, код коротенький, так что в подробностях я надеюсь вы разберетесь сами).
   Итак приступим:

1) Для начала разместим компоненты на форме (2 компонента Buton и 1 Компонент StringList), я допустим сделал это так:


2) Свойство Enabled у Button2 устанавливаем в false, в разделе var создаем глобальную переменную Phandle:Thandle;

3) Создаем обработчик событий на Button1, где прописываем следующее:

Var

i:Integer;

begin

for i:=0 to 10 do

begin

Phandle:=CreateFile(Pchar('COM'+intToStr(i+1)), Generic_Read or Generic_Write, 0, nil, open_existing, file_flag_overlapped,0);

if Phandle<>invalid_handle_value then

begin

Listbox1.Items.Add('COM'+ IntToStr(i+1));

CloseHandle(Phandle);

end;

Button1.Enabled:=False;

Button2.Enabled:=True;

end;

end;

4) Создаем обработчик событий на Button2, и прописываем там:

begin

ListBox1.Clear;

Button1.Enabled:=True;

Button2.Enabled:=False;

end;

   Запускаем проект, жмем на Button1, и если вы все выполняли внимательно, то в нашем ListBox1 получим полный список
СОМ портов, которые есть на вашем компьютере. Ну а для не внимательных прилагаю исходник). Вообще есть еще способ 
получения информации о портах из реестра, но опробовав его я убедился в его некорректности. На стационарной машине
где контроллер COM порта расположен на материнке, он работает, а когда вставляю в USB разъем конвертер USB/COM
найти его в системе не удается. А методом рассмотренным выше получается просканировать все и получить достоверные
данные).
   
   До встречи в следующих обзорах.






Категория: Полезности | Добавил: Sashok
Просмотров: 3733 | Загрузок: 356 | Комментарии: 2 | Рейтинг: 0.0/0
Всего комментариев: 0
Имя *:
Email *:
Код *:

Copyright MyCorp © 2024