Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 17.04.2012, 12:52   #1
undead92
Пользователь
 
Регистрация: 26.12.2009
Сообщений: 95
По умолчанию Показания с Timer

Здравствуйте, такой вот вопрос, есть кнопка и таймер на 2,5 сек, кнопка становится активной каждые 2,5 секунды и после нажатия становиться неактивной на 2,5сек.

Над кнопкой расположен label и в нем хотелось бы чтобы было написано сколько осталось до ее активации, либо цифрами либо как в игрухах пустая полосочка заполнялась до конца и исчезала
undead92 вне форума Ответить с цитированием
Старый 17.04.2012, 13:30   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Не. Так не получится. Делай второй таймер, который через миллисекунду будет в Лабель отрисовывать остаток времени.
Или по другому - делай первый таймер срабативания через каждые миллисеки, но в нем инкрементируй некую стороннюю переменку. И когда она достигнет значения 2500 останавливай таймер и активируй кнопку
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 17.04.2012, 13:37   #3
undead92
Пользователь
 
Регистрация: 26.12.2009
Сообщений: 95
По умолчанию

спасибо, тогда вопрос следом как сделать такой массив, то есть каждую милисикунду в label идет число от 2,5 2,4 и так до конца, одно число я знаю как засунуть а все нет

2 timer interval 100 - lbl2.caption:= 2,4 (как сделать чтобы следующие были ниже цифры)

надеюсь не придется лепить цикл(

Последний раз редактировалось Stilet; 17.04.2012 в 13:49.
undead92 вне форума Ответить с цитированием
Старый 17.04.2012, 13:41   #4
Hacker19_90
Delphi Warrior
Старожил
 
Аватар для Hacker19_90
 
Регистрация: 15.08.2008
Сообщений: 2,502
По умолчанию

так ещё раз!
Вам надо в лейбл числа столбиком чтоль?
Mess with the best, die like the rest. (с) Hackers
Лабораторные, курсовые на Delphi\Pascal\C++
ya.flex-freelance@yandex.ru Icq - 636-954-303
Hacker19_90 вне форума Ответить с цитированием
Старый 17.04.2012, 13:45   #5
undead92
Пользователь
 
Регистрация: 26.12.2009
Сообщений: 95
По умолчанию

Цитата:
Сообщение от Hacker19_90 Посмотреть сообщение
так ещё раз!
Вам надо в лейбл числа столбиком чтоль?

да просто в лейбл надо чтобы интервал таймера отображался, то есть 2,5 2,4 2,3 2,2 2,1 2,0 и так до конца
undead92 вне форума Ответить с цитированием
Старый 17.04.2012, 13:52   #6
Noor
Участник клуба
 
Аватар для Noor
 
Регистрация: 01.11.2006
Сообщений: 1,051
По умолчанию

Посмотрите этот пример, может что для себя возьмете
Вложения
Тип файла: zip Таймер с обратным счётом.zip (166.8 Кб, 8 просмотров)
Noor вне форума Ответить с цитированием
Старый 17.04.2012, 13:55   #7
Hacker19_90
Delphi Warrior
Старожил
 
Аватар для Hacker19_90
 
Регистрация: 15.08.2008
Сообщений: 2,502
По умолчанию

если выставите правильный интервал то сработает
Ну и соответственно где до срабатывания таймера надо Label1.Caption := '2.5';
тогда
Код:
procedure Timer.OnTimer;
begin
   Label1.Caption := FLoatToStr(StrToFloat(Label1.Caption) - 0.1);   
end;
Mess with the best, die like the rest. (с) Hackers
Лабораторные, курсовые на Delphi\Pascal\C++
ya.flex-freelance@yandex.ru Icq - 636-954-303
Hacker19_90 вне форума Ответить с цитированием
Старый 17.04.2012, 13:56   #8
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
Label1.Caption := FLoatToStr(StrToFloat(Label1.Captio n) - 0.1);
Автор вот так хочет:
Код:
Label1.Caption := Label1.Caption + FLoatToStr(StrToFloat(Label1.Caption) - 0.1);
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 17.04.2012, 13:58   #9
Hacker19_90
Delphi Warrior
Старожил
 
Аватар для Hacker19_90
 
Регистрация: 15.08.2008
Сообщений: 2,502
По умолчанию

цитирую
Цитата:
2 timer interval 100 - lbl2.caption:= 2,4 (как сделать чтобы следующие были ниже цифры)
тогда так
Код:
Label1.Caption := Label1.Caption + #13 + FLoatToStr(StrToFloat(Label1.Caption) - 0.1);
Mess with the best, die like the rest. (с) Hackers
Лабораторные, курсовые на Delphi\Pascal\C++
ya.flex-freelance@yandex.ru Icq - 636-954-303
Hacker19_90 вне форума Ответить с цитированием
Старый 17.04.2012, 14:10   #10
undead92
Пользователь
 
Регистрация: 26.12.2009
Сообщений: 95
По умолчанию

Всем спасибо
undead92 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Timer Bit_Man C++ Builder 6 13.03.2012 14:30
timer Небесный Общие вопросы Delphi 16 05.12.2011 01:02
timer Cpluser C# (си шарп) 4 06.09.2011 17:33
Автосимулятор: можно ли вывести показания спидометра на COM-порт? noobic Свободное общение 7 18.11.2010 15:40
показания DateTimePicker при нажатии Buttons перенести в колонку DBGrid Alex_76 Помощь студентам 1 14.07.2008 15:55