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! <<