Moin Leute!
Mein Delphi kann nicht rechnen, wie blöd:
Delphi-Quellcode:
Var
lrIst,
lrSoll : Double;
lIst,
lSoll : Integer;
lTmpPercent,
lLastPercent : Byte;
Procedure ProgressBar;
BEGIN
lrIst:=lIst * 100;
lrSoll:=lSoll;
-> lrIst:=lrIst / lrSoll;
lTmpPercent:=Round(lrIst);
If lLastPercent <> lTmpPercent Then
Begin
lLastPercent:=lTmpPercent;
pbSpezi.Position:=lLastPercent;
Application.ProcessMessages;
End;
END;
Das Programm ist an der mit -> gekennzeichneten Stelle. lIst = 1; lSoll = 330236
Da habe ich die Werte extra in temporäre Variablen geschrieben, und trotzdem. In der mit -> markierten Zeile führt er nur 100/330236 aus und schreibt es wieder in die selbe Variable. Dabei kommt es zum Gleitkommafehler. Kann mir einer sagen, was das soll?
Ein Integer
liebender
Stefan