Die DBEdit-Komponente selbst kann das nicht. Du kannst die Eingabe aber über das Datenfeld prüfen.
Erstelle einfach eine OnSetText-Ereignisprozedur für das entsprechende Datenfeld. Hier bekommst du die Eingabe als String, bevor der Wert in das Datenfeld eingetragen wird. Hier kannst du es prüfen, manipulieren, löschen oder was auch immer. Am Ende der Prozedur kannst du dann den richtigen TDateTime-Wert über Sender.Value:=.... zuweisen.
Im OnCreate des Datenmoduls habe ich eine Schleife eingebaut, die eine spezielle OnSetText-Procedure allen TDateFields / TDateTimeFields zuweist. Dann vergisst man auch keins davon.
das haben wir auch und dort habe ich es auch eingefügt. haben wir schon für das Displayformat für Zahlen gemacht.
Dort habe ich auch onSetText onGetText für ftDate und ftDateTime gesetzt.
Problem 2 löst du mit
Sender.Clear;
Perferkt. Danke.