Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Отсчет времени [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 перед включением таймера.


Наверх

Титульная страница Поиск, карта сайта Написать письмо