Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Library: Object-Pascal / Delphi-Language (https://www.delphipraxis.net/35-library-object-pascal-delphi-language/)
-   -   Delphi Wie erhalte ich alle verfügbaren ComPorts aus der Registry? (https://www.delphipraxis.net/634-wie-erhalte-ich-alle-verfuegbaren-comports-aus-der-registry.html)

Daniel B 16. Aug 2002 10:07


Wie erhalte ich alle verfügbaren ComPorts aus der Registry?
 
Delphi-Quellcode:
uses ... Registry, ...;
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
//ComPorts ermitteln und in ComboBox anzeigen
var
  i: Integer;
  reg: TRegistry;
  sl: TStrings;
begin
  reg := TRegistry.Create;
  try
    reg.RootKey := HKEY_LOCAL_MACHINE;
    reg.OpenKeyReadOnly('hardware\devicemap\serialcomm');
    sl := TStringList.Create;
    try
      reg.GetValueNames(sl);
      ComboBox1.Items.Clear;
      for i := 0 to sl.Count - 1 do
      begin
        ComboBox1.Items.Add(reg.ReadString(sl.Strings[i]));
      end;
    finally
      sl.Free;
    end;
    reg.CloseKey;
  finally
    reg.Free;
  end;
// ComboBox1.ItemIndex := StrToInt(AnsiLastChar(Variable)) -1;
end;
Bei Variable könnte man eine Globale Stringvariable nehmen. Wenn man z.B. bei Programmstart den ComPort5 aus einer INI ausliest und dann geht man in die Einstellungen, so wird durch die Kommentierte Zeile der aktuelle ComPort in der ComboBox angezeigt. Ansonsten die ganze Zeile einfach weglassen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:06 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz