Entwickler-Ecke

Delphi Language (Object-Pascal) / CLX - String prüfen und umwandeln


wunsiedler - Mi 03.09.03 16:09
Titel: String prüfen und umwandeln
Wie kann ich prüfen, ob in "Edit1.Text" eine gültige Zahl steht, bevor ich diese mit " StrToFloat" umwandle. Steht da eine ungültige, kommt eine eceptions, was ich vermeiden will.


derDoc - Mi 03.09.03 16:10

Es gibt in der Unit IdGlobal eine Funktion IsNumeric.

Du kannst aber auch einen try...except Block um deine Typumwandlung schreiben.


wunsiedler - Mi 03.09.03 16:29

Zitat:
[Error] Unit1.pas(29): Undeclared identifier: 'isnumeric'

Das sagt er mir bei IsNumeric

Delphi-Quelltext
1:
2:
3:
4:
if(isnumeric(Edit1.Text))then
begin
.............
end;

D6 PE, WIN2000

Moderiert von user profile iconTino: Delphi- & Quote-Tags hinzugefügt.


Wolff68 - Mi 03.09.03 20:40

Deshalb hat dir derDoc ja auch mitgeteilt, daß das in der Unit idGlobal enthalten ist. Diese Unit solltest Du dann natürlich auch in deine Uses Liste mit aufnehmen.

ABER: derDoc ist leider auf dem Holzweg. IsNumeric(c: Char): Boolean !!! Also leider nur für einzelne Zeichen anwendbar.

Die Einbindung in ein Try ... Except ... End; würde ich bevorzugen. (Und nicht wundern, daß beim Testlauf in der Delphi-IDE nach wie vor eine Fehlermeldung kommt. Eine weitere Möglichkeit wäre StrToFloatDef. Da kannst einen Standardwert setzen, der zurückgegeben wird, wenn die Umwandlung zu einem Fehler führt.


Brueggendiek - Mi 03.09.03 21:54

Hallo!

Wesentlich schneller als mit dem TRY-EXCEPT geht es mit Val! Ist der Code 0, war alles klar.

Gruß

Dietmar Brüggendiek