If it is a kind of database application, storing data in a database can be a logical choice.
One alternative approach is to use a streamer:
procedure TmyThing.PutData(AFile: String); var writer: TWriter; stream: TFileStream; begin stream := TFileStream.Create(AFile, fmCreate); try writer := TWriter.Create(stream, $ff); try with writer do begin WriteSignature; {marker to indicate a Delphi filer object file.} WriteListBegin; {outer list marker} WriteFloat(cVersion); {write the version for future use} WriteString(someProperty); {... etc. ...} WriteListEnd; {outer list marker} end; finally writer.Free; end; finally stream.Free; end; end;
source share