Hallo Weazy,
ja das ist möglich.
Du solltest in dem Ziel-Stream zuerst die Größe des Quellstreams speichern.
Danach kannst du mit CopyFrom die Daten von der Quelle in das Ziel speichern.
Dieser Vorgang kann dann für mehrere Quellen wiederholt werden.
Beim Laden solltest du dann zuerst die Größe laden und danach
entsprechend der geladenen Größe die passende Anzahl an Bytes von der
Quelle in Ziel kopieren.
Delphi-Quellcode:
// Speichern
VAR Size : Int64;
BEGIN
Size := Source.Size;
Target.Write(Size, SizeOf(Size));
Source.Seek(0, soFromBeginning); // Lesezeiger an den Anfang des Streams setzen!
Target.CopyFrom(Source, Size);
END;
// Laden
VAR Size : Int64;
BEGIN
Source.Read(Size, SizeOf(Size));
Source.CopyFrom(Target, Size);
END;
** ungetestet **
Das sollte mit allen TStreams klappen. Du kannst dann z.B. von 10 TMemoryStream in einen TFileStream speichern.
Gruß,
pszopp
www.pstipp.de | Tippseite zur Formel 1 und Fußball WM/EM - kostenlos und Just-For-Fun