Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi spezielle Eingabekomponente (Mask)Edit (https://www.delphipraxis.net/166441-spezielle-eingabekomponente-mask-edit.html)

Lemmy 13. Feb 2012 22:15

spezielle Eingabekomponente (Mask)Edit
 
Hi,

ich brauche eine spezielle (Mask)Edit Komponente. Darin soll unterstützt durch die Komponente der Anwender eine Nummer nach folgendem SChema eingeben:

1. 6-stellige Zahl
2. beliebige ID (Zahlen und Buchstaben, keine Längeninfo
3. eine Buchstabenkombination aus einer vordefinierten Menge (also eine Kombination aus DS, AES oder KD - das sind Beispiele, stehen schon zur Entwurfszeit fest, nicht dynamisch)
4. eine weitere bel. ID (Zahlen und Buchsaben) keine Längeninfo.

Zwischen den 4 Gruppen gibts ein Trennzeichen

Über ein MaskEdit gehts nciht wirklich, da ich auf die eine oder andere Art die Längeninfo mit in die Maske einfließen lassen muss.

Weitere Alternative: 4 Edits bzw. 3 Edits mit einer Combobox, die entsprechend zusammenhängen, das gefällt mir aber noch nicht wirklich. Hat jemand noch eine andere Idee?

GRüße

Darlo 13. Feb 2012 23:00

AW: spezielle Eingabekomponente (Mask)Edit
 
Hi,

für Block 1 und 3 macht eine Maske ja sind, da man so Fehleingaben vermeiden kann. Block 2 und 3 sind ja nicht
eindeutig und eine Maske macht hier ja keinen Sinn da weder die erlaubten Eingabe noch die Länge definierbar ist.
Kannst Du an Block 2 und 3 ggf. noch eine Exitkombination dranhängen die ansonsten ausschließbar ist.
Zum Beispiel nach 999 wird automatisch ein "-" gesetzt und der Block beendet. Die erfolgten Eingaben kann man dann in eine Maske setzen.

Gruß

Sir Rufo 14. Feb 2012 03:34

AW: spezielle Eingabekomponente (Mask)Edit
 
Im Grunde genommen hast du dir die Antwort schon selber gegeben:

Du brauchst eine eigene Komponente abgeleitet von TEdit (bzw. TCustomEdit)

Lemmy 15. Feb 2012 20:40

AW: spezielle Eingabekomponente (Mask)Edit
 
Hi,

Danke für eure Hinweise. Wird wohl auf ne eigene Komponente raus laufen....

cu

Furtbichler 15. Feb 2012 20:58

AW: spezielle Eingabekomponente (Mask)Edit
 
Wie wäre es mit einem OnKeyPress-Event und einem DEA (Endlichen Automaten)? Is ne Sache von 10min, keine neue Komponente und fertig ist die Lauge.

jobo 15. Feb 2012 22:15

AW: spezielle Eingabekomponente (Mask)Edit
 
Geht es um die nächste Stufe der Kontonummernverlängerung für 2022?
Ohne nach Sinn und Zweck zu fragen:
ich würde gemäß der Vorgaben 4 Eingabe"elemente" schaffen. Entweder in einem Edit mit bspw. dem genannten oder anderen definiertem Trennzeichen (. - # usw wird alles zu Punkt abgebildet), das die Gruppe wechselt
oder
gleich 4 Edits nehmen, die mittels der definierten Zeichen oder auch allgemein bekannter Steuerzeichen [tab] [enter] usw gewechselt werden. Gruppenwechsel in beide Varianten aktiv vom Anwender gesteuert, nicht durch Auswertung der Werteeingabe. Feld-/Gruppenweiterschaltung soweit wie möglich an den Standard der Anwendung anpassen.

Dabei geht es nicht um den geringsten Aufwand beim Programmieren, sondern eine sinnvolle Bedienbarkeit und Übersichtlichkeit. Irgendeine arme Sau muss das ja eingeben und ablesen können.

sx2008 16. Feb 2012 00:31

AW: spezielle Eingabekomponente (Mask)Edit
 
Zitat:

Zitat von jobo (Beitrag 1151300)
Irgendeine arme Sau muss das ja eingeben und ablesen können.

Man sollte auch daran denken, dass so lange Codes häufig per Copy & Paste in die Anwendung kommen.
Falls das aber durch übermässige Restriktionen verhindert wird, könnte der Benutzer sauer werden (so geht's mir immer wenn ich z.B. eine Telefonnr einkopieren möchte und der superschlaue Programmierer lässt nur 13 Ziffern zu).


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:28 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