![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Событие OnTimer
GrieVeR-13 © (2008-07-11 18:53:00)
type
TForm1 = class(TForm)
procedure procOnTimer(Sender: TObject);
<...>
var
T:TTimer;
<...>
procedure TForm1.procOnTimer(Sender: TObject);
begin
//inc(i);
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
if T <> nil then T.Enabled:=false
else begin
T:=TTimer.Create(nil);
T.OnTimer:=procOnTimer;
T.Interval:=1000;
end;
T.Enabled:=true;
<...>
Здравствуйте,возникла такая задачка:
Есть таймер "T", который создается по нажатию кнопки. Надо передать через T.OnTimer:=procOnTimer; переменную i (которая закомментирована) как входной параметр. Это возможно? Просто хотел, чтобы несколько разных таймеров запускали одну процедуру, а в ней потом (в зависимости от значения i) выполнялось определенное действие.
Johnmen (2008-07-11 19:50:00) [1]
> Игорь Шевченко © (11.07.08 19:36) [4]
Чиста круто :))
Игорь Шевченко (2008-07-11 19:36:00) [2]
> А в чем фишка?
фишка в том, что одна процедура из нескольких таймеров вызывается. Причем таймеры сами создаются по нажатию на кнопку.
Прикинь, не надо писать по своей процедуре для каждого таймера.
GrieVeR-13 (2008-07-11 19:33:00) [3]Тын-Дын
Сразу не подумал об этом, спасибо, заработало=)
Johnmen (2008-07-11 19:31:00) [4]
> несколько разных таймеров
А в чем фишка?
Тын-Дын (2008-07-11 19:01:00) [5]Передавай нужный параметр/ссылку на него в Self.Tag,в обработчике проверяй в TTimer(Sender).Tag.