Ausgewählte Artikel zur Programmierung mit Delphi

Werner Voigt

 für 


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
    

Damit ist klar, daß REG_DWORDs mit den Methoden:
   procedure WriteInteger(const Section, Ident: string; Value: Longint);
    
zu schreiben und mit
  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).

zurückzurück
Copyright © 2003 by  EDVoigt  (Werner Voigt).