Текущий архив: 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.47 MB
Время: 0.01 c