Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Registry

0 views
Skip to first unread message

Jan Erik Freytag

unread,
Apr 18, 2000, 3:00:00 AM4/18/00
to
Hallo!

Als absoluter Delphi-Einsteiger möchte ich auf die Registry zugreifen - aber
wie?
Ich habe versucht, mich in der Online-Hilfe zurechtzufinden, aber leider hat
das, was ich aus der Hilfe gemacht habe, nicht funktioniert.
Deshalb eine Frage: Könnte mir vielleicht jemand eine kleine Funktion
schreiben, die aus der Registry einen String liest und ihn dann zurückgibt?
Das würde mir ungemein weiterhelfen....

Vielen Dank im vorraus,

Jan Erik Freytag


Marian Aldenhövel

unread,
Apr 18, 2000, 3:00:00 AM4/18/00
to
Hi,

>Könnte mir vielleicht jemand eine kleine Funktion
>schreiben, die aus der Registry einen String liest und ihn dann zurückgibt?

function ReadRegString(aKey,aName:string):string;
var Reg:TRegistry;
begin
Reg:=TRegistry.Create;
try
if Reg.OpenKey(aKey,False)
then Result:=Reg.ReadString(aName)
else Raise Exception.CreateFmt('Schlüssel ''%s'' existiert
nicht.',[aKey]);
finally
Reg.Free;
end;
end;

Ciao, MM
--
Marian Aldenhövel, Hainstraße 8, 53121 Bonn, Germany
http://www.marian-aldenhoevel.de
"Was schiefgehen kann geht schief"

Robby Wachtel

unread,
Apr 18, 2000, 3:00:00 AM4/18/00
to
"Guenther Heynen" <hey...@ewetel.net> schrieb im Newsbeitrag
news:8dhppn$got$1...@ac1.ewetel.de...
> [schnipp]
> Bitte Anlage entzippen und Beispiel kompilieren.
> [Untenvollquote entsorgt]

Bitte _keine_ Binaries in die NG und
mal kurz bei http://learn.to/quote
vorbeischauen.

Danke.

Gruesse aus Koeln

»Robby«
--
RWac...@gmx.de
http://www.mpscologne.de


Markus Pinl

unread,
Apr 18, 2000, 3:00:00 AM4/18/00
to

> Als absoluter Delphi-Einsteiger möchte ich auf die Registry zugreifen -
aber
> wie?
TRegistry ist das Richtige.

...
uses Registry....
...

// irgendwo
...
with TRegistry.Create do begin
RootKey := HKEY_LOCAL_MACHINE;
if
OpenKey('\Software\Microsoft\Windows\CurrentVersion\explorer\VolumeCaches\Te
mporary files') then
Label1.caption := ReadString('folder')
else
ShowMessage('Schlüssel nicht gefunden. Schade drum.');
free
end;

Unter der Kontexthilfe zu TRegistry findest du auch sonst noch alles, was du
so brauchst.

CU
Magus :)

Peter Haas

unread,
Apr 18, 2000, 3:00:00 AM4/18/00
to
Hallo Jan, Marian

Marian Aldenhövel schrieb in
<skgofs4lvqlnbpnfc...@4ax.com>:


> function ReadRegString(aKey,aName:string):string;
> var Reg:TRegistry;
> begin
> Reg:=TRegistry.Create;
> try
> if Reg.OpenKey(aKey,False)
> then Result:=Reg.ReadString(aName)
> else Raise Exception.CreateFmt('Schlüssel ''%s'' existiert
> nicht.',[aKey]);

Diese Annahme ist falsch, auch wenn es so in der OH steht. Existiert
ein *String*-Schlüssel nicht, dann wird leider keine Exception
ausgelöst. Deshalb besser vorher prüfen, ob der Schlüssel existiert:

if Reg.OpenKey(aKey,False) then try
if Reg.ValueExists(aName) then begin
Result:=Reg.ReadString(aName);
end
else begin
raise Exception.Create(...)
end;
finally
CloseKey;
end;

> finally
> Reg.Free;
> end;
> end;

MfG Peter.

Jan Erik Freytag

unread,
Apr 20, 2000, 3:00:00 AM4/20/00
to
Danke für eure Hilfe!
Der Fehler meinerseits lag ganz einfach in der falschen Verwendung von
Rootkey ;-).

Jan Erik Freytag

Markus Pinl <mp...@gmx.de> schrieb in im Newsbeitrag:
8dhq4s$7nu5p$1...@fu-berlin.de...

0 new messages