|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
19.11.2010, 16:27 | #1 |
Форумчанин
Регистрация: 01.08.2010
Сообщений: 124
|
Сделать таймер из Label и Timer
Необходимо из Label1 сделать что-то вроде обратного отсчёта.
На форме есть Timer1, в котором случайно задаётся интервал. Необходимо, чтобы в Label1 показывался обратный отсчёт этого интервала. Т.е., если в Timer1 интервал равено 120000 (это 2 минуты), в Label1 должно отсчитываться: 1:59, через секунду 1:58 и т.д. Понимаю, что нужен еще и Timer2 с интервалом в 1000 (1 сек). Но как перевести милисекунды в формат mm:ss не знаю, да и как потом это "анимировать" плохо понимаю. PS. пытался сделать, получается в формате ssss только... |
19.11.2010, 17:06 | #2 |
*
Старожил
Регистрация: 22.11.2006
Сообщений: 9,201
|
Глупость какая...
Берем таймер с секундным интервалом, глобальную переменную с начальным значением 120 и еще одну, с начальным значением 1. Запускаем таймер (и выводим на Label начальное значение первой = 120), по событию OnTimer которого выводим на Label разницу между первой и второй глобальными переменными, инкрементируем вторую, проверяем, не стала ли она больше, чем первая. Если стала - выключаем таймер... |
19.11.2010, 17:25 | #3 |
Форумчанин
Регистрация: 01.08.2010
Сообщений: 124
|
Не совсем понял, что вы написали
Нужен обратный отсчет (например, от 128000мсек), обновляемый в режиме реального времени. Разобрался с переводом милисек в формат mm:ss : Код:
|
19.11.2010, 17:26 | #4 | |
Android Developer
Старожил Подтвердите свой е-майл
Регистрация: 19.02.2007
Сообщений: 3,708
|
Цитата:
|
|
19.11.2010, 17:46 | #5 |
Форумчанин
Регистрация: 01.08.2010
Сообщений: 124
|
именно. но код толковый написать не могу, программа либо виснет, либо выдается 00:00, помогите с кодом, пожалуйста.
Код:
вам раз плюнуть, а мне приятно ) |
19.11.2010, 17:49 | #6 | |
*
Старожил
Регистрация: 22.11.2006
Сообщений: 9,201
|
Цитата:
|
|
19.11.2010, 18:01 | #7 |
Форумчанин
Регистрация: 01.08.2010
Сообщений: 124
|
Код:
|
19.11.2010, 18:21 | #8 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
потому что Вы не понимаете.
в процедуре обработки, которая висит на таймере НЕ ДОЛЖНО БЫТЬ ЦИКЛОВ!!!! т.е. объявите переменную N где-нибудь глобально и на FormCreate сделайте N:=128000; в в процедуре обработки таймера (интервал 1000 мс == 1 сек) напишите: Код:
|
19.11.2010, 18:23 | #9 |
*
Старожил
Регистрация: 22.11.2006
Сообщений: 9,201
|
Код:
|
20.11.2010, 00:09 | #10 |
Форумчанин
Регистрация: 01.08.2010
Сообщений: 124
|
Serge_Bliznykov, ваш способ не работает..
mihali4, работает, огромное спасибо! теперь бы синхронизировать два таймера.. |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Сделать таймер | bookkc | Помощь студентам | 4 | 16.10.2010 19:57 |
Как сделать все процессы на одном Timer | Sanek777 | Общие вопросы Delphi | 5 | 26.09.2008 17:56 |
Как сделать Label/StaticText в MFC? | Ceprey | Visual C++ | 5 | 11.03.2008 23:28 |
Вопрос по label. Как сделать так чтобы label была прозрачной. | Lonix | Компоненты Delphi | 2 | 01.04.2007 06:23 |
Как сделать что-бы Таймер срабатывал только один раз? | Greg | Компоненты Delphi | 11 | 16.12.2006 01:25 |