![]() |
Re: Hilfe mit value Befehl
Hier habe ich mal eine function Value() geschrieben.
Wenn keine Zahl eingegeben wurde wird als Ergebnis 0 zurückgeliefert.
Delphi-Quellcode:
function Value(s:string):Double ;
begin try result:=StrToFloat(s); except // Eingabe ist keine Zahl result:=0; end; end; procedure TForm1.Edit1Exit(Sender: TObject); var z1,z2,ergebnis:double; begin z1:=Value(Edit1.text); z2:=value(Edit2.text); Ergebnis:=(z1*z2); edit3.text:=floattostr(ergebnis); end; |
Re: Hilfe mit value Befehl
Da finde ich aber die TryStrToFloat-Variante besser, da sie false als Ergebnis liefert, wenn der wert nicht gewandelt werden konnte. Bei dir kann man nicht unterscheiden ob der benutzer 0 oder jkklfjkskskjf in den Edit eingegeben hat.
|
Re: Hilfe mit value Befehl
@mkinzler
Das geht nicht :\ Undefinierter Bezeichner 'TryStrtofloat' Ausdruckstyp muss Boolean sein @ anderen Das klappt zwar alles, nur brauche ich das dann auch in der Klausur und so viel kann ich mir nicht merken, deswegen wäre mir eine unkomplizierte Lösung wirklich lieber. Aber danke für die großzügige Hilfsbereitschaft hier ^__^ |
Re: Hilfe mit value Befehl
Zitat:
Aber nochmal zur Grundfrage, was eird eingegeben 'vier' oder '4' StrToFloat/TryStrToFloat hilft nur beim 2. Das 1. kannst du mit Val() erreichen |
Re: Hilfe mit value Befehl
Zitat:
|
Re: Hilfe mit value Befehl
Zitat:
|
Re: Hilfe mit value Befehl
Nur leider macht die Funktion nicht ganz was ich versprochen hat habe :oops:
Sie Ignoriert nur falsche Zeichen im String.
Delphi-Quellcode:
würde eine Fehler liefern, aber
wert := StrToInt( '400x');
Delphi-Quellcode:
würde wert = 400 liefern. Ich nehme trotzdem an, das dein Lehrer diese Funktion gemeint hat.
Val( '400x', wert, fehlerpos);
[Edit: Sch.... Tippfehler] |
Re: Hilfe mit value Befehl
So schlecht ist die Routine doch gar nicht, Markus.
Zitat:
Einziger Nachteil der Prozedur: sie akzeptiert nur Dezimalpunkte. Gruß Hawkeye |
Re: Hilfe mit value Befehl
Nein, sie (?) such ja ne Funktion die 'vier' in 4 wandelt.
|
Re: Hilfe mit value Befehl
Ich kann mir ehrlich gesagt nicht vorstellen, daß ein Lehrer solche Anforderungen an die Schüler stellt. Meiner Meinung nach soll durch die Eingabe von "vier" nur getestet werden, wie sich das Programm bei der Eingabe von Texten verhält. Die Aufgabe der Schüler wird wohl lediglich darin bestehen, solche Eingaben als fehlerhaft zurückweisen.
Vielleicht kann uns "Maeuschen" dazu mehr sagen? Gruß Hawkeye |
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:26 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