Einzelnen Beitrag anzeigen

shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#5

Re: Im DBEdit ein String in ein Date umwandeln

  Alt 20. Mai 2008, 12:39
Die technisch beste Lösung wäre, nicht am Control TDBEdit anzusetzen, sondern am Feld.
Dazu wird ein Eventhandler für OnSetText bereitgestellt:
Delphi-Quellcode:
procedure TForm1.DateFieldOnSetText(Sender: TField; const Text: String);
begin
  if Text = 'h'  then
    Sender.AsDateTime := DateToStr( Date())
  else if Text = 'm'  then
    Sender.AsDateTime := DateToStr( Date()+1.0)
  else if Text = 'g'  then
    Sender.AsDateTime := DateToStr( Date()-1.0)
  else
    Sender.AsString := Text;
end;
Vorteil: das funktioniert jetzt nicht nur mit einem DBEdit sondern auch mit TDBGrid.
Ausserdem ist es möglich alle Date-Felder über eine Schleife abzugrasen und den Eventhandler zuzuweisen.
Andreas
  Mit Zitat antworten Zitat