Was ich nicht geschrieben habe ist, dass ich die Zahl aus einem Editfeld übernehme. Übergebe ich die Zahl direkt, wird das vom Compiler noch evtl. erkannt, aber bei Editfeld als String wird es problematischer.
Da ist es doch noch viel einfacher:
Delphi-Quellcode:
var
Value: Integer;
begin
if not TryStrToInt(Edit1.Text, Value) then
ShowMessage('Nicht im gültigen Bereich'); // Wenn NumbersOnly beim Edit aktiviert ist, können nur Zahlen eingegeben werden, dann kann der Fehler nur der Zahlenbereich sein
Und mit aktivierter Bereichsprüfung (siehe oben) knallt es bei der Zuweisung:
Delphi-Quellcode:
var
Value: Int64;
Value2: Integer;
begin
if not TryStrToInt64(Edit1.Text, Value) then
ShowMessage('Fehler');
try
Value2 := Value;
except
on E: ERangeError do
ShowMessage('Nicht im gültigen Bereich');
end;