Zitat von
Luckie:
Tipps noch mal richtig, dann kopiere ich das in meinen Code-Schnippsel rein.
Nein, in Prozent muß es nicht sein ... der Wert muß halt "nur" in den Integer-Bereich gebracht (verkleinert) werden,
aber Prozent geht och ... is ja auch im entsprechendem Bereich.
Zitat:
Dann mußt du halt noch einen Divisor mit einbauen, welche die Werte vor der Übergabe an die ProgressBar anpaßt diesen kannst du ja setzen, sobald du die Dateigröße bekommst, also in CEXM_MAXBYTES.
Etwa so:
Delphi-Quellcode:
CEXM_MAXBYTES:
begin
if Int64(Msg.LParam) shl 32 + Msg.WParam <= $7FFFFFFF then Divisor := 1
else Divisor := (Int64(Msg.LParam) shl 32 + Msg.WParam) div $7FFFFFFF;
ProgressBar1.Max := (Int64(Msg.LParam) shl 32 + Msg.WParam) div Divisor;
(Int64(Msg.LParam) shl 32 + Msg.WParam) div Divisor;
PS: Luckie, muß in WndProc nicht
Msg.WParam + Msg.LParam
so sein?
Int64(Msg.WParam) shl 32 + Msg.LParam
Mist zu langsam -.-''
[edit] LParam <> WParam