Typprüfung

Für Fragen von Einsteigern und Programmieranfängern...
Antworten
Stefan67
Beiträge: 33
Registriert: Di 2. Sep 2014, 23:49
OS, Lazarus, FPC: Linux 3.16, Lazarus 1.0.14, FPC 2.6.2
CPU-Target: 32Bit

Typprüfung

Beitrag von Stefan67 »

Wie kann ich sicherstellen, dass eine Eingabe dem erwarteten Typ entspricht?

Beispiel:

Code: Alles auswählen

x:= StrToFloat(Edit1.Text); 
x erwartet also eine Zahl vom Typ Single zugewiesen zu bekommen. Wenn ich in edit1 etwas anderes (z.B. den Buchstaben "f") eingebe, quittiert das Programm das mit einer Fehlermeldung:

Code: Alles auswählen

"f" is an invalid float.
 
Press OK to ignore and risk data corruption.
Press Cancel to kill the program.
Wie kann man das "abfangen"? Umgangssprachlich: "Wenn x, bzw. Edit1.Text nicht Typ single ist, dann ...".

Benutzeravatar
theo
Beiträge: 10874
Registriert: Mo 11. Sep 2006, 19:01

Re: Typprüfung

Beitrag von theo »

Code: Alles auswählen

  if TryStrToFloat(Edit1.text,x) then Caption:=FloatToStr(x);    

Stefan67
Beiträge: 33
Registriert: Di 2. Sep 2014, 23:49
OS, Lazarus, FPC: Linux 3.16, Lazarus 1.0.14, FPC 2.6.2
CPU-Target: 32Bit

Re: Typprüfung

Beitrag von Stefan67 »

:) Danke!

Antworten