------------
De sources van NLDDanyUtils zijn te vinden in:
ftp://ftp.nldelphi.com/public/OpenSo.../NLDDanyUtils/
------------
Maakt registry access "gemakkelijker". Deze unit levert de belangrijkste functies uit de 'TRegistry' unit, maar met volgende verschillen:
1. 'Openen' (open) en 'sluiten' (close) van registrysleutels (registrykeys) hoeft niet meer.
2. Iedere functie heeft een extra parameter: de 'sleutel' (key). Deze sleutel wordt automatisch geopend en gesloten bij het uitvoeren van de funtie. Die 'sleutel' is altijd relatief tegenover de 'root' sleutel, het volledige pad moet dus opgegeven worden.
3. Alle 'lees' (read) functies hebben nog een extra parameter: de 'verstek' (default) waarde. Dit is de waarde die de functie teruggeeft als de sleutel niet bestaat of de waarde in de sleutel niet bestaat.
4. De 'schrijf' (write) functies geven nu een 'boolean' terug, 'true' als het gelukt is, 'false' als het mislukt is. Ingeval van mislukking wordt geen 'exception' gegenereerd.
5. Additioneel kan TSimpleRegistry de inhoud van een "TStrings" schrijven en lezen naar en uit de registry.
6. Ook het lezen en schrijven van zgn "MULTI-SZ" registry waarden is toegevoegd.
De interface:
Code:
interface
uses Windows, Registry, Classes;
type
TSimpleRegistry =
class
private
Reg: TRegistry;
function GetRoot: HKEY;
procedure SetRoot(r: HKEY);
function OpenForRead(const Key, Name: string): Boolean;
public
constructor Create; Overload;
constructor Create(AAccess:LongWord); overload;
destructor Destroy; override;
// Root Key
property RootKey: HKEY read GetRoot write SetRoot;
// Read functions
function ReadString(const Key, Name, Default: string): string;
function ReadBool(const Key, Name: string; Default: Boolean): Boolean;
function ReadInteger(const Key, Name: string; Default: Integer): Integer;
function ReadBinaryData(const Key, Name: string; var Buffer; BufSize: Integer): Integer;
function ReadCurrency(const Key, Name: string; Default: Currency): Currency;
function ReadDate(const Key, Name: string; Default: TDateTime): TDateTime;
function ReadDateTime(const Key, Name: string; Default: TDateTime): TDateTime;
function ReadFloat(const Key, Name: string; Default: Double): Double;
function ReadTime(const Key, Name: string; Default: TDateTime): TDateTime;
procedure ReadTStrings(const Key, Name: string; Texts: TStrings);
procedure ReadMultiString(const Key, Name: string; Texts: TStrings);
function ReadWideString(const Key, Name: string; Default: WideString = ''): WideString;
// Write functions
function WriteString(const Key, Name, value: string): Boolean;
function WriteExpandString(const Key, Name, value: string): Boolean;
function WriteBool(const Key, Name: string; value: Boolean): Boolean;
function WriteInteger(const Key, Name: string; value: Integer): Boolean;
function WriteBinaryData(const Key, Name: string; var Buffer; BufSize: Integer): Boolean;
function WriteCurrency(const Key, Name: string; value: Currency): Boolean;
function WriteDate(const Key, Name: string; value: TDateTime): Boolean;
function WriteDateTime(const Key, Name: string; value: TDateTime): Boolean;
function WriteFloat(const Key, Name: string; value: Double): Boolean;
function WriteTime(const Key, Name: string; value: TDateTime): Boolean;
function WriteTStrings(const Key, Name: string; Texts: TStrings): Boolean;
function WriteMultiString(const Key, Name: string; Texts: TStrings): boolean;
function WriteWideString(const Key, Name: string; value: WideString): Boolean;
// Miscellaneous functions
function KeyExists(const Key: string): Boolean;
function ValueExists(const Key, Name: string): Boolean;
function DeleteKey(const Key: string): Boolean;
function DeleteValue(const Key, Name: string): Boolean;
function CreateKey(const Key: string): Boolean;
function GetDataInfo(const Key, Name: string; var value: TRegDataInfo): Boolean;
function GetDataSize(const Key, Name: string): Integer;
function GetDataType(const Key, Name: string): TRegDataType;
function GetKeyInfo(const Key: string; var value: TRegKeyInfo): Boolean;
function GetKeyNames(const Key: string; Strings: TStrings): Boolean;
function GetValueNames(const Key: string; Strings: TStrings): Boolean;
function HasSubKeys(const Key: string): Boolean;
function RenameValue(const Key, OldName, NewName: string): Boolean;
end;
Bookmarks