У меня есть следующая функция, за которую я должен верить, должен округлить время до ближайших 15 минут.Круглый период времени до ближайших 15 минут
function TdmData.RoundTime(T: TTime): TTime;
var h, m, s, ms : Word;
begin
DecodeTime(T, h, m, s, ms);
m := (m div 15) * 15;
s := 0;
Result := EncodeTime(h, m, s, ms);
end;
Чтобы проверить функцию я поставил TButton и TEdit на форму и на нажатия кнопки я:
begin
Edit1.Text := RoundTime('12:08:27');
end;
Я получаю сообщение об ошибке при компиляции: «Несовместимые типы TTIME и строка '
Любая помощь с этим будет замечательной.
Спасибо,
'' 12: 08: 27'' имеет тип 'string' – fantaghirocco
Ну, строка не является« TTime ». Ваш код не будет округлен до ближайшего, а обрезается. Там нет такой вещи, как 'TString', и это расстраивает, когда люди составляют сообщения об ошибках. Рассмотрим переход от строки к времени. –
[В Delphi: как мне пройти TDateTime до ближайшей секунды, минуты, пяти минут и т. Д.?] (Http://stackoverflow.com/questions/4122218/in-delphi-how-do-i-round-a- tdatetime-to-closest-second-minute-five-minute-etc) – fantaghirocco