|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
25.03.2008, 12:16 | #1 |
Пользователь
Регистрация: 12.03.2008
Сообщений: 24
|
Отображение в Label периода с помощью таймера
Создайте приложение, на форму которого помещены компоненты: Timer, Label и Edit. Напишите обработчик события OnTimer компонента Timer, который каждую секун-ду отображает с помощью компонента Label период времени (в формате ЧЧ:ММ:СС), прошедший с момента, указанного в компоненте Edit (также в формате ЧЧ:ММ:СС).
Помогите плиз, ет последняя задача что мне нужна, и чёт она не получается |
25.03.2008, 13:59 | #2 | |
*
Старожил
Регистрация: 22.11.2006
Сообщений: 9,201
|
Цитата:
Где код ваших попыток? Вопрос совершенно элементарный, честнее было бы сказать - не хочу, мол, ничего делать, сделайте за меня, а я пусть так неучем и останусь... |
|
25.03.2008, 14:26 | #3 |
Пользователь
Регистрация: 12.03.2008
Сообщений: 24
|
var
Form1: TForm1; StartTime:TDateTime; implementation {$R *.dfm} procedure TForm1.TimerTimer(Sender: TObject); begin Label1.Caption:=TimeToStr(now-StartTime); end; procedure TForm1.FormCreate(Sender: TObject); begin StartTime:=strtotime(Edit1.Text); TimerTimer(sender); end; Только он бьет ошибку, потому что таймер работает посекундно, а в первую секунду Edit1 пустой |
25.03.2008, 14:36 | #4 | |
*
Старожил
Регистрация: 22.11.2006
Сообщений: 9,201
|
Цитата:
Edit1.Text:=TimeToStr(now); А чтобы не делать преобразования туда-сюда, пишем: StartTime:=now; И тогда уже выглядеть это должно так: procedure TForm1.FormCreate(Sender: TObject); begin StartTime:=now; Edit1.Text:=TimeToStr(StartTime); ... Последний раз редактировалось mihali4; 25.03.2008 в 14:39. |
|
25.03.2008, 14:39 | #5 |
Пользователь
Регистрация: 12.03.2008
Сообщений: 24
|
И всё что-ли?
|
25.03.2008, 14:42 | #6 |
Пользователь
Регистрация: 12.03.2008
Сообщений: 24
|
Мне не нужно отчитывать время от начала работы приложения,в Edit1 должно быть произвольное время.
|
25.03.2008, 14:42 | #7 |
Пользователь
Регистрация: 12.03.2008
Сообщений: 24
|
Вот в этом-то и запарка
|
25.03.2008, 19:34 | #8 |
Старожил
Регистрация: 13.10.2007
Сообщений: 2,740
|
Если еще не прдумал, то сделай так. На форме еще нужен Button.
В свойствах Timer ставишь интервал 100. Потом пишешь такой код. Код:
Можно обойтись без кнопки, тогда интервал оставляешь 1000, а время в Эдите задаешь программно. |
25.03.2008, 20:51 | #9 |
Пользователь
Регистрация: 12.03.2008
Сообщений: 24
|
Можно обойтись без кнопки, тогда интервал оставляешь 1000, а время в Эдите задаешь программно.[/QUOTE]
А как программно? |
25.03.2008, 21:24 | #10 | ||
*
Старожил
Регистрация: 22.11.2006
Сообщений: 9,201
|
Цитата:
Резоннее тогда и убрать из создания формы StartTime:=strtotime(Edit1.Text); TimerTimer(sender); Ну, и таймер сделать Enabled:=False изначально. Да, и к тому же мы, как я понял, упустили важный момент: Цитата:
Но и в этом случае ничего сложного - просто капшен лейбла по событию таймера будем менять не всегда, а только после того, как "текущее время станет больше указанного в эдит". До этого момента таймер будет просто осуществлять эту проверку. Последний раз редактировалось mihali4; 25.03.2008 в 21:30. |
||
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Интервал Таймера... | Roof | Общие вопросы Delphi | 27 | 08.07.2008 20:19 |
использование таймера | KancJler | Помощь студентам | 13 | 19.04.2008 01:13 |
Выбор товара из раннего периода? | ASR | Microsoft Office Excel | 11 | 28.01.2008 15:08 |
Отображение песен в Label. | !Анатолий | Общие вопросы Delphi | 13 | 17.11.2007 15:59 |
Вопрос по label. Как сделать так чтобы label была прозрачной. | Lonix | Компоненты Delphi | 2 | 01.04.2007 06:23 |