Тема: OnTimer
Показать сообщение отдельно
  #4  
Старый 04.03.2018, 08:42
Аватар для dr. F.I.N.
dr. F.I.N. dr. F.I.N. вне форума
I Like it!
 
Регистрация: 12.12.2009
Адрес: Россия, г. Новосибирск
Сообщения: 660
Версия Delphi: D6/D7
Репутация: 26643
По умолчанию

Цитата:
Сообщение от fusic
Есть вариант через FindComponent. Может быть есть более правильный вариант ?
-Массиву присвоить указатели на существующие таймеры:
Код:
TForm1=class(TForm)
...
public
  timers: array[0..5] of Timer;
end;
...
procedure TForm1.OnCreate(Sender: TObject);
begin
...
  timers[0] := T0;
  ...
  timers[5] := T5;
end;
...
-Динамическое создание массива таймеров:
Код:
TForm1=class(TForm)
...
public
  timers: array[0..5] of Timer;
end;
...
procedure TForm1.OnCreate(Sender: TObject);
var
  i: Integer;
begin
...
  for i := 0 to 5 do
  begin
    timers[i] := TTimer.Create(Self);
    with timers[i] do
    begin
      Interval := ...;
      OnTimer := SomeTimerProc;
      Active := ...;
    end;
  end;
  ...
end;
...
Ну и уже работать с элементами массива по индексу.
__________________
Грамотно поставленный вопрос содержит не менее 50% ответа.
Грамотно поставленная речь вызывает уважение, а у некоторых даже зависть.
Ответить с цитированием