Wenn es um Text, Stream und Encoding geht dann liest man doch immer wieder Sachen die stark nach Schlangenöl riechen.
Nochmals zur Info:
TStreamWriter und
TStreamReader sind extra und nur für den einzigen Zweck gebaut worden um Text in einen Stream zu schreiben und von dort wieder zu lesen. (Die sind nicht von ungefähr von der abstrakten Klasse
TTextWriter
bzw.
TTextReader
abgeleitet)
Man gibt den Stream und das gewünschte
Encoding an und kann Schreiben bis der Stream aus allen Nähten platzt. Das Lesen geht analog (Stream, Encoding) und Lesen bis der Arzt kommt.
Ggf. muß noch an die abschließenden CRLF gedacht werden also langByte=length(instring)*sizeof(char)+sizeof(linebreak);
Da fröstelt es mich doch ganz doll ...