![]() |
nochmal Wert aus der Registry auslesen
Hiho...
ich möchte einen Wert aus der Registry auslesen: Bei meinem Programm habe ich 3 Design eingebaut... es soll das selbe design bei start des Programms aufgerufen werden wie es vorher eingestellt wurde. Hier mein formclose:
Code:
so ... soweit klappt das... jetzt möcht ich, dass wenn das Programm gestartet wird, also formcreate, den Integer auslesen und dann das Design wieder aufrufen...
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
var regist: TRegistry; begin regist:=TRegistry.Create; regist.RootKey:=HKEY_CURRENT_USER; regist.OpenKey('Software\Trouble_Maker\Secure\Design', true); if RadioButton1.checked = true then regist.WriteInteger('Design', 1); if RadioButton2.checked = true then regist.WriteInteger('Design', 2); if RadioButton3.checked = true then regist.WriteInteger('Design', 3); regist.free; end; wie mache ich das mit einer if-Funktion habe sowas wie hier probier:
Code:
das funktioniert aber nicht...
//aus Registry auslesen:
regist:=TRegistry.Create; regist.RootKey:=HKEY_CURRENT_USER; if regist.ReadInteger('Software\Trouble_Maker\Secure\Design',); ... bitte um Hilfe Danke |
Hallo Trouble_Maker,
Du mußt den Schlüssel zuerst mit Openkey öffnen. Dann kannst erst Du deinen Wert auslesen. bye |
Wenn ich Deinen Code zum Schreiben richtig interpretiere, dann sollte es
Delphi-Quellcode:
heißen. Kommt bei der if-Anweisung nach der schließenden Klammer eigentlich noch ein Vergleich?
if regist.ReadInteger('Software\Trouble_Maker\Secure\Design\Design',);
|
hmm ok habe das vorher noch reingeschrieben
aber wie lese ich jetzt konkret den Wert aus ?!? so klappts nich:
Code:
er meint zuviele Parameter
//aus Registry auslesen:
regist:=TRegistry.Create; regist.RootKey:=HKEY_CURRENT_USER; regist.OpenKey('Software\Trouble_Maker\Secure\Design', true); if regist.ReadInteger('Software\Trouble_Maker\Secure\Design\', 1); then showmessage('hallo'); wie geht das mit dem auslesen mit if-Anweisung ?!? cu Trouble_Maker |
Delphi-Quellcode:
if regist.ReadInteger('Design', -1) = 1;
then showmessage('hallo'); |
Hallo Trouble_Maker,
den Schlüssel hast Du offen, jetzt den Wert aber nur den Wert auslesen. Zitat:
bye |
Moin Trouble Maker,
erstmal fehlen Dir beim Schreiben schon mal zwei try/finally Blöcke und ein CloseKey. Dann wäre eine Prüfung (if OpenKey...) ganz sinnvoll. Beim Auslesen dürfen das Alles wohl auch fehlen wie's aussieht. Der Fehler beim Auslesen: Du gibst bei ReadInteger den Key an ('Software\Trouble_Maker\Secure\Design'), musst aber den Valuenamen angeben ('Design'). |
ah... cool danke
hab jetzt leider keine Zeit mehr um das auszutesten! werde dann morgen sagen, obs geklappt hat oder nicht ^^ danke Trouble_Maker |
hmm habs jetzt doch nochmal getestet:
@r_kerber: dein Code funktioniert nicht ... "Zu viele Parameter" kA wieso ... kann jemand mal einen richtigen Code posten ?!? Trouble_Maker |
ah ...
habs gerade hinbekommen: so ist der Code richtig:
Code:
danke für eure Mühe
//aus Registry auslesen:
regist:=TRegistry.Create; regist.RootKey:=HKEY_CURRENT_USER; regist.OpenKey('Software\Trouble_Maker\Secure\Design', true); if regist.ReadInteger('Design') = 1 then showmessage('klappt'); cu Trouble_Maker |
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:51 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