Einzelnen Beitrag anzeigen

dominikkv

Registriert seit: 30. Sep 2006
Ort: Gundelfingen
1.109 Beiträge
 
Delphi 2007 Professional
 
#2

Re: Wertetafel einer beliebigen Funktion

  Alt 9. Jun 2009, 20:50
Du gehst davon aus, dass der Benutzer in das Edit nur Zahlen eingibt. Er kann aber auch Buchstaben eingeben, und aus Buchstaben kann StrToFloat() keine Zahl machen, darum die Fehlermeldung.
Lösungen:

1) Den Fehler wenn er auftritt abfangen:
Delphi-Quellcode:
try
  h := strtofloat(edit2.text);
  x2 := strtofloat(edit4.text);
  x1 := strtofloat(edit3.text);
except
  showmessage('Bitte nur Zahlen eingeben!');
end;
Das ist aber nicht empfehlenswert... besser ist:
Delphi-Quellcode:
if not TryStrToFloat(edit2.text, h) then
  showmessage('Bitte nur Zahlen eingeben!');
Und am besten ist dem Benutzer keine Falscheingaben zu erlauben:
Delphi-Quellcode:
procedure TForm1.Edit2KeyPress(Sender: TObject; var Key: Char);
begin
  if not (key in ['0'..'9', ',', #8]) then
    key := #0;
end;
Dominik
Wer anderen eine Grube gräbt, hat ein Gruben-Grab-Gerät!
  Mit Zitat antworten Zitat