Определяет наличие СОМ портов
Определяет наличие СОМ портов
Определяет наличие СОМ портов Прислал: Михаил (Москва) ( 2 октября 2003 г. ) c Сазонов Михаил Описание: Данная процедура позволяет определить наличие доступных СОМ-портов. Список добавлятся в combobox. После этого можно выбирать нужный порт. Зависимости: windows, messages, sysutils, variants, classes, graphics, controls, forms, dialogs, comctrls Ограничения: Пока не встречались Исходный текст: { **** 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;