Следующий обработчик событий – TDateTimeField.OnSetText – не слишком элегантен, но он работает.
Предположим, что имеется маска редактирования, допускающая формат hh:mm или hh:mm:ss. Тогда процедура будет иметь следующий вид:
procedure TForm1.Table1Date1SetText(Sender: TField; const Text: String);
var
d: TDateTime;
t: string;
begin
t := Text;
with Sender as TDateTimeField do begin
if IsNull then d := SysUtils.Date
else d := AsDateTime;
AsDateTime := StrToDateTime(Copy(DateToStr(d), 1, 10) + ' ' + t);
end;
end;
Примечание[News Group]