Ach moment, da steht ja Größe
Diesen Fall der Dummheit der User musste abfangen.
In diesem Fall ist klar warum er mit einem Runtime Error rausspringt. Es wird ein Onjekt übergeben, welches vom falschen Typ ist. In dem Fall ein Buchstabe an eine Zahl.
######
Nimm am besten die Function IsFloat dazu.
Code:
function IsFloat(S: String): Boolean;
begin
try
Result := True;
StrToFloat(S);
except on E: EConvertError do
Result := False;
end;
end;
Wenn der eingegebene Wert eine Fliesskommazahl ist, dann wandelt er sie in eine um. Ansonsten gibt er ein "False" zurück. Wenn er das zurückgibt, schmeiss dem User einfach eine Meldung raus und beende das Programm.
Damit kann man das Programm auch nicht mehr falsch bedienen, wie ich.