Entwickler-Ecke

Sonstiges (Delphi) - try except


poeter - Di 08.04.03 20:53
Titel: try except
ich will mit einer try ... except schleife ein edit feld kontollieren lassen, damit das programm nicht abstürzt. also wenn noch keine eingabe gemacht wurde, soll es einfach neu beginnen. wenn ein falscher wert eingegeben wurde, so soll eine fehlermeldung (message-dialog) kommen. oder so ähnlich. wie mach ich das

wär nett wenn ihr mir helfen könntet


Delete - Di 08.04.03 21:23

Zitat:
wie mach ich das

Na, wie du gesagt hast. :wink:

Im Ernst -
Schau dir mal die Eigenschaft "OnChange" von Editfeldern an. Das wäre der Weg, den ich wählen würde. Als typisches Beispiel mal ein deaktivierter Button, der nur aktiv sein darf, wenn in einem Edit was drin steht:

Quelltext
1:
2:
3:
4:
procedure TForm1.Edit1Change(Sender: TObject);
begin
  Button1.Enabled := Edit1.Text <> '';
end;

Nach ähnlichem Muster kannst du so prüfen, ob die Eingabe einer bestimmten Vorgabe entspricht. Wenn nicht, dann löscht du den Text einfach wieder, usw.

Hilft dir das schon weiter?


Delete - Di 08.04.03 21:27

try-execept ist keine Schleife.

Nutze das OnKeypress-Ereignis wenn du Eingaben abfangen willst.


Aya - Di 08.04.03 21:32

Luckie hat folgendes geschrieben:
Nutze das OnKeypress-Ereignis wenn du Eingaben abfangen willst.

Ich würde OnChange nehmen... denn im OnKeyPress bekommt man u.U. nich mit wenn der Text geändert wird (man kann ja auch nur per maus mit Copy/Paste was reinmachen.. oder... :think: Bildschrimtastatur!! *g*)

Au'revoir,
Aya~


Delete - Di 08.04.03 21:38

Würde ich nicht machen. Wenn du nur Ziffern eingeben willst mußt du jedes mal den ganzen Text überprüfen. Beim OnKeypress nur das gerade eigegebene. Um sicher zu gehen, kann man dann noch mal im OnExit prüfen.


poeter - Di 08.04.03 21:41

Luckie hat folgendes geschrieben:
Würde ich nicht machen. Wenn du nur Ziffern eingeben willst mußt du jedes mal den ganzen Text überprüfen. Beim OnKeypress nur das gerade eigegebene. Um sicher zu gehen, kann man dann noch ml
im OnExit prüfen.


und wie mach ich das mit dem onkeypress?
hab nicht so wirklich ahnung von delphi