Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Общие вопросы > Работа со временем


Автор: Akella 8.2.2006, 10:09
Есть функция Now, которая воврращает тек. дату и время.
Как правильно подсчитать, что следующий запуск (чего-то там) будет now+значение таймера (TTimer)
т.е. now + 3600000 мс = ???
(3600000 = 1час)

Автор: Snowy 8.2.2006, 10:11
Код
  next := now + (Timer1.Interval / 1000 / 60 / 60 / 24);

Автор: Albinos_x 8.2.2006, 10:22
Код

 next := now +EncodeTime(0,0,0,1)*Timer1.Interval;

Цитата(Akella @ 8.2.2006, 10:09 Найти цитируемый пост)

(3600000 = 1час)

Код

 next := now +EncodeTime(1,0,0,0);

Код

 next := now +(1/24);

Добавлено @ 10:26
Код

 next := now + (Timer1.Interval/86400000);


Автор: SergeBS 8.2.2006, 10:47
const MSecsPerDay никто не отменял.

Автор: Snowy 8.2.2006, 10:54
Цитата(SergeBS @ 8.2.2006, 10:47 Найти цитируемый пост)
const MSecsPerDay никто не отменял.

Тоже вариант, но ничего не меняет.
Откомпиленный ехе будут байт-в-байт.
Мне так больше нравится явное выражение - так наглядней.
А компилятор все равно всю строку соберет в одну константу.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)