can't you write a function like that ?
function progresspos( positon, limit: double) : integer;
begin
result:= Integer (position / limit * 100) ; // got a percentage
end;
.. seting maximum progressbar to 99 (0 to 99% = 100)
... bla bla
ProgressBar.Position := progresspos (mybignum, mybiglimit);
...
I always did it that way, even if I need a tooltip or a TLabel on one side to show exact values, otherwise I'm afraid screens won't be large enough to count 'QWord' pixels on any axis lol... just saying