Daten zwischen Streams kopieren
Nach oben zu Streams verwenden
Zum Kopieren von Daten eines Streams in einen anderen ist es nicht erforderlich, die Daten einzeln zu lesen und zu schreiben. Benutzen Sie einfach die Methode CopyFrom, wie im folgenden Beispiel gezeigt.
Hier wird eine Datei mithilfe von Streams in eine andere Datei kopiert. Die Anwendung enthält zwei Eingabefelder (EdFrom und EdTo) und die Schaltfläche CopyFile:
procedure TForm1.CopyFileClick(Sender: TObject);
var Source, Destination:TStream;
begin
Source := TFileStream.Create(edFrom.Text, fmOpenRead or fmShareDenyWrite);
try
Destination := TFileStream.Create(edTo.Text, fmOpenCreate or fmShareDenyRead);
try
Destination.CopyFrom(Source,Source.Size);
finally
Destination.Free;
end;
finally
Source.Free
end;
void __fastcall TForm1::CopyFileClick(TObject *Sender) {
TStream* stream1 = TFileStream::Create(From.Text,
fmOpenRead | fmShareDenyWrite);
try {
TStream* stream2->TFileStream::Create
(To.Text fmOpenCreate | fmShareDenyRead);
try {
stream2->CopyFrom(stream1, stream1->Size);
}
__finally {
delete stream2;
}
}
__finally {
delete stream1;
}
}