![]() |
Wertetafel einer beliebigen Funktion
Folgende Aufgabe
Die Wertetafel einer beliebigen Funktion soll ausgegeben werden. Zur Wertetafel soll auch die Schrittweite wählbar sein. Mein Programm funktioniert, wenn meine Funktion z.B. f(x) = 1 oder so heißt. Aber sobald ich die Variable "x" in das Editfenster eingebe, kommt eine Fehlermeldung "x ist kein gültiger Fließkommawert"... Bin nun schon seid ner Stunde am rumprobieren...daher sieht mein Quelltext mittlerweile auch bisschen komisch aus und es geht sicher viel einfacher. Aber das Problem hab ich nicht bewältigt. Weiß jemand, woran es liegt?
Delphi-Quellcode:
procedure TForm1.WertetafelClick(Sender: TObject);
var x1, x2, x, h, y2: Real; x3, y3 : extended; y1 : string; begin h := strtofloat(edit2.text); x2 := strtofloat(edit4.text); x1 := strtofloat(edit3.text); x := x1; listbox1.Items.add(' x f(x) '); y1 := edit1.text; y2 := strtofloat(y1); while x < x2 do begin x3 := round(x); y3 := round(y2); listbox1.Items.add(Format('%5.2f',[x3])+ ' ' + Format('%5.2f',[y3])); x := x+h; end; end; end. |
Re: Wertetafel einer beliebigen Funktion
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:
Das ist aber nicht empfehlenswert... besser ist:
try
h := strtofloat(edit2.text); x2 := strtofloat(edit4.text); x1 := strtofloat(edit3.text); except showmessage('Bitte nur Zahlen eingeben!'); end;
Delphi-Quellcode:
Und am besten ist dem Benutzer keine Falscheingaben zu erlauben:
if not TryStrToFloat(edit2.text, h) then
showmessage('Bitte nur Zahlen eingeben!');
Delphi-Quellcode:
procedure TForm1.Edit2KeyPress(Sender: TObject; var Key: Char);
begin if not (key in ['0'..'9', ',', #8]) then key := #0; end; |
Re: Wertetafel einer beliebigen Funktion
Zitat:
|
Re: Wertetafel einer beliebigen Funktion
dankeschön für eure Antworten :-)
@NamenLozer: ah, genau^^hatte nämlich gegoogelt, da ist das auch als Lösungsweg angegeben worden..allerdings konnte ich nicht (für mich verständlich) sehen, wie ich den genau einsetze, denn ich hab noch nie damit gearbeitet...kannst du mir da weiterhelfen? |
Re: Wertetafel einer beliebigen Funktion
Zitat:
Ich habe selbst noch nie sowas gebraucht, aber wenn du ne konkrete Frage hast, helfe ich dir gern. |
Re: Wertetafel einer beliebigen Funktion
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:37 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz