hallo nochmal,
so... ich hab mich jetzt noch ein bisschen gespielt und bemerkt, dass Round als Ergebnistyp Int64 liefert! Daher hab ich jetzt folgende Typcasts durchgeführt - und es ging:
var
tmp: Int64;
begin
tmp := Round(EnsureRange(AlterWert / Skalierung, Low(Integer), High(Integer));
NeuerWert := Integer(tmp);
...
Allerdings erhalte ich für sehr große x-Werte bei f(x)=x² komische Werte - z.T. null oder negativ.
Liegt vermutlich an Overflows - oder?.
Wie kann ich das Problem am besten lösen, so dass ich nur "NeueWerte" bis High(Integer) erhalte und alle Werte, die darüber hinaus gehen = High(Integer) setzt werden?????
(am besten, ohne Bluescreen
)
mfg,
heiopei