![]() |
registry auslesen
Und wieder mal Hallo zum beliebtesten quiz zum Thema delphi.
heute: Wie lese ich etwas aus der registrierung aus? Meine damen und Herren, ich kann ihnen versichern, mit
Delphi-Quellcode:
werden Sie nichts in der titelleiste Ihres Formulars lesen können, weil sich nichts darin befindet.
Registry.openkey('software/meinproggi', false);
form1.caption := Registry.ReadString('zeichenkette'); Es gibt keine Fehlermeldung und auch kein Ergebnis.Nun, verehrte Zuschauer Zuhause, wie würden Sie das Problem lösen? Schnell geraten und fluchs eingetippt, zu gewinnen gibt es die Gewissheit, einen Menschen glücklich gemacht zu haben. Die Leitungen sind nun geschaltet, viel erfolg. Jetzt mal ernst: HILFE!!! -------- Danke für antworten |
Re: registry auslesen
Hallo,
hast du ![]() Edit: Und ohne das Herumgelabere würde man dir sicher schneller helfen können, da man sich nicht erst zur eigentlichen Frage durcharbeiten muss. |
Re: registry auslesen
ja,
Delphi-Quellcode:
registry.rootkey := 'HKEY_LOCALMACHINE'
|
Re: registry auslesen
Hm, schau einfach mal im
![]() |
Re: registry auslesen
ich hab da schon was reingeschrieben, mit regedit. da steht was drin, will aber partu nich rauskommen
|
Re: registry auslesen
Dann zeig mal bitte den kompletten Code, der den String in die Registry schreibt oder nenne uns den kompletten Schlüssel.
Zusätzlich dann noch den kompletten Code zum Auslesen dieses Werts. |
Re: registry auslesen
Delphi-Quellcode:
in der registry steht unter
unit Unit1;
interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, registry, ComCtrls, ShellCtrls; type TForm1 = class(TForm) Button1: TButton; ShellListView1: TShellListView; procedure Button1Click(Sender: TObject); private { Private-Deklarationen } public { Public-Deklarationen } end; var Form1: TForm1; registry : tregistry; implementation {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject); begin Registry := TRegistry.Create; try Registry.RootKey := HKEY_LOCAL_MACHINE; Registry.openkey('hardware/derbe/', false); form1.caption := Registry.ReadString('himbeere'); finally Registry.Free; end; end; end. HKEY_LOCALMACHINE |_Hardware |_Derbe (Standart) himbeere REG_SZ erdbeere |
Re: registry auslesen
Liste der Anhänge anzeigen (Anzahl: 1)
Bei mir geht es so ohne Probleme:
Delphi-Quellcode:
Die Caption enthält dann das Wort "Erdbeere".
var
reg: TRegistry; begin reg := TRegistry.Create; try reg.RootKey := HKEY_LOCAL_MACHINE; reg.OpenKey('Hardware\Derbe', False); Caption := reg.ReadString('Himbeere'); reg.CloseKey; finally reg.Free; end; end; Im Anhang die Struktur in der Registry. Nachtrag: Bei OpenKey hast du deine Slashes etwas verwechselt. |
Re: registry auslesen
Ich halte es für etwas bedenklich eine Variable und eine Unit gleichen Namens zu verwenden.
|
Re: registry auslesen
Hast du Adminrechte wenn nicht ist das keine wunder denn nur Admins können HKEY_LOCAL_MACHINE lesen und schreiben
|
Re: registry auslesen
Danke, es lag an den slashes. Irgendeiner von beiden, delphi oder windoof is der dibbelesschisser. Ich hasse dieses beharren auf die slash und backslash wie hölle.
Danke nochmals |
Re: registry auslesen
Falsch. "lesen" sollte jeder können, wenn an den Berechtigungen nichts geändert wurde. Schreiben kann man in der Regel nur als Administrator. Deswegen sollte man, wenn man nur lesen will, auch die Registry nur lesend öffnen.
Zitat:
|
Re: registry auslesen
Dennoch würde ich Luckies Hinweis beachten:
Nenne Variablen nie so, wie andere Komponenten bzw. deren Eigenschaften (Name: string, könnte mit Form1.Name in Konflikt geraten), da das zu Fehlern führen kann, deren Ursache man natürlich so leicht nicht findet. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:07 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