Thema: Delphi Datei teilweise kopieren

Einzelnen Beitrag anzeigen

marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#5

Re: Datei teilweise kopieren

  Alt 5. Nov 2005, 20:16
Wenn ich die Bereitstellung der nicht zu kopierenden Bereiche außen vor lasse (weil eine Frage der Benutzerschnittstelle), dann könnte ich mir die Erzeugung der Ausgabedatei auch so vorstellen:

Delphi-Quellcode:
type
  TDropOut = record
    Start: cardinal;
    Size: cardinal;
  end;

  TDropArray = array of TDropOut;

procedure DropCopy(fsSource, fsTarget: TStream; drops: TDropArray);
var
  i: integer;
begin
  fsSource.Position := 0;
  fsTarget.Position := 0;
  for i := Low(drops) to High(drops) do
  begin
    fsTarget.CopyFrom(fsSource, drops[i].Start - fsSource.Position);
    fsSource.Seek(drops[i].Size, soFromCurrent);
  end;
  fsTarget.CopyFrom(fsSource, fsSource.Size - fsSource.Position);
end;
Die auszulassenden Bereiche werden im DropArray übermittelt und die Dateien werden über FileStreams angesprochen. Safety code ist nicht an Bord.

Grüße vom marabu
  Mit Zitat antworten Zitat