![]() |
Registry: GetKeyName + Ausgabe in ListBox
Hallo Leute
Ich habe folgendes Programmierziel: Aus einem Registry-Schlüssel sollen alle Keys ausgelesen werden und nacheinander in einer ListBox (lstbxCharaktere) ausgegeben werden. Dazu habe ich dies programmiert:
Delphi-Quellcode:
Das Schöne ist: Wenn es nur einen Key gibt, funktioniert alles reibungslos. Ansonsten gibt es eine Exception (Zugriffsverletzung).
var Charaktere:TStringList;
i:integer; regist:TRegistry; begin regist:=TRegistry.Create; regist.RootKey:=HKEY_CURRENT_USER; regist.OpenKey({Key wird geöffnet}); try Charaktere:=TStringList.Create; regist.GetKeyNames(Charaktere); finally regist.free; end; for i:=0 to Charaktere.Count-1 do begin try lstbxCharaktere.Items.Add(Charaktere.Strings[i]); finally Charaktere.Free; end; end; end; Ich habe hier und auch in anderen Foren keinen Beitrag dazu finden können :| Vielen Dank im Voraus! |
Re: Registry: GetKeyName + Ausgabe in ListBox
Ich habe leider vergessen zu schreiben, dass, wenn ich für "lstbxCharaktere.Items.Add(Charaktere.Strings[i])" i=1 einsetze, es trotzdem funktioniert. Nur das Hinzufügen eines zweiten Strings führt zu der Exception.
btw. gibt 's hier keine Edit-Funktion? |
Re: Registry: GetKeyName + Ausgabe in ListBox
Eine Edit-Funktion gibt es. Abgesehen davon kannst du gleich die Listbox angeben, da sie auch bloß TStrings benutzt. Soll heißen:
Delphi-Quellcode:
müsste reichen.
regist:=TRegistry.Create(KEY_READ);
try regist.RootKey:=HKEY_CURRENT_USER; if(regist.OpenKey('bla bla bla',false)) then try regist.GetKeyNames(lstbxCharaktere.Items); finally regist.CloseKey; end; finally FreeAndNil(regist); end; |
Re: Registry: GetKeyName + Ausgabe in ListBox
Danke, funktioniert.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:47 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz