Moin!
Seek musst du nicht nehmen, du kannst auch einfach die Eigenschaft Position setzen...
Dann muss du bei CopyFrom als 2. Parameter die Anzahl der Bytes angeben, ansonsten nimmt er 0 an und das bedeutet dann alles kopieren von dem anderen Stream - und das wollen wir nicht. Bei der Angabe von 0 seek'ed er sogar zum Anfang des anderen Streams und geht nicht von der aktuellen Position aus.
Delphi-Quellcode:
var stm1,
stm2 : TStream;
...
stm1 := TFileStream.Create('datei1', fmOpenRead);
stm2 := TFileStream.Create('datei2', fmCreate);
stm1.Position := stm1.Size div 2;
stm2.CopyFrom(stm1, stm1.Size - stm1.Position);
stm1.Free;
stm2.Free;
MfG
Muetze1