Entwickler-Ecke
Delphi Language (Object-Pascal) / CLX - Zahl oder nicht?
NetZwerg - So 04.04.04 12:57
Titel: Zahl oder nicht?
Hallo,
ich habe eine Edit-Feld (Name: Zahl) dessen Inhalt ich per StrToInt() in eine Zahl konvertieren möchte. Allerdings möchte ich, dass mein Programm prüft, ob mein Zahl-Feld einen gültigen Integer-Wert oder Text enthält. ich hab ees so versucht:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8:
| procedure TForm1.Button1Click(Sender: TObject); var IrgendeineVariable: integer; begin if StrToInt(Zahl.text) <> S_OK then ShowMessage('Bitte geben sie eine Zahl ein!') else irgendeineVariable := StrToInt(Zahl.text); end; |
wenn ich jetzt einen text in das fedld eingebe, erscheint allerdings nur die Fehlermeldung
'Der Text den ich eingegeben habe' ist kein gültiger Inetegerwert.
cYa, Dave :twisted:
Motzi - So 04.04.04 13:01
Titel: Re: Zahl oder nicht?
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10:
| procedure TForm1.Button1Click(Sender: TObject); var IrgendeineVariable: integer; begin try IrgendeineVariable := StrToInt(Zahl.text); except ShowMessage('Bitte geben sie eine Zahl ein!'); end; end; |
Christian S. - So 04.04.04 13:24
Für so etwas sollte man keine Exceptions verwenden. Exceptions sind wirklich nur für Ausnahmen gedacht. Du solltest Val verwenden. Steht in der Hilfe beschrieben, wie man das benutzt.
Motzi - So 04.04.04 13:31
| Peter Lustig hat folgendes geschrieben: |
| Für so etwas sollte man keine Exceptions verwenden. Exceptions sind wirklich nur für Ausnahmen gedacht. |
Ja, aber manchmal trotzdem sehr praktisch..! ;)
Aber wenn wir schonmal dabei sind.. Möglicherweise kann StrToIntDef() auch ganz interesant für dich sein.. :)
NetZwerg - So 04.04.04 16:57
InToStrDef() wäre theoretisch gut, nur soll kein Standartwert zurückgegeben werden, deshalb schlecht! :roll:
FaTaLGuiLLoTiNe - Di 27.04.04 19:37
Ich weiss ja nicht genau, aber gibt's da nicht auch ne Funktion IsNumeric(String):Boolean???
// Oh, geht wahrscheinlich gar nicht, weil wenn's Numeric ist muss es ja noch kein Integer sein, sorry.
Christian S. - Di 27.04.04 19:41
(1) Ist der Thread schon etwas älter und
(2) habe ich bereits geschrieben, wie es geht ("Val").
raziel - Di 27.04.04 19:59
(1) Macht das nix, falls doch mal einer auf die Idee kommt, die Suchfunktion zu benutzen
(2) Der Vollständigkeit halber: Es gibt noch die Möglichkeit "TryStrToInt":
Delphi-Quelltext
1:
| function TryStrToInt(const S: string; out Value: Integer): Boolean; |
liefert false, falls S kein gültiger Integer ist. Andernfalls gibt Value den konvertierten Wert als Integer zurück und result := true
raziel
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!