Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Überprüfen von Edit (https://www.delphipraxis.net/166503-ueberpruefen-von-edit.html)

himitsu 16. Feb 2012 09:05

AW: Überprüfen von Edit
 
Eine Prüfung im OnExit und/oder beim Auslesen des Wertes, wird durch OnKeyUp/Down nicht überflüssig.
Denn ansonsten komm ich und mach Copy&Paste. (Strg+V, Shift+Insert, Kontextmenü+Einfügen usw.)

DeddyH 16. Feb 2012 09:16

AW: Überprüfen von Edit
 
Delphi-Quellcode:
SetWindowLong(Edit.Handle, GWL_STYLE, GetWindowLong(Edit.Handle, GWL_STYLE) or ES_NUMBER);
Damit kann man sich die OnKeyPress-Überprüfung sparen. Übrigens scheint es zumindest ab Vista so, als ob der Hinweis
Zitat:

Note that, even with this set, it is still possible to paste non-digits into the edit control.
nicht mehr gilt (ich schaffe es zumindest nicht, per C&P da irgendwelchen Text einzufügen). Trotzdem muss die Prüfung im OnExit zusätzlich erfolgen (Leerstring ist ja immer noch möglich).

silver-moon-2000 16. Feb 2012 09:48

AW: Überprüfen von Edit
 
Zitat:

Zitat von himitsu (Beitrag 1151341)
Eine Prüfung im OnExit und/oder beim Auslesen des Wertes, wird durch OnKeyUp/Down nicht überflüssig.
Denn ansonsten komm ich und mach Copy&Paste. (Strg+V, Shift+Insert, Kontextmenü+Einfügen usw.)

Stimmt, aber ich kann mich nicht erinnern, das behauptet zu haben :wink:.
Ich meinte ja, wenn man die Überprüfung im OnExit weglässt, muss man stattdessen im weiteren Verlauf selber bei jeder Umwandlung mit TryStrToInt (oder StrToIntDef oder was es sonst noch so gibt) überprüfen, ob der Inhalt gültig ist.

Das wird mit der Überprüfung im OnExit komfortabler. Es geht aber auch anders. Für eine der beiden Möglichkeiten muss man sich jedoch entscheiden, wenn keine Exceptions fliegen sollen.

Zitat:

Zitat von UliBru (Beitrag 1151324)
Was denn dazu führt, dass man dann zwangsweise etwas eingeben MUSS, ansonsten reagiert das Programm auch nicht mehr auf Buttons etc.
Also dann vielleicht noch auf einen leeren String abfragen.

Zitat:

Zitat von DeddyH (Beitrag 1151343)
Trotzdem muss die Prüfung im OnExit zusätzlich erfolgen (Leerstring ist ja immer noch möglich).

Bestürzt zur Kenntnis genommen und ordentlich geschämt :duck:


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:22 Uhr.
Seite 2 von 2     12   

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz