[fpc-pascal] TRegistry documentation

James Richters james.richters at productionautomation.net
Tue Jun 15 15:53:43 CEST 2021

>You can have a look too at TRegDataType type, it seems there is nothing
special for DWord.
I got the list of functions you mentioned in Lazarus.. Here are all the ones
that can read:
    function ReadCurrency(const Name: UnicodeString): Currency;
    function ReadCurrency(const Name: String): Currency;
    function ReadBinaryData(const Name: UnicodeString; var Buffer; BufSize:
Integer): Integer;
    function ReadBinaryData(const Name: String; var Buffer; BufSize:
Integer): Integer;
    function ReadBool(const Name: UnicodeString): Boolean;
    function ReadBool(const Name: String): Boolean;
    function ReadDate(const Name: UnicodeString): TDateTime;
    function ReadDate(const Name: String): TDateTime;
    function ReadDateTime(const Name: UnicodeString): TDateTime;
    function ReadDateTime(const Name: String): TDateTime;
    function ReadFloat(const Name: UnicodeString): Double;
    function ReadFloat(const Name: String): Double;
    function ReadInteger(const Name: UnicodeString): Integer;
    function ReadInteger(const Name: String): Integer;
    function ReadInt64(const Name: UnicodeString): Int64;
    function ReadInt64(const Name: String): Int64;
    function ReadString(const Name: UnicodeString): UnicodeString;
    function ReadString(const Name: String): string;
    procedure ReadStringList(const Name: UnicodeString; AList: TStrings;
ForceUtf8: Boolean=False);
    procedure ReadStringList(const Name: String; AList: TStrings);
    function ReadStringArray(const Name: UnicodeString):
    function ReadStringArray(const Name: String): TStringArray;
    function ReadTime(const Name: UnicodeString): TDateTime;
    function ReadTime(const Name: String): TDateTime;
as far as I can see I need to use something like ReadBinaryData ???  does
anyone have an example on how to do that? It looks like it's wanting a
buffer of some sort. or can I just pass it my Dword variable somehow?  It
seems over complicated
I still find it strange there is no ReadDword and ReadQword when those two
are an entire third of possible registry entries.. 
If you go to RegEdit,  there are only 6 kinds of registry entries:
String Value
Binary Value
Multi-String Value
Expandable String Value
Maybe all these other ones like Float and Int64 are for other versions of
windows?? As far as I can see it's impossible to define a float in the
windows registry, with windows 10 professional 64 bit anyway.  Are there
other kinds of 'Registries'  that all these functions would be useful for
other than THE Registry (referring to the windows registry)?
Am I missing something?  Does Linux have a registry or something? I thought
it was a windows thing. Why aren't there easy ways to read and write Dwords
and Qwords when there are so many of them in the windows registry?
Is all this for something other than the windows registry?  The fact that
the functions do not match what is possible with the windows registry is
making me think I have the wrong thing all together.  Are there functions to
use the windows registry in the Windows unit?
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freepascal.org/pipermail/fpc-pascal/attachments/20210615/8ecc6c6f/attachment-0001.htm>

More information about the fpc-pascal mailing list