![]() |
Ein String auf numerisch Testen
Hallo Leutz!
Ich übergebe mir aus einen EditFeld den Inhalt an eine Variable(integer). Durch StrToInt lasse ich es umwandeln... Wenn man Zaheln eingibt alles schön und gut.. nur was wenn man plötzlich mal einen Buchstabe eingibt? -> Logischer weiße eine Fehler! Nun möchte ich vor dem Umwandeln testen ob im Textfeld nur Ziffern eingegeben wurden?? Wie geht das? Unter VB mit IsNumeric ... aber unter Delphi keine Ahnung? Gibt es etwas vorgefertigtes?? Danke Schonmal MfG Progger2005 |
Re: Ein String auf numerisch Testen
Probiere es mal mit TryStrToInt!
Flare |
Re: Ein String auf numerisch Testen
Servus!
Ich habe es versucht jedoch ohne Ergebnis geblieben?? Ich will ja möglichst auch noch eine Ausgabe tätigen um den Benutze mitzuteilen was er falsch gemacht hat.. |
Re: Ein String auf numerisch Testen
Zeig mal etwas Code, dann kann man die u.U. sagen, warum das gewünschte Ergebnis ausgeblieben ist.
|
Re: Ein String auf numerisch Testen
Hier der CODE
Habe es jedoch mit TryStrToFloat gemacht...sollte ja aber trotzdem gehen.. Also ich will herausfiltern wenn ein Buchstabe eingegeben wurde...das da net gerechnet wird...
Delphi-Quellcode:
procedure Tmain.cmdBerechnenClick(Sender: TObject);
var F,A,p:Real; begin F:=TryStrToFloat(txtF.Text); A:=TryStrToFloat(txtA.Text); If A=0 Then //Ausgabe das Falsche Werte eingegeben wurden txtp.text:='Falsche Werte' Else begin //Weiterrechnen p:=F/A; txtp.Text:=FloatToStr(p); end; end; |
Re: Ein String auf numerisch Testen
Du hast die Funktion falsch angewandt.
Als Rückgabewert erhälst du ein Boolean, der aussagt, ob die Konvertierung erfolgreich war. Den Wert erhälst du per var-Parameter. |
Re: Ein String auf numerisch Testen
Also um es mal darzulegen das Problem.
Delphi-Quellcode:
also:
b:=TryStrToFloat(txtA.Text,A);
b - boolean Wert A- Float Wert Hab ich das richtig verstanden? |
Re: Ein String auf numerisch Testen
Zitat:
also:
Delphi-Quellcode:
if not TryStrToFloat(txtF.Text, F) then
//Ausgabe das Falsche Werte eingegeben wurden |
Re: Ein String auf numerisch Testen
Ja, richtig. Man könnte es auch so machen:
Delphi-Quellcode:
//Edit: Und denk dran A auf <> 0 zu überprüfen sonst gibt es evtl. ne nette Division durch null ;-)
procedure Tmain.cmdBerechnenClick(Sender: TObject);
var F, A: Real; begin if TryStrToFloat(txtF.Text, F) and TryStrToFloat(txtA.Text, A) then begin //Weiterrechnen p := F/A; txtp.Text := FloatToStr(p); end else txtp.text := 'Falsche Werte' end; |
Re: Ein String auf numerisch Testen
Dann würde ich aber noch überprüfen, ob A <> 0 ist!
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:39 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