Mega Code Archive

 
Categories / Delphi / System
 

Store a TDateTime in the registry

Title: store a TDateTime in the registry? 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;