Die Registry und ihre Typen
Autor: Dipl.-Math. Werner Voigt
veröffentlicht in Toolbox 2/2003 Seite 85
Copyright 2003 © Werner Voigt und Toolbox
Bitte beachten Sie auch die Hinweise zur kommerziellen Nutzung
Problem:
Es wird die Frage behandelt, wie REG_DWORD-Werte mit Delphi zu Lesen und zu Schreiben sind.
Im Quelltext Registry.pas findet sich folgende Zuordnung zwischen den Typbezeichnern der Windows-API für Registryeinträge und Delphis TRegistry-Typen:
Windows Delphi
REG_SZ rdString
REG_EXPAND_SZ rdExpandString
REG_DWORD rdInteger
REG_BINARY rdBinary
sonst rdUnknown
|
procedure WriteInteger(const Section, Ident: string; Value: Longint);
|
function ReadInteger(const Section, Ident: string; Default: Longint): Longint;
|
zu lesen sind. Weitere Informationen finden sich in der Delphi-Hilfe unter den Stichworten TRegistry und rdInteger.
In der Hilfedatei des Windows SDK ist das Stichwort RegEnumValue ein guter Ausgangspunkt. Dort findet sich eine Übersicht in der es auch noch andere Typen gibt. Dies sind:
REG_DWORD_LITTLE_ENDIAN, REG_DWORD_BIG_ENDIAN, REG_LINK, REG_MULTI_SZ, REG_NONE und REG_RESOURCE_LIST.
Mit REG_DWORD_LITTLE_ENDIAN und REG_DWORD_BIG_ENDIAN wird bei 32-Bit-Zahlen zwischen der Intel- und der Motorola-Reihenfolge der Bytes unterschieden. REG_NONE ist als Lumpensammler ähnlich rdUnknown zu sehen. Ohne direkte Delphi-Entsprechung sind Links (REG_LINK), mit Doppelnull terminierte (Uni-Code?) Strings (REG_MULTI_SZ) und Gerätetreiberressourcenliste (REG_RESOURCE_LIST).
