Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Aus Registry auslesen (https://www.delphipraxis.net/46770-aus-registry-auslesen.html)

konoko 31. Mai 2005 12:26


Aus Registry auslesen
 
Hallo zusammen,

habe mal wieder ein Problem und hoffe jemand von euch kann mir weiterhelfen.


Ich möchte aus meiner Registry Daten auslesen und diese dann in ein Memo schreiben.

Ich kann im Moment jediglich Registry-Daten überschreiben oder verändern, habe jedoch keine Ahnung wie ich die Daten auslesen kann.

Kann mir jemand helfen???? :gruebel:


Thanks konoko :angel:

Luckie 31. Mai 2005 12:28

Re: Aus Registry auslesen
 
Dann guck dir mal in der Hilfe die Methoden von Delphi-Referenz durchsuchenTRegistry an.

RedDust 31. Mai 2005 12:38

Re: Aus Registry auslesen
 
Also ich hab's immer so gemacht:

Delphi-Quellcode:
uses
  ...,registry;

...

var Form1: TForm1;
    reg: TRegistry;
    meinwert: string;
    meinint: integer;

implementation

...

reg := TRegistry.Create;
reg.RootKey := HKEY_CURRENT_USER;
reg.OpenKey('Software\MeinProject',true);
meinwert := reg.ReadString('(Wert der ausgelesen werden soll)');
meinint := reg.ReadInteger('(Wert der ausgelesen werden soll)');
reg.free;

Luckie 31. Mai 2005 12:40

Re: Aus Registry auslesen
 
Wo ist der Ressourcenschutzblock? Warum wird der Rückgabewert der Methode OpenKey nicht ausgewertet und wenn ich sowieso nur lesen will empfiehlt es sich die Registry nur lesend zu öffnen.

konoko 31. Mai 2005 12:46

Re: Aus Registry auslesen
 
Merci für eure Antworten,
leider komme ich trotzdem nicht viel weiter...


Denn mein Hauptprobelm im Moment ist, das ich nicht auf die Eigenschaften Zugreifen kann und ich weiss nicht genau wieso... :wall:

Hier nur mal mein Code zum verständniss:

Delphi-Quellcode:
  Reg := TRegistry.Create(KEY_READ);
  try
    Reg.Rootkey := HKEY_LOCAL_MACHINE;
    if Reg.OpenKey('SOFTWARE\Microsoft\Windows\CurrentVersion\Adobe Acrobat 5.0', True) then
    begin
      if reg.ValueExists('DisplayName') Then
      begin
      Programm := reg.ReadString('DisplayName');
      Version := reg.ReadString('DisplayVersion');
      reg.CloseKey;
      end;
    end;
    finally
      Reg.Free;
  end;

Das Problem ist nun, dass er bei der zweiten IF-abfrage gar nicht in die Schlaufe rein geht, da er die Eigenschaft nicht finden kann. Warum er sie nicht findet ist mir nur noch nicht ganz klar. :gruebel:

Habt Ihr vielleicht eine Idee???


Thanks xarida

Luckie 31. Mai 2005 12:53

Re: Aus Registry auslesen
 
Gibt es den Schlüssel überhaupt? Mir kommt es etwas komisch vor, dass sich Adobe im Mircosoft\Windows-Schlüssekl eintragen sollte. Ich habe den Adobe Reader 7.0 installiert und da finde ich bei mir nichts. Bei mir steht der hier: HKEY_CURRENT_USER\Software\Adobe\Acrobat Reader. Allerdings deine Schlüssel gibt es dort auch nicht.

konoko 31. Mai 2005 12:55

Re: Aus Registry auslesen
 
Doch der Schlüssel ist OK, das habe ich gleich zuerst mehrfach überprüft.

Thanks konoko :angel:

RedDust 31. Mai 2005 12:57

Re: Aus Registry auslesen
 
An welcher stelle tritt der Fehler denn genau auf???

konoko 31. Mai 2005 13:01

Re: Aus Registry auslesen
 
Eigentlich tritt er wie schon gesagt bei der zweiten IF-Abfrage auf:

Delphi-Quellcode:
  if reg.ValueExists('DisplayName') Then
      begin
und zwar dadurch, dass der die Eigenschaft 'DisplayName' nicht finden kann, obwohl sie vorhanden ist.

RedDust 31. Mai 2005 13:07

Re: Aus Registry auslesen
 
Vielleicht hast du irgendwo einen Schreibfehler? Wenn das alles nichts bringt, hab' hier in der CodeLib noch etwas gefunden, vielleicht klappt es damit.


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:13 Uhr.
Seite 1 von 2  1 2      

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