Da sowohl die Strings als auch die Dateien variable Längen haben, musst du immer als erstes ihre Länge speichern, sodass deine Datei z.B. so aussieht:
[Cardinal = 4 Byte] Stringlänge
[
Stringlänge Byte] Stringinhalt(= ab Index 1)
[Cardinal = 4Byte] Dateilänge
[
Dateilänge Byte] Datei
Zum Speichern von Strings findest du
hier einige Beispiele.