Lazarus; Abbruch bzw Fehlermeldung bei ungültiger Eingabe ausgeben. Wie?

1 Antwort

Vom Fragesteller als hilfreich ausgezeichnet

Zuerst holst du dir den Wert aus dem Eingabefeld und vergleichst ihn dann innerhalb eines if:

IF yourTextField.Text = '' THEN // do something ...

Für den Vergleich mit der Zahl musst du den Feldwert natürlich erst in eine Zahl konvertieren.

textFieldValue := STRTOINT(yourTextField.Text);

IF textFieldValue < 2 THEN // do something

Die Variable textFieldValue wurde zuvor als Integer-Variable deklariert.

Fehlermeldungen kannst du in einem eigenen Label anzeigen lassen oder du lässt bspw. eine MessageBox erscheinen:

SHOWMESSAGE('Hello World!');
CreeperNicol 
Fragesteller
 13.05.2018, 11:41

Hey danke für die Antwort. Es funktioniert. Ich dacht,e dass ich dem Textfeld erst eine Variable zuweisen muss und dann erst vergleichen kann, ob die zahl kleiner is als 2. Und da hätte ich das problem mit der deklaration gehabt, weil ich ja so nicht prüfen konnte ob das feld beschrieben ist..
Danke dir.

0
chakaaa  01.07.2018, 12:03

beides könnte übrigens mit StrToIntDef erschlagen werden:

i := StrToIntDef(TextFeld.Text, MaxInt);
if (i = MaxInt) then
    Application.Terminate;

0