Приветствую Вас Гость | RSS

Меню сайта

Реклама

Категории раздела
CD-ROM [11]
DLL и PlugIns [75]
Help файлы [20]
INI файлы [16]
RS232 [2]
Активные директории [1]
Директории [0]
Диски [0]
Корзина [5]
Порты [26]
Ресурсы [0]
Файлы [0]
Форматы файлов [15]
Ярлыки [0]

Наш опрос
Какие компоненты добавлять больше?
Всего ответов: 49

Статистика

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

Форма входа

Главная » Статьи » Файловая система » Порты

Определяет наличие СОМ портов
{ **** UBPFD *********** by delphibase.endimus.com ****
>> Определяет наличие СОМ портов

Данная процедура позволяет определить наличие доступных СОМ-портов.
Список добавлятся в ComboBox. После этого можно выбирать нужный порт.

Зависимости: Windows, Messages, SysUtils, Variants, Classes,
Graphics, Controls, Forms, Dialogs, ComCtrls

Автор: Михаил, mikhail.sazonov@niitp.ru, Москва
Copyright: Сазонов Михаил
Дата: 2 октября 2003 г.
***************************************************** }


unit SetComPort;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ComCtrls, dfsStatusBar, ExtCtrls, StdCtrls, ImgList, Buttons,
ToolWin;

type
TForm1 = class(TForm)
StrNP: TRichEdit;
dfsStatusBar1: TdfsStatusBar;
ImageList1: TImageList;
CoolBar1: TCoolBar;
Panel1: TPanel;
LoadNP: TBitBtn;
Auto: TCheckBox;
SetRegim: TRadioGroup;
GroupBox1: TGroupBox;
ComPort: TComboBox;
BaudRate: TComboBox;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Parity: TComboBox;
ByteSize: TComboBox;
StopBits: TComboBox;
CloseItem: TBitBtn;
procedure InquiryPort(Sender: TObject); {опрос существующих портов}
procedure FormCreate(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure CloseItemClick(Sender: TObject);
procedure ComPortChange(Sender: TObject);
procedure BaudRateChange(Sender: TObject);
procedure ParityChange(Sender: TObject);
procedure ByteSizeChange(Sender: TObject);
procedure StopBitsChange(Sender: TObject);
procedure SetRegimClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
FHandl: THandle; {дескриптор порта}
DCB: TDCB; {ссылка на структуру настройки порта}
PortName: string; {имя порта, для дальнейшей работы}
end;

var
Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.InquiryPort(Sender: TObject);
var
i: integer;
begin {опрос существующих портов}
for i := 0 to 31 do {цикл опроса}
begin {пробуем получить дескриптор порта}
FHandl := CreateFile(PChar('COM' + IntToStr(i + 1)),
GENERIC_READ or GENERIC_WRITE,
0,
nil,
OPEN_EXISTING, FILE_FLAG_OVERLAPPED, 0);
if FHandl <> INVALID_HANDLE_VALUE then {если порт есть то добавить в список}
ComPort.Items.Add('COM' + IntToStr(i + 1));
CloseHandle(FHandl); {закрыть дескриптор}
end;
end;
Категория: Порты | Добавил: Angel (07.07.2008)
Просмотров: 614 | Рейтинг: 0.0/0
  Delphi Lab   Главная   Регистрация   Вход  
Интересная Цитата

Поиск

Магазин


Copyright MyCorp © 2025 Хостинг от uCoz