AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Delphi TMaskEdit automatisch füllen (Datumsformat)
Thema durchsuchen
Ansicht
Themen-Optionen

TMaskEdit automatisch füllen (Datumsformat)

Ein Thema von MiKaEr · begonnen am 8. Mär 2012 · letzter Beitrag vom 8. Mär 2012
Antwort Antwort
MiKaEr
(Gast)

n/a Beiträge
 
#1

TMaskEdit automatisch füllen (Datumsformat)

  Alt 8. Mär 2012, 01:40
mein maskedit hat folgendesm, ganz normales uhrzeit-format: !90:00;1;_

wenn ich nun eine uhrzeit eingebe und zum beispiel das erste "feld" leer lasse UND den fokus einer anderen komponente gebe, erhalte ich einen fehler.

meine frage nun:
ich dachte ich kann den fehler ausbügeln und mein maskedit selbst korrigieren. aber die exception kommt mir immer zuvor.

wie kann ich nun ein maskedit (dessen leeren stellen) automatisch füllen lassen und KEINE exception bei ent-fokusierung des maskedits bekommen?

Geändert von MiKaEr ( 8. Mär 2012 um 01:45 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.648 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: TMaskEdit automatisch füllen (Datumsformat)

  Alt 8. Mär 2012, 06:34
Ein MaskEdit ist genau für diese Validierung gedacht, damit man eben nicht etwas anderes eingeben kann.

Daher musst du dir ein eigenes MaskEdit ableiten und die Methode ValidateEdit überschreiben, wenn du das ändern willst.
Sebastian Jänicke
AppCentral
  Mit Zitat antworten Zitat
mz23
(Gast)

n/a Beiträge
 
#3

AW: TMaskEdit automatisch füllen (Datumsformat)

  Alt 8. Mär 2012, 08:09
Das MaskEdit habe ich auch einige Male erfreut verwendet.
Und es war mit Deinem erwähnten "Fehler" ebenfalls behaftet.

Ich will eine Zahl eingeben (4-stellig) und dachte mir,
wenn ich nur drei Stellen eingebe, dann müßte das auch
klappen. Also statt 0123 nur 123.

Das löste die Fehlermeldung aus.
Seitdem parse ich wieder durch den Eingabetext, entferne
bzw. ignoriere falsche Zeichen, entferne vorausgehende
oder endende Leerzeichen und wandle dann den Text-Wert
in einen Zahl-Wert um.

Bei Bereichsüberschreitungen setze ich dann den höchsten
Wert, oder umgekehrt den niedrigsten möglichen Wert.

Schöne Grüße aus Nürnberg,
Manfred
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#4

AW: TMaskEdit automatisch füllen (Datumsformat)

  Alt 8. Mär 2012, 10:19
Es ist übrigens auch eine Komponente direkt im Delphi vorhanden, zum Eingeben von Datumswerten. (sogar mit einem kleinen Popupkalender, für's Einfache auswählen)
$2B or not $2B
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:22 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