program DateRegistry;
uses
Windows,
Dialogs,
Registry,
SysUtils;
{$R *.RES}
procedure SaveDate
(const sKey: string;
const sField: string;
aDate: TDateTime) ;
begin
with TRegistry.Create do
begin
RootKey := HKEY_CURRENT_USER;
if OpenKey(sKey, True) then
begin
WriteBinaryData(sField, aDate, SizeOf(aDate)) ;
CloseKey;
end;
Free;
end;
end;
function ReadDate
(const sKey: string;
const sField: string) : TDateTime;
begin
// default: return 0
Result := 0;
with TRegistry.Create do
begin
RootKey := HKEY_CURRENT_USER;
if OpenKey(sKey, False) then
begin
try
ReadBinaryData(sField, Result, SizeOf(Result)) ;
except
end;
CloseKey;
end;
Free;
end;
end;
var
dDate: TDateTime;
begin
// save the date
SaveDate('\DateTimeDemo', 'LastDate', Now) ;
// retrieve it
dDate := ReadDate('\DateTimeDemo', 'LastDate') ;
// show it
ShowMessage(DateTimeToStr(dDate)) ;
end.