AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi nochmal Wert aus der Registry auslesen
Thema durchsuchen
Ansicht
Themen-Optionen

nochmal Wert aus der Registry auslesen

Ein Thema von Trouble_Maker · begonnen am 13. Jun 2003 · letzter Beitrag vom 13. Jun 2003
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von Trouble_Maker
Trouble_Maker

Registriert seit: 30. Jan 2003
244 Beiträge
 
Delphi 6 Personal
 
#1

nochmal Wert aus der Registry auslesen

  Alt 13. Jun 2003, 18:40
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:
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;
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...
wie mache ich das mit einer if-Funktion

habe sowas wie hier probier:
Code:
  //aus Registry auslesen:
  regist:=TRegistry.Create;
  regist.RootKey:=HKEY_CURRENT_USER;
    if regist.ReadInteger('Software\Trouble_Maker\Secure\Design',);
    ...
das funktioniert aber nicht...

bitte um Hilfe

Danke
  Mit Zitat antworten Zitat
Benutzerbild von Duffy
Duffy

Registriert seit: 19. Mär 2003
Ort: Wuppertal
835 Beiträge
 
Delphi 3 Standard
 
#2
  Alt 13. Jun 2003, 18:44
Hallo Trouble_Maker,
Du mußt den Schlüssel zuerst mit Openkey öffnen. Dann kannst erst Du deinen Wert auslesen.
bye
Künftige Generationen wollen ihre Fehler selber machen.
Jedes Programm wird nie das können, was Du wirklich brauchst.
Das Gegenteil von gut ist gut gemeint
-----
  Mit Zitat antworten Zitat
Benutzerbild von r_kerber
r_kerber

Registriert seit: 11. Feb 2003
Ort: Trittau
3.538 Beiträge
 
Delphi XE Professional
 
#3
  Alt 13. Jun 2003, 18:46
Wenn ich Deinen Code zum Schreiben richtig interpretiere, dann sollte es if regist.ReadInteger('Software\Trouble_Maker\Secure\Design\Design',); heißen. Kommt bei der if-Anweisung nach der schließenden Klammer eigentlich noch ein Vergleich?
  Mit Zitat antworten Zitat
Benutzerbild von Trouble_Maker
Trouble_Maker

Registriert seit: 30. Jan 2003
244 Beiträge
 
Delphi 6 Personal
 
#4
  Alt 13. Jun 2003, 18:49
hmm ok habe das vorher noch reingeschrieben
aber wie lese ich jetzt konkret den Wert aus ?!?

so klappts nich:
Code:
  //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');
er meint zuviele Parameter

wie geht das mit dem auslesen mit if-Anweisung ?!?

cu Trouble_Maker
  Mit Zitat antworten Zitat
Benutzerbild von r_kerber
r_kerber

Registriert seit: 11. Feb 2003
Ort: Trittau
3.538 Beiträge
 
Delphi XE Professional
 
#5
  Alt 13. Jun 2003, 18:51
Delphi-Quellcode:
if regist.ReadInteger('Design', -1) = 1;
    then showmessage('hallo');
  Mit Zitat antworten Zitat
Benutzerbild von Duffy
Duffy

Registriert seit: 19. Mär 2003
Ort: Wuppertal
835 Beiträge
 
Delphi 3 Standard
 
#6
  Alt 13. Jun 2003, 18:57
Hallo Trouble_Maker,
den Schlüssel hast Du offen, jetzt den Wert aber nur den Wert auslesen.
Zitat:
//aus Registry auslesen:
regist:=TRegistry.Create;
regist.RootKey:=HKEY_CURRENT_USER;
regist.OpenKey('Software\Trouble_Maker\Secure\Desi gn', true);

if regist.ReadInteger('Software\Trouble_Maker\Secure\ Design\', 1);
then showmessage('hallo');
Aber wie heißt der Wert, der ausgelesen werden soll?
bye
Künftige Generationen wollen ihre Fehler selber machen.
Jedes Programm wird nie das können, was Du wirklich brauchst.
Das Gegenteil von gut ist gut gemeint
-----
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.116 Beiträge
 
Delphi 11 Alexandria
 
#7
  Alt 13. Jun 2003, 18:58
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').
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
Benutzerbild von Trouble_Maker
Trouble_Maker

Registriert seit: 30. Jan 2003
244 Beiträge
 
Delphi 6 Personal
 
#8
  Alt 13. Jun 2003, 19:39
ah... cool danke

hab jetzt leider keine Zeit mehr um das auszutesten!

werde dann morgen sagen, obs geklappt hat oder nicht ^^

danke

Trouble_Maker
  Mit Zitat antworten Zitat
Benutzerbild von Trouble_Maker
Trouble_Maker

Registriert seit: 30. Jan 2003
244 Beiträge
 
Delphi 6 Personal
 
#9
  Alt 13. Jun 2003, 20:20
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
  Mit Zitat antworten Zitat
Benutzerbild von Trouble_Maker
Trouble_Maker

Registriert seit: 30. Jan 2003
244 Beiträge
 
Delphi 6 Personal
 
#10
  Alt 13. Jun 2003, 20:23
ah ...
habs gerade hinbekommen:

so ist der Code richtig:

Code:
  //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');
danke für eure Mühe

cu Trouble_Maker
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:32 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