|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
||||
|
||||
Работа с компонентом Timer
как сделать чтобы при нажатии button1 значение таймера менялось в True
и он начинал срабатывать. |
#2
|
||||
|
||||
Очень просто
Код:
procedure TForm1.ButtonXClick(Sender : TObject); begin TimerX.Enabled := true end; Кнопка "+" - весы в правом верхнем углу сообщения... |
#3
|
||||
|
||||
Ещё вопрос, как с помощью компонента Edit1 изменить время таймера, и чтобы вписывать туда не милисекунды а минуты.
|
#4
|
||||
|
||||
Вписывать-то туда вы можете, что угодно а вот результат уже надо преобразовать к миллисекундам, что-бы таймер правильно работал.
Допустим вы написали 06:00:10 т.е. 6 часов 0 минут 10 секунд. Преобразовываем в миллисекунды. 1 Сек = 1000 мсек. 1 Мин = 60000 мсек. 1 Час = 3600000 мсек. Получается: 6 * 3600000 + 0 * 60000 + 10 * 1000; Вроде так должно быть. Жизнь такова какова она есть и больше никакова. Помогаю за спасибо. |
#5
|
||||
|
||||
Только одна заковыка, в интервал нельзя внести значение больше 65536
Для того, чтобы можно было нести туда часы надо делать так Код:
var .... i : integer = 0; implementation .... procedure TimerXTimer(Sender : TObject); var h,m,s : integer; begin i := i + 1; s := i mod 60; // Секунды m := i div 60; // Минуты h := m div 60; // Часы if (h = 1) and (m = 10) and (s = 30) then // Сработает в 1:10:30 begin // Здесь пишем нужные действия end; end; Кнопка "+" - весы в правом верхнем углу сообщения... Последний раз редактировалось mak-karpov, 11.09.2009 в 21:28. |
#6
|
||||
|
||||
Это в каой версии Дельфи нельзя ввести более 65536 ?
В D2007 и D2009 там уже так: property Interval: Cardinal; а это у нас 0..4294967295 Так-что может имеет смысл перейти на более новую версию? Жизнь такова какова она есть и больше никакова. Помогаю за спасибо. |