ich habe mir überlegt, per Data.DB.TField.OnGetText und Data.DB.TField.OnSetText
das Datum zu speichern und mit der eingegebenen Zeit wieder zurück zu schreiben.
Sowas ähnliches wollte ich auch gerade vorschlagen. Du kannst im OnGetText dem Anzeige- und Editstring den reinen Uhzeit-Text geben und beim OnSetText liest du den Feldwert aus (da steht das Datum nämlich noch drin) und änderst lediglich den Zeitanteil.
Delphi-Quellcode:
procedure TForm19.ClientDataSet1MyFieldGetText(Sender: TField; var Text: string; DisplayText: Boolean);
begin
Text := FormatDateTime('hh:mm', Sender.AsDateTime);
end;
procedure TForm19.ClientDataSet1MyFieldSetText(Sender: TField; const Text: string);
begin
Sender.AsDateTime := DateOf(Sender.AsDateTime) + StrToTime(Text);
end;