Serialization / Binary format

uses System.Classes;

type
  TData = class(TComponent)
  private
    FText: string;
  published
    property Text: string
      read FText write FText;
  end;

var
  Data: TData;
  Stream: TFileStream;
begin
  Data := TData.Create(nil);
  Data.Text := 'Hello';

  Stream := TFileStream.Create(
    'data.bin', fmCreate);
  try
    //ReadComponent restores it back
    Stream.WriteComponent(Data);
  finally
    Stream.Free;
  end;

  WriteLn('data written to file');
end.