![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Отсчет времени [D5, Win95/98, WinME, NT4, Win2k, WinXP]
Pipelly © (2003-02-07 20:10:00)Добрый вечер.
У меня вопрос по поводу отсчета времени. Нужно отсчитать время от 10 до 0. Я понимаю, что нужно кинуть на форму таймер, установить интервал равный одной секунде (1000). А в обработчике таймера уже работать. Но вот как сделать отсчет от 10 секунд до нуля и выводить этот процесс в Caption формы я просто не знаю. Помогите, если будет время. Примеры никогда не мешают!
reticon (2003-02-08 23:01:00) [1]var
sec: integer;
....
sec:=10;
....
procedure TMainForm.Timer1Timer(Sender: TObject);
begin
sec:=sec-1;
Label1.Caption:=IntToStr(sec);
if sec = 0 then
begin
ShowMessage("Отсчет закончен");
Timer1.Enabled:=false;
end;
end;
Vlad1 (2003-02-08 12:26:00) [2]>Kair ©
Мда-а... Сам поражаюсь. В пояснение могу сказать только одно:
В детстве бабушка мне часто говорила: если весь день провёл с C++, то прежде чем переходить к Delphi, сделай перерыв. Я бабушку не слушал... с печальными последствиями. Вчера еле удержался, чтобы не набрать
if (i==-1)
{
Timer1->Enabled=false;
}
Style (2003-02-07 21:32:00) [3]Хотя можно и отчитать время так! тебе 10 сек надо
Способов может быть много.
procedure MainProc
var
dt: TDateTime;
begin
dt := Now;
repeat
Application.ProcessMessages;
if(TimeToStr(Now-dt) = "0:00:10") then break;
until dt = 0;
ShowMessage("Типа все");
end;
Palladin (2003-02-07 21:15:00) [4]дело в том что собрать и использовать едино знания из разных областей не каждому дано...
это я из этого форума выяснил...
Anatoly Podgoretsky (2003-02-07 21:11:00) [5]Вроде бы еще в первом классе учат вычитать, я не ошибаюсь?
Kair (2003-02-07 21:03:00) [6]>Vlad1 © (07.02.03 20:58)
>integer i=10;
Кхм-кхм. :)
Vlad1 (2003-02-07 20:58:00) [7]Поправка:
var Form1:Tform1;
integer i=10;
implementation
Vlad1 (2003-02-07 20:57:00) [8]Нечто вроде следующего:
....................................................
var Form1:Tform1;
integer i:=10;
implementation
...............................................
procedure Form1.Timer1Timer(Sender:TObject);
begin
caption:=inttostr(i);
dec(i);
if i=-1 then timer1.enabled:=false;
end;
........................................................
Или присваивай i значение 10 перед включением таймера.