Zitat:
Hex 00 - 7F = 0 - 127 -> 00 = 0% , 7F = 100%
Hex 80 - FF = 128 - 255 -> 80 = 100% , FF = 0%
Wenn ich das ganz stur übersetze, würde ich wohl auf sowas kommen:
Delphi-Quellcode:
if ShortInt(aValue) < 0 then
Result := (-ShortInt(aValue) - 1) * 100 div 127;
else
Result := aValue * 100 div 127;
Sicher daß die $FF genau 0% entspricht und nicht 1.27% ?
Wenn 1.27%, dann entspricht es einfach
Abs(ShortInt(aValue) / 1.27)
, bzw.
Abs(ShortInt(aValue) * 100 div 127)