| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Общие вопросы > Как узнать номера СОМ-портов компьютера? |
| Автор: Yasim 29.3.2004, 13:54 |
| Люди, подскажите, как можно получить список номеров СОМ портов компьютера. |
| Автор: Alex 29.3.2004, 16:06 | ||
Лови
|
| Автор: Strike 7.4.2004, 18:55 |
| procedure TfrmSetPort.FormCreate(Sender: TObject); var reg: TRegistry; ts:TStrings; i: integer; setiniFile: TIniFile; begin iniFileName:= Application.ExeName; iniFileName:= ExtractWord(1,iniFileName,['.']); iniFileName:= iniFileName+'.ini'; setiniFile := TIniFile.Create(iniFileName); {считываем активные каналы} chPort1.Checked:= setiniFile.ReadBool('Active Chanel','Chanel#1',false); chPort2.Checked:= setiniFile.ReadBool('Active Chanel','Chanel#2',false); chPort3.Checked:= setiniFile.ReadBool('Active Chanel','Chanel#3',false); chPort4.Checked:= setiniFile.ReadBool('Active Chanel','Chanel#4',false); {считываем номера портов} cbPort1.Text:= setiniFile.ReadString('Port Name','Chanel#1','COM%'); cbPort2.Text:= setiniFile.ReadString('Port Name','Chanel#2','COM%'); cbPort3.Text:= setiniFile.ReadString('Port Name','Chanel#3','COM%'); cbPort4.Text:= setiniFile.ReadString('Port Name','Chanel#4','COM%'); cbStartRun.Checked:= setiniFile.ReadBool('Start at run application','RunStart',false); case cbStartRun.Checked of // true: begin btnApplay.Click; btnApplay.Enabled:=false; end; false: begin end; end; // case setiniFile.Free; {установка флагов в 0}; flagPort1:=0; flagPort2:=0; flagPort3:=0; flagPort4:=0; {заполение именами портов} reg := TRegistry.Create; reg.RootKey := HKEY_LOCAL_MACHINE; reg.OpenKey('hardware\devicemap\serialcomm',false); ts := TStringList.Create; reg.GetValueNames(ts); for i := 0 to ts.Count -1 do begin cbPort1.Items.Add(reg.ReadString(ts.Strings[i])); cbPort2.Items.Add(reg.ReadString(ts.Strings[i])); cbPort3.Items.Add(reg.ReadString(ts.Strings[i])); cbPort4.Items.Add(reg.ReadString(ts.Strings[i])); end; ts.Free; reg.CloseKey; reg.free; count_HSP_port1:=1; lastHBCH1:=now; flagErrorPort1:=0; isOnLine1:= true; end; |