Einzelnen Beitrag anzeigen

Benutzerbild von Helmi
Helmi

Registriert seit: 29. Dez 2003
Ort: Erding, Republik Bayern
3.312 Beiträge
 
Delphi XE2 Professional
 
#1

Problem mit Prozentrechnung beim Kopieren

  Alt 13. Jan 2006, 13:21
Hallo,

ich habe folgenden Code zum Kopieren einer Datei mit Progressbar: (Original)

Delphi-Quellcode:
procedure TForm1.CopyFileWithProgressBar1(Source, Destination: string);
var
  FromF, ToF: file of byte;
  Buffer: array[0..4096] of char;
  NumRead: integer;
  FileLength: longint;
begin
  AssignFile(FromF, Source);
  reset(FromF);
  AssignFile(ToF, Destination);
  rewrite(ToF);
  FileLength := FileSize(FromF);
  with Progressbar1 do
  begin
    Min := 0;
    Max := FileLength;
    while FileLength > 0 do
    begin
      BlockRead(FromF, Buffer[0], SizeOf(Buffer), NumRead);
      FileLength := FileLength - NumRead;
      BlockWrite(ToF, Buffer[0], NumRead);
      Position := Position + NumRead;

      Label1.Caption := IntToStr((100 * Position) div Max); //<=========

      Application.ProcessMessages;
    end;
    CloseFile(FromF);
    CloseFile(ToF);
  end;
end;
Mit der Zeile:
      Label1.Caption := IntToStr((100 * Position) div Max); //<========= will ich mir den aktuellen Kopier-Prozentsatz anzeigen lassen.

Es wird auch was berechnet - aber es kommen teilweilse positive als auch negative Prozentwerte raus.

Ich hab schon an mir selbst gezweifelt ob ich jetzt schon zu blöd bin Prozent zu rechnen, aber ich habe in meiner Formel eigentlich keinen Fehler.

Vielleicht könnt ihr mir helfen.
Ich möchte eigentlich, neben der Progressbar, die Anzeige auch als Prozent von 0% --> 100% angezeigt haben.
mfg
Helmi

>> Theorie ist Wissen, dass nicht funktioniert - Praxis ist, wenn alles funktioniert und keiner weiss warum! <<
  Mit Zitat antworten Zitat