Главная страница
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.025 c
5-1130612849
forgery
2005-10-29 23:07
2006.05.07
TIcon + TLabel


1-1144056323
Gear
2006-04-03 13:25
2006.05.07
функция StrToDate и формат времени.


15-1144848011
Толян
2006-04-12 17:20
2006.05.07
MySQL


2-1145525036
Ded22
2006-04-20 13:23
2006.05.07
DBLoocupCombobox


2-1145603620
makar
2006-04-21 11:13
2006.05.07
TRichEdit