Zitat von
Satty67:
Zitat von
guidok:
da du sonst beim Zurücklesen des Filestreams nicht mehr weisst wie lang der String ist.
Wenn er wie beim Testwert überall ein #13#10 dahinter setzt, kann er zum Lesen auch eine TStringList nehmen (zum schreiben eigentlich auch)
Können würde er vieles... er wollte ja explizit einen Stream haben.
Aber natürlich hast du recht. Er könnte den Stream byteweise einlesen, bis ein Endezeichen erkannt wird. Ob dass allerdings performant ist? Zudem ist die Lösung, die Blocklänge (Stringlänge) voran zu stellen insofern wichtig, da damit in einem Stream alle möglichen Formate (Strings, Zahlenwerte, Bitmaps, Sounddaten, usw) auf diese Art gespeichert werden können. Man muss nur in der selben Reihenfolge wie beim Speichern einlesen.