Einzelnen Beitrag anzeigen

AlexII

Registriert seit: 28. Apr 2008
1.717 Beiträge
 
FreePascal / Lazarus
 
#1

Datei kopieren, ProgressBar einbauen?

  Alt 29. Mai 2015, 16:03
Hallo,

irgendwie klappt es bei mir mit der Progressbar nicht. Habe schon alles mögliche versucht, aber es will nicht funktionieren. Was mache ich falsch?

Delphi-Quellcode:
procedure TMainForm.Button1Click(Sender: TObject);
var
  SourceF, TargetF: File;
  Buffer: array[1..2048] of Char;
  NumRead, NumWritten: Int64;
begin
  AssignFile(SourceF, 'D:\123.zip');
  try
    Reset(SourceF, 1);
  except
    ShowMessage('Fehler!');
    Exit;
  end;

  AssignFile(TargetF, 'D:\1234.zip');
  try
    Rewrite(TargetF, 1);

    ProgressBar3.Min := 0;
    ProgressBar3.Max := FileSize(SourceF);
    repeat
      BlockRead(SourceF, Buffer, SizeOf(Buffer), NumRead);
      BlockWrite(TargetF, Buffer, NumRead, NumWritten);

      ProgressBar3.Position := ProgressBar3.Position + NumRead;
    until (NumRead = 0)
      or (NumWritten <> NumRead);
  finally
    CloseFile(SourceF);
    CloseFile(TargetF);
  end;

  ShowMessage('Fertig!');
end;
Danke!
Bin Hobbyprogrammierer! Meine Fragen beziehen sich meistens auf Lazarus!
  Mit Zitat antworten Zitat