Есть ли способ получить время, оставшееся до пожара TTimer?
Возможный дубликат:
Delphi Timer: время до следующего события
Использование C++ Builder XE в Windows 7 Pro (64-разрядная версия):
У меня есть TTimer на форме.
Что я хочу сделать, это обновить индикатор выполнения, чтобы показать, сколько времени осталось TTimer, прежде чем он вызывает обработчик события OnTimer.
Есть ли какой-нибудь способ узнать, что это будет долго, пока интервал TTimer не сработает в событии OnTimer?
1 ответ
Нет, таймеры Windows не предоставляют интерфейса для этого.
Так как вы все равно будете обновлять индикатор выполнения, у вас уже будет некоторый периодический код, который выполняется чаще, чем таймер, который вы хотите отслеживать. Этот код будет активирован таймером, поэтому в этом коде таймера проверьте текущее время и сравните его с временем, которое вы предварительно рассчитали для таймера, который вы хотите отслеживать.
Затем избавьтесь от первого таймера, так как он вам больше не нужен. Вместо этого просто используйте таймер "отслеживания", чтобы запустить исходный код, когда пришло время. В конечном итоге у вас будет один таймер, который постоянно проверяет, пора ли запускать код. Если пришло время, тогда запустите код; в противном случае обновите индикатор выполнения.