Sources
Delphi Russian Knowledge Base
DRKB - это самая большая и удобная в использовании база знаний по Дельфи в рунете, составленная Виталием Невзоровым

Сохранить значение TDateTime в реестре

01.01.2007
uses
   
Registry;
 
 
// Write TDateTime to Registry
procedure Reg_WriteDateTime
(dwRootKey: DWord; const sKey: string; const sField: string; aDate: TDateTime);
 
begin
   
with TRegistry.Create do
   
try
     
RootKey := dwRootKey;
     
if OpenKey(sKey, True) then
     
begin
       
try
         
WriteBinaryData(sField, aDate, SizeOf(aDate));
       
finally
         
CloseKey;
       
end;
     
end;
   
finally
     
Free;
   
end;
 
end;
 
 
// Read TDateTime from Registry
function Reg_ReadDateTime(dwRootKey: DWord; const sKey: string; const sField: string) : TDateTime;
 
begin
   
Result := 0; // default Return value
 
with TRegistry.Create do
   
begin
     
RootKey := dwRootKey;
     
if OpenKey(sKey, False) then
     
begin
       
try
         
ReadBinaryData(sField, Result, SizeOf(Result));
       
finally
         
CloseKey;
       
end;
     
end;
     
Free;
   
end;
 
end;
 
 
// Example:
 
// Write DateTimePicker1's DateTime to Registry
procedure TForm1
.Button1Click(Sender: TObject);
 
begin
    Reg_WriteDateTime
(HKEY_CURRENT_USER, 'Software\TestXYZ\','DateTime',DateTimePicker1.DateTime);
 end;
 
 // Set DateTimePicker1'
s DateTime from Registry
procedure TForm1
.Button2Click(Sender: TObject);
 
var
 
ATime: TDateTime;
 
begin
   
ATime := Reg_ReadDateTime(HKEY_CURRENT_USER, 'Software\TestXYZ\','DateTime');
   if ATime <> 0 then
     DateTimePicker1.DateTime := TDateTime(ATime);
 end;