PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : anfängerproblem: delphi


(del)
2004-10-04, 21:54:18
hi, hab ein problem :)

in delphi will ich aus einem textfeld eine zahl auslesen, die der benutzer eingeben kann und die dann zu weiteren berechnungen benutzt wird. das problem fängt aber da an, wenn der benutzer keine zahl, sondern text, zeichen oder gar nix eingibt. dann stürzt das programm nämlich ab, sobald ich das textfeld auslese (z.b. i:=strtofloat(edit1.text);). wie kann ich vorher abfragen, ob der nutzer schrott eingegeben hat, ohne dass das programm abstürzt?
thanks für help
bazooka

MadMan2k
2004-10-04, 22:02:54
probiers mal damit:
http://delphi-source.de/grundlagen/sprache/exceptions.php

Nagelbrett
2004-10-04, 22:03:36
entweder per exception handling:
try
i:=strtofloat(edit1.text)
except
on EConvertError do ShowMessage('Keine gültige Zahl!');
end;

oder du lässt schon bei der Eingabe in das Edit-Feld nur Zahlen zu. also z.b. könntest du ins OnKeyPress-event folgendes schreiben:
if not (Key in [#8, '0'..'9']) then Key := #0;
allerdings musst du hier auch aufpassen, man könnte z.b. per Rechtsklick mit der Mouse und copy&paste was reinkopieren, was dann nicht hierrunter fällt etc... besser wäre wohl im OnChange zu überprüfen, ob der String ungültige Zeichen enthält oder soetwas in der Art... :)

(del)
2004-10-04, 22:07:11
juhuu :) thanks ihr seid die besten, jetz kann ich beruhigt in die nächste info stunde gehen =)