Du könntest eine Art "Speicherverwaltung" auf Dateibasis bauen.
Delphi-Quellcode:
THeader = packed record
TitelLen: Integer;
TextLen: Integer;
TitelPos: Longword; // Dateiposition des Titels (bei 0: Freier Block)
TextPos: Longword; // Dateiposition des Textes
Next: Longword; // Dateiposition des nächsten Headers (bei 0: Letzter Block)
end;
Dadurch dass du den Header von den eigentlichen Daten trennst, kannst du den Titel und Text an einer völlig anderen Stelle in der Datei ablegen. Sollte also der Platz nicht mehr ausreichen, so verlegst du die Daten einfach an eine Stelle, an der genug Platz vorhanden ist, oder vergrößerst die Datei.