Einzelnen Beitrag anzeigen

Antigo

Registriert seit: 14. Mär 2005
274 Beiträge
 
#17

Re: Datei mit TStream kopieren

  Alt 22. Nov 2007, 18:03
Ich krieg das Problem nicht gelöst. Wollte es jetzt nochmal mit Buffer Variablen und den Read und Write Funktionen versuchen. Ausserdem wollte ich jetzt das das von lucki empfohlene Byte Array als Speicher nutzen.

Delphi-Quellcode:
var StreamIn, StreamOut:TStream;
   i,buffersize:integer;
   buffer:array of Byte;
begin
  buffersize:=strtoint(edit3.Text);
  StreamIn := TFileStream.Create(edit1.text,fmOpenRead);
  StreamOut :=TFileStream.Create(edit2.text, fmCreate);

  setlength(buffer,buffersize);
  for i:=1 to floor(StreamIn.Size / buffersize) do
  begin
    StreamIn.Read(buffer,buffersize);
    StreamOut.Write(buffer,buffersize);

    //Status
    Progressbar1.Position:= 100*i*buffersize div StreamIn.Size;
    label2.caption:=inttostr(i*buffersize) +' / '+ inttostr(Streamin.Size);
    Application.ProcessMessages;
  end;

 { if StreamIn.Size mod buffersize > 0 then
    StreamOut.CopyFrom(StreamIn,StreamIn.size mod buffersize); }


  Progressbar1.Position:=100;
  label2.caption:=inttostr(StreamIn.size) +' / '+ inttostr(Streamin.Size);


  StreamIn.Free;
  Streamout.free;

end;
Da schmeisst mich der Compiler aber nach dem ersten Schreibversuch mit einer Zugriffsverletzung raus. Kann jemand helfen?
Michael
"How should I know if it works? That's what beta testers are for. I only coded it."
  Mit Zitat antworten Zitat