Определяет наличие СОМ портовDelphi , Файловая система , ПортыОпределяет наличие СОМ портов
Автор: Михаил { **** 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; .......... Статья Определяет наличие СОМ портов раздела Файловая система Порты может быть полезна для разработчиков на Delphi и FreePascal. Комментарии и вопросыМатериалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.
|
||||
©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007 |