Daten zwischen Streams kopieren

Aus RAD Studio
Wechseln zu: Navigation, Suche

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;
    }
}


Siehe auch