Форум: "Основная";
Текущий архив: 2004.07.11;
Скачать: [xml.tar.bz2];
ВнизТаймер. Найти похожие ветки
← →
niko4543 (2004-06-25 14:15) [0]Здравствуйте.
Помогите пожайлуста, мне нужен код такого рода.
Нужно с помощью таймера засечь на, ну скажем примерно 15 или 30 минут, и что бы пока течёт это время через каждые 30 сикунд делать какоето джействие.
Помогите пожайлуста срочно надо. Вроде просто а у меня работает очень глючно.
Заранее спасибо.
← →
Тимохов © (2004-06-25 14:16) [1]
> Вроде просто а у меня работает очень глючно.
что то уже есть?
выкладывай
← →
lion (2004-06-25 14:20) [2]сделай два таймера: один будет вырубать второй через 30 минут.
а первый через каждые 30 секунд будет делать то что надо
← →
Anatoly Podgoretsky © (2004-06-25 14:21) [3]Нет сначала твой код, а то вдруг сдублируем, будем виноваты не заслуженно.
← →
Тимохов © (2004-06-25 14:22) [4]или на обвинения в плагиате нарвемся
← →
Anatoly Podgoretsky © (2004-06-25 14:32) [5]Может и похуже, например на ЛМД
← →
Delphin © (2004-06-25 15:02) [6]procedure TForm1.Timer1Timer(Sender: TObject);
begin
ShowMessage("30 Seconds left");
Timer1.Enabled:=False;
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
Timer1.Interval:=30000;
end;
Что-нить вроде этого ?
← →
GuAV © (2004-06-25 15:05) [7]Delphin © (25.06.04 15:02) [6]
Оффтоп. См. внимательно сабж. См. также [4]-[5].
← →
Delphin © (2004-06-25 15:08) [8]Ой, немного поторопился ;)
procedure TForm1.Timer1Timer(Sender: TObject);
begin
IF Timer2.Enabled Then
ShowMessage("30 Seconds left");
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
Timer1.Interval:=30000; // 30 Sec.
Timer2.Interval:=1000*30*60 //30 Min.
end;
end.
← →
GuAV © (2004-06-25 15:20) [9]
> Ой, немного поторопился ;)
Опять торопишься. "Не суетись под клиентом" (с)
И вообще: Нефиг отвечать. Пока авторской версии не будет можно только флудить и флеймить :)
← →
Anatoly Podgoretsky © (2004-06-25 15:25) [10]GuAV © (25.06.04 15:20) [9]
Флудить и флеймить не надо, просто пока ждем можно и поговорить.
← →
nejest (2004-06-25 16:22) [11]procedure TForm1.Timer1Timer(Sender: TObject);
begin
if(i=30)then
begin
label1.Caption:="Время закончилось";
Timer1.Enabled:=False;
end
else
begin
label1.Caption:="Прошло "+IntToStr(i*30)+" секунд";
i:=i+1;
end;
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
i:=0;
end;
У меня всё работает.
← →
niko4543 (2004-06-26 06:56) [12]Я делаю так.
var
k:integer;
k1:real;
begin
Label2.Caption:=inttostr(time);
secunda:=secunda+1;
k1:=((((minuta*60)+secunda))*100)/Time;
k:=round(k1);
Gauge1.MaxValue:=Time*600;
Gauge1.Progress:=k;
If secunda=60 Then
begin
secunda:=0;
minuta:=minuta+1;
end;
Label1.Caption:=IntToStr(minuta)+":"+IntToStr(secunda);
If Time<=minuta Then
begin
ShowMessage("Отведённое время вышло");
Timer1.Enabled:=False;
end;
end;
Мне кажется это такя полная лажа, и работает неочень точно. Подскажите правельную реализацию этого вопроса.
← →
KilkennyCat © (2004-06-26 10:49) [13]Правильно кажется...
Зачем это -var
?
k:integer;
k1:real;
можно ведь так:Gauge1.Progress:=round(((((minuta*60)+secunda))*100)/Time);
зачем внутри таймера это -Label2.Caption:=inttostr(time);
, если Time не меняется? вынести за пределы обработчика таймера...
Gauge1.MaxValue:=Time*600;
Получаем пока такое :begin
secunda:=secunda+1;
Gauge1.Progress:=round(((((minuta*60)+secunda))*100)/Time);
If secunda=60 Then begin
secunda:=0;
minuta:=minuta+1;
end;
Label1.Caption:=IntToStr(minuta)+":"+IntToStr(secunda);
If Time<=minuta Then begin
ShowMessage("Отведённое время вышло");
Timer1.Enabled:=False;
end;
end;
← →
KilkennyCat © (2004-06-26 11:08) [14]и кстати, почему
Gauge1.MaxValue:=Time*600
?
может быть так вернееGauge1.MaxValue:=Time*60
?
тогда все проще:begin
Gauge1.Progress := Gauge1.Progress + 1;
Label1.Caption:=IntToStr(trunc(Gauge1.Progress/60)+":"+IntToStr(Gauge1.Progress - (trunc(Gauge1.Progress/60))*60);
If Gauge1.Progress = Gauge1.Max Then begin
ShowMessage("Отведённое время вышло");
Timer1.Enabled:=False;
end;
end;
← →
KilkennyCat © (2004-06-26 11:19) [15]что касается точности - этот таймер сам по себе неточен
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2004.07.11;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.035 c