etwas in Richtung Prozent ist wirklich am einfachsten
z.B. (ohne Gleitkommaoperationen ... da die Dateien wohl meist unter 2 EB (ExaByte) groß sind, also vollkommend ausreichend)
Zitat:
Min := 0;
Max := 1000;
Position := PB_Max * 1000 div PB_Position;
und falls es auf eine Möglichst hohe und schnell errechenbare Genauigkeit hinausgehen soll, dann kann man auch die werte auf den Interger runterskalieren.
Delphi-Quellcode:
PB_Div := PB_Max div High(Integer);
Min := 0;
Max := PB_Max div PB_Div;
Position := PB_Position div PB_Div;
am aller einfachsten wäre es zwar, wenn man nur die oberen 32 Bit ala thkerkmann verwendet, aber da hat man kleine Problemchen bei kleineren Werten (wo nur die unteren 32 Bit belegt sind)