Lazarus; Abbruch bzw Fehlermeldung bei ungültiger Eingabe ausgeben. Wie?
Hi. Ich bin grad dabei, bissl mit Lazarus herumzuspielen. Ich habe nun das Problem, dass ich nicht weiß, wie ich wenn man z.B. in eine Edit-Komponente nichts oder eine Zahl die kleiner ist als 2 eingibt, ich eine Fehlermeldung ausgeben lassen kann bzw das Programm sich selbstständig schließen lassen kann.
Ich weiß, dass ich zum beenden den Befehl Application.terminate brauche, aber wie mache ich das mit der bedingung?
Ich hoffe auf qualitative Antworten :) Grüße
1 Antwort
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!');
beides könnte übrigens mit StrToIntDef erschlagen werden:
i := StrToIntDef(TextFeld.Text, MaxInt);
if (i = MaxInt) then
Application.Terminate;
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.