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

1 Antwort

Vom Beitragsersteller 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!');

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
CreeperNicol 
Beitragsersteller
 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