![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Таймер в Delphi
G.I. © (2010-04-17 13:09:00)Как сделать таймер, который будет вести обратный отсчет (например от 60) и доходя до 0 начинает заново с 60 (бесконечное колличество раз, пока не закроют форму). Отсчет должен отображаться в Label.
Anatoly Podgoretsky (2010-04-17 20:56:00) [1]> DVM (17.04.2010 18:14:17) [17]
число 60 наводит на мысль о числе 60
Leonid Troyanovsky (2010-04-17 19:48:00) [2]
> DVM © (17.04.10 18:14) [17]
> в сдаче какой то лабы вероятно. В следующий раз он спросит
> абсолютно аналогичную вещь.
Не спросит.
Он сейчас в армии
будет.
--
Regards, LVT.
DVM (2010-04-17 18:14:00) [3]
> Anatoly Podgoretsky © (17.04.10 18:05) [16]
Я не о том, понятно, что он тикать будет пока не отключат, но рассчитывать на тик в секунду и 60 тиков через минуту не следует. Тут же число 60 наводит на мысли о минуте.
> Юрий Зотов © (17.04.10 17:57) [15]
Но в первом классе нам не показывали как читать слова ДО ТОГО как не были разобраны нужные буквы и звуки.
Тут такая же ситуация. Если человек читал про переменные то о приращении оных вопросов не должно возникать. Если человек читал про ветвления то о том как сравнить два значения и в нужный момент изменить ход программы - тоже.
А больше и не требуется.
А так он пойдет и удовлетворит свою сиюминтную потребность в сдаче какой то лабы вероятно. В следующий раз он спросит абсолютно аналогичную вещь.
Anatoly Podgoretsky (2010-04-17 18:05:00) [4]> DVM (17.04.2010 17:48:14) [14]
Не может, он будет тикать пока его не отключат.
Юрий Зотов (2010-04-17 17:57:00) [5]
> DVM © (17.04.10 14:44) [6]
Наоборот.
Когда нас в первом классе учили азбуке, нам показывали, как произносятся буквы? Голосом?
Или просто показывали написаннную букву и говорили "произнеси"?
DVM (2010-04-17 17:48:00) [6]При определенных условиях, стандартный таймер может вместо 60 раз тикнуть 40, а то и 30 раз. Полагаться на его интервалы и количество тиков нельзя.
И. Павел (2010-04-17 17:11:00) [7]
> Если таймер проработает
То есть не таймер, а обработчик
И. Павел (2010-04-17 17:10:00) [8]
> А тогда что?
Тогда лучше все сделать через Time или Now. причины:
1. При добавлении часов и минут (если, конечно, автор не хочет сделать таймер просто по секундам) не придется заморачиваться.
2. Если таймер проработает больше секунды, пойдет отставание.
Leonid Troyanovsky (2010-04-17 16:46:00) [9]
> И. Павел © (17.04.10 16:44) [10]
> А это, случайно, не секундомером будет?
А тогда что?
--
Regards, LVT.
И. Павел (2010-04-17 16:44:00) [10]
> G.I.
А это, случайно, не секундомером будет?
Leonid Troyanovsky (2010-04-17 16:28:00) [11]
> G.I. (17.04.10 13:09)
> Как сделать таймер, который будет вести обратный отсчет
> (например от 60) и доходя до 0 начинает заново с 60 (бесконечное
> колличество раз, пока не закроют форму). Отсчет должен отображаться
> в Label.
procedure TForm1.Timer1Timer(Sender: TObject);
begin
with Label do
begin
Caption := IntToStr(60-(60-StrToInt(Caption)+1) mod 61);
end;
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
Label.Caption := '60';
Timer1.Enabled := True;
end;
--
Regards, LVT.
Anatoly Podgoretsky (2010-04-17 16:06:00) [12]Переход через Нуль имеет два значения.
Palladin (2010-04-17 15:45:00) [13]конечно не педагогично, до нуля никогда не дойдет )
DVM (2010-04-17 14:44:00) [14]
> Юрий Зотов © (17.04.10 14:42) [5]
непедагогично это
Юрий Зотов (2010-04-17 14:42:00) [15]> G.I. (17.04.10 13:09)
implementation
var
Count: integer = 60;
procedure TForm1.Timer1Timer(Sender: TObject); // Timer1.OnTimer
begin
Dec(Count);
if Count = 0 then Count := 60;
Label1.Caption := IntToStr(Count);
end;
Anatoly Podgoretsky (2010-04-17 14:14:00) [16]Таймеру это не надо, это он делает сам без G.I.
Loginov Dmitry (2010-04-17 14:12:00) [17]
> Старндатный таймер именно так и работает.
не, к нему еще нужно влепить операцию " отнять"
Anatoly Podgoretsky (2010-04-17 13:59:00) [18]> G.I. (17.04.2010 13:09:00) [0]
Старндатный таймер именно так и работает.
DVM (2010-04-17 13:36:00) [19]что конкретно непонятно? и что пробовал сделать?