Re: Nur Integer Werte im Edit Fenster zulassen
Hallo,
den Bereich von -MAXINT bis MAXINT, wenn ich kein Increment setzen kann. z.B. Erste Eingabe 12758 Zweite Eingabe 34715 Dritte Eingabe -1245 da drück man sich den Finger platt. Der Anwender wird sich nach einem anderen Programm umsehen. :wink: Die Frage der Behandlung von Integereingaben(oder andere) ist IMHO abhängig von der Art der Anwendung/Eingaben. Ich code es meistens in etwa so: - in OnKeyPress Tasten abfangen - in OnChange prüfen, bei Fehler Edit einfärben und Hint zur Info(falls z.B. mit Strg+V eingefügt wurde) - wenn Edit noch eingefärbt ist in OnExit Meldung und Focus zurück setzen. |
Re: Nur Integer Werte im Edit Fenster zulassen
Zitat:
|
Re: Nur Integer Werte im Edit Fenster zulassen
Hallo,
Zitat:
|
Re: Nur Integer Werte im Edit Fenster zulassen
Zitat:
Wieso sollte man dann groß rumfriemeln, bis jetzt hatten wir noch keinen wirklich überzeugenden Code :wall: |
Re: Nur Integer Werte im Edit Fenster zulassen
Es gibt eine überzeugende Lösung - sie wurde von Lannes in Beitrag #41 angesprochen.
Dieser Thread zeigt doch sehr deutlich, daß jeder Versuch, die Menge (und Anzahl) der gültigen Zeichen einzuschränken, früher oder später in einer sehr aufwendigen und dennoch unbefriedigenden Lösung endet. Bei Integer-Werten könnte man zumindest die Buchstaben ausschließen, bei Real-Werten nicht mal das vollständig ("E" für Exponent). Ein Vorzeichen sollte zugelassen werden, aber eben nur eines bei Integer, maximal zwei bei Reals. Ein Komma bei Real-Werten sollte möglich sein. Möchte der Anwender das Komma verschieben, muß er zunächst das alte löschen, um dann ein neues eingeben zu können. Viel einfacher ist es doch, die Eingabe des Anwenders nicht einzuschränken, und ihm stattdessen eine optische Rückmeldung über seine Eingabe zu geben. Dies ist genau die Lösung, die Lannes angesprochen hat. marabu beschreibt sie hier für Real-Werte und hier für TDateTime-Werte. Wie die Beispielcodes zeigen, kann mit relativ geringem Aufwand eine überzeugende Lösung realisiert werden. Gruß Hawkeye |
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:34 Uhr. |
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