Thema: Delphi Datei teilweise kopieren

Einzelnen Beitrag anzeigen

Schwedenbitter

Registriert seit: 22. Mär 2003
Ort: Finsterwalde
622 Beiträge
 
Turbo Delphi für Win32
 
#1

Datei teilweise kopieren

  Alt 4. Nov 2005, 23:15
Hallo,

ich habe ein Problem für das ich bislang keine Lösung habe finden können:

Ich möchte aus einer Quelldatei byteweise Daten in eine Zieldatei kopieren. Allerdings möchte ich nicht die gesamte Datei kopieren, sondern nur bestimmte Teile. Hierzu habe ich im Vorhinein die Datei durchsucht und die Anfangspositionen und Längen der Teile ermittelt, die nicht kopiert werden sollen. Der Benutzer soll zusätzlich noch auswählen können, welche Daten nicht mit übernommen werden sollen.

Ich hatte schon die Idee über einen Zähler die Position mit aufzuzeichnen und die Sache etwa so zu lösen:

Delphi-Quellcode:
Byte:=0;
While Not EOF(FromFile) Do
Begin
   Read(FromFile,Byte);
   Case P Of
      Start1..Ende1 : If Not CheckBox1.Checked Then Write(ToFile,Byte);
      Start2..Ende2 : If Not CheckBox2.Checked Then Write(ToFile,Byte);
      Start3..Ende3 : If Not CheckBox3.Checked Then Write(ToFile,Byte);
      .
      . // Wenn nicht zum löschen ausgewählt,
      . // nur dann kopieren!
   End;
   Inc(P);
End;
Das dumme ist nur, dass bei den Case oder X in [Y..Z] Abfragen keine Variablen zulässig sind, was diesen Versuch nicht glücken lässt.

Hat jemand eine Idee?
Ich schätze, dass es hierfür sogar schon eine Lösung im Forum gibt und ich mich nur zu dumm angestellt habe, sie zu finden.
Alex Winzer
  Mit Zitat antworten Zitat