Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.05.07;
Скачать: CL | DM;

Вниз

Может кто подскажет как произвести обратный отсчет времени   Найти похожие ветки 

 
Сергей И   (2006-04-20 10:58) [0]

Мне необходимо решить следующую зададу:
вводится время обратного отсчета и при его истечении выполняется задуманное действие


 
MBo ©   (2006-04-20 11:01) [1]

TTimer пробовал использовать?


 
Megabyte ©   (2006-04-20 13:11) [2]

Юзай таймер. А если надо отображать обратный отчет - это ж не сложно.


 
Chlavik ©   (2006-04-21 13:31) [3]

по таймеру декриментируеш переменную time--;  ой dec(time, Timer1.interval );


 
inri13666 ©   (2006-04-21 14:05) [4]

вот листинг проги может поймёш
там вообщем количество оставшихся секунд отображается в заголовке окна
а по истечению времени выводиться окно:
unit Unit1;

interface

uses
 Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
 Dialogs, StdCtrls, ExtCtrls;

type
 TForm1 = class(TForm)
   Timer1: TTimer;
   Edit1: TEdit;
   Label1: TLabel;
   Button1: TButton;
   procedure FormCreate(Sender: TObject);
   procedure Button1Click(Sender: TObject);
   procedure Timer1Timer(Sender: TObject);
 private
   { Private declarations }
 public
   { Public declarations }
 end;

var
 Form1: TForm1;
 sec:integer;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
sec:=strtoint(edit1.text);
timer1.Enabled:=true ;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
if timer1.Enabled=true
   then timer1.Enabled:=false;
timer1.interval:=1000 //что равно одной секунде
end;

procedure TForm1.Timer1Timer(Sender: TObject);
begin
timer1.Enabled:=false;
if sec=0
 then
 begin
 showmessage("Интервал истёк")
 end
 Else
 begin
 sec:=sec-1;
 timer1.Enabled:=True;
 caption:=inttostr(sec);
 end;

end;

end.

GOOD Luck :)


 
Anatoly Podgoretsky ©   (2006-04-21 14:15) [5]

Таймер конечно, но только не sec:=sec-1;, а NOW


 
Alarm ©   (2006-04-21 14:22) [6]

Не хотел "высовываться", но у APP очень давно (ну года примерно 3 или более назад) был отличный ответ на этот вопрос. У меня в проектах было другое решение, но его предложением, типа минус Now я был восхищен!!!


 
inri13666 ©   (2006-04-21 14:24) [7]

в смысле ты что именно имешь в виду напиши плиз по конкретней :)


 
unknown ©   (2006-04-21 14:32) [8]

Вот так :
var
 TimeCounter:TDateTime;
....
 TimeCounter:=now;
...
procedure TForm1.Timer1Timer(Sender: TObject);
begin
...
Caption:=FormatDateTime("hh:mm:ss:ms",Now-TimeCounter);
...
end;


 
Anatoly Podgoretsky ©   (2006-04-21 14:45) [9]

EndTime - Now
И далее любое форматирование.
EndTime время окончания отчета, равное время Now + интервал.


 
Alarm ©   (2006-04-21 14:51) [10]

>Anatoly Podgoretsky ©   (21.04.06 14:45) [9]
Спасибо что ответили сами. Мне было как-то не корректно (удобно) приводить Ваше решение



Страницы: 1 вся ветка

Текущий архив: 2006.05.07;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.029 c
15-1145210601
Гарри Поттер
2006-04-16 22:03
2006.05.07
С edlm2.exe кто знаком?


2-1145345073
Сергей И
2006-04-18 11:24
2006.05.07
Как очистить БД?


2-1145467202
Niko
2006-04-19 21:20
2006.05.07
Что быстрее?


2-1145382424
STK
2006-04-18 21:47
2006.05.07
Как скрыть в модальном окненекоторые компоненты


1-1143802681
bns
2006-03-31 14:58
2006.05.07
Определение места AV