22 Stimmen

Delphi/Lazarus: Stream in Stream schreiben

Frage von Gast | Letztes Update am 23.01.2024 | Erstellt am 14.12.2014

Ich würde gerne den Inhalt eines Streams in einen anderen Stream hinein schreiben.

Also zum Beispiel den Inhalt von einem TFileStream in einen TMemoryStream.

Wie kann ich das machen?

AntwortenPositivNegativ
2Beste Antwort2 Stimmen

Nehmen wir an, wir haben zwei Streams, StreamA und StreamB, dann kannst du den Inhalt von StreamB folgendermaßen nach StreamA kopieren:

StreamB.Position := 0;
StreamA.CopyFrom(StreamB, StreamB.Size);

Wichtig ist, die Position zunächst auf 0 zu setzen, sonst wird möglicherweise von einer anderen Stelle innerhalb des Streams angefangen zu kopieren (es sei denn du willst nur einen Teil des Streams kopieren).

Der zweite Parameter von CopyFrom ist die zu kopierende Länge. Übergibst du "StreamB.Size", wird der gesamte Stream kopiert, verringerst du die Länge, entsprechend nur Teile davon.
Letztes Update am 23.01.2024 | Erstellt am 15.12.2014

AntwortenPositiv Negativ
Antworten

Ähnliche Themen

Wichtiger Hinweis

Bitte beachten Sie: Die Beiträge auf askingbox.de sind Beiträge von Nutzern und sollen keine professionelle Beratung ersetzen. Sie werden nicht von Unabhängigen geprüft und spiegeln nicht zwingend die Meinung von askingbox.de wieder. Mehr erfahren.

Jetzt mitmachen

Stellen Sie Ihre eigene Frage oder schreiben Sie Ihren eigenen Artikel auf askingbox.de. So gehts.