Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Kopieren mit TProgressbar Ausserhalb des gültigen bereiches (https://www.delphipraxis.net/173390-kopieren-mit-tprogressbar-ausserhalb-des-gueltigen-bereiches.html)

Sir Rufo 21. Feb 2013 20:58

AW: Kopieren mit TProgressbar Ausserhalb des gültigen bereiches
 
Zitat:

Zitat von Union (Beitrag 1204661)
Ich meine es müsste in dem Callback heissen:
Delphi-Quellcode:
Form1.ProgressBar1.Max := 100;
Form1.ProgressBar1.Position := Position div Size * 100;

Das kann so leider nicht funktionieren, denn es wird erst
Delphi-Quellcode:
Position div Size
berechnet (da kommt immer 0 heraus, Ausnahme Position = Size, dann 1) und das mit 100 multipliziert.

Jetzt sollte auch klar werden, warum die Progressbar-Anzeige so springt ;)

So wird dann auch richtig gerechnet:
Delphi-Quellcode:
Form1.ProgressBar1.Max := 100;
Form1.ProgressBar1.Position := ( 100 * Position ) div Size;

DeddyH 22. Feb 2013 07:12

AW: Kopieren mit TProgressbar Ausserhalb des gültigen bereiches
 
Delphi-Quellcode:
if Assigned(Callback) then
  Callback(0, SizeFile);
Sollte das Ganze stabiler machen, und man muss nicht zwingend einen Callback mitgeben.
Zitat:

Delphi-Quellcode:
Form1.ProgressBar1.Position := ( 100 * Position ) div Size;

Noch' n Vorschlag:
Delphi-Quellcode:
Form1.ProgressBar1.Position := MulDiv(Position, 100, Size);


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:57 Uhr.
Seite 2 von 2     12   

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz