Daten von Stream zu Stream kopieren

Aus Appmethod Topics
Wechseln zu: Navigation, Suche

Nach oben zu Streams verwenden

Das Erstellen dieser Anwendung umfasst die folgenden grundlegenden Schritte:

  1. Erstellen eines Formulars mit einer Schaltfläche und Speichern des Projekts.
  2. Erstellen einer Textdatei und Speichern in das Standardprojektverzeichnis.
  3. Verfassen des Quelltextes, mit dem der String gelesen und in eine Datei geschrieben wird.
  4. Ausführen der Anwendung.

So erstellen Sie ein Formular mit einer Schaltfläche:

  1. Wählen Sie Datei > Neu > Weitere > Object Pascal-Projekte, doppelklicken Sie auf das Symbol Geräteübergreifende Anwendung, und wählen Sie Leere Anwendung aus. Der Formular-Designer wird angezeigt.
  2. Ziehen Sie aus der Seite Standard der Tool-Palette eine TButton-Komponente auf das Formular.
  3. Geben Sie im Objektinspektor für die Eigenschaften Name und Text der Schaltfläche CopyFile ein.
  4. Speichern Sie das Projekt (mit Datei > Projekt speichern oder Datei > Projekt speichern unter).
    Standardmäßig werden alle Projekte in diesem Verzeichnis gespeichert: C:\Users\<Benutzer>\Documents\Studio\Projects
    Sie können aber mit Datei > Projekt speichern unter ein bestimmtes Projektverzeichnis angeben.
    Weitere Informationen finden Sie unter Speichern-Befehle.

So fügen Sie Ihrem Projektverzeichnis eine Textdatei hinzu:

  1. Erstellen Sie mit einem Texteditor eine einfache Textdatei.
  2. Speichern Sie die Textdatei unter dem Namen from.txt in Ihrem Projektverzeichnis.
    Hinweis:
  • Für eine Desktop-Plattform speichern Sie die Textdatei im Ordner Win32/Debug Ihres Projekts.
  • Für eine mobile Plattform speichern Sie die Textdatei im Ordner <Plattform>/Debug Ihres Projekts.

So schreiben Sie die Prozedur zum Kopieren von Streams:

Object Pascal:
  1. Wählen Sie auf dem Formular das Steuerelement Button1 aus.
  2. Doppelklicken Sie im Objektinspektor auf der Registerkarte Ereignisse auf die Aktion OnClick.
    Der Quelltext-Editor wird angezeigt. Der Cursor befindet sich bereits im Block der Ereignisbehandlungsroutine TForm1.CopyFileClick (Object Pascal).
  3. Setzen Sie den Cursor vor das reservierte Wort begin, und drücken Sie dann die EINGABETASTE. Über dem Codeblock wird eine neue Zeile eingefügt.
  4. Setzen Sie den Cursor in die neue Zeile, und geben Sie folgende Variablendeklaration ein:
var stream1, stream2: TStream;
  1. Setzen Sie den Cursor in den Codeblock, und geben Sie folgenden Quelltext ein:
 stream1 := TFileStream.Create('from.txt', fmOpenRead);
 try
   stream2:= TFileStream.Create('to.txt', fmCreate);
   try
     stream2.CopyFrom(stream1, stream1.Size);
   finally
     stream2.Free;
   end;
 finally
   stream1.Free;
 end;
C++:
  1. Wählen Sie auf dem Formular das Steuerelement Button1 aus.
  2. Doppelklicken Sie im Objektinspektor auf der Registerkarte Ereignisse auf die Aktion OnClick.
    Der Quelltext-Editor wird angezeigt. Der Cursor befindet sich bereits im Block der Ereignisbehandlungsroutine TForm1::CopyFileClick (C++).
  3. Geben Sie folgende Variablendeklarationen ein:
TStream *stream1, *stream2;
  1. Setzen Sie den Cursor in den Codeblock, und geben Sie folgenden Quelltext ein:
  stream1 = new TFileStream( "from.txt", fmOpenRead );
 try {
   stream2 = new TFileStream( "to.txt", fmCreate );
 	  try {
     stream2->CopyFrom( stream1, stream1->Size );
   } __finally {
     stream2->Free();
   }
 } finally {
   stream1->Free();
 }

So führen Sie die Anwendung aus:

  1. Speichern Sie die Projektdateien.
  2. Wählen Sie Start > Start, um die Anwendung zu erzeugen und auszuführen. Auf dem Formular wird eine Schaltfläche mit der Bezeichnung CopyFile angezeigt.
  3. Klicken Sie auf CopyFile.
  4. Öffnen Sie mit einem Texteditor die neu erstellte Datei to.txt, die sich im Projektverzeichnis befindet. Der Inhalt der Datei from.txt wurde in die Datei to.txt kopiert.

Siehe auch