Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 03.02.2011, 16:55
Аватар для ALexandr555
ALexandr555 ALexandr555 вне форума
Специалист
 
Регистрация: 09.10.2010
Адрес: Тольятти
Сообщения: 803
Версия Delphi: Delphi 7
Репутация: 2064
По умолчанию создание таймера

Собственно как создать неизвестное количество таймеров

...
TimerPool : array of TTimer;
...

TimerPool[1] := TTimer.Create(Self);
TimerPool[1] .Interval := 500;
TimerPool[1].OnTimer := ....
TimerPool[1].Enabled := True;

так собственно будут не зависимые друг от друга таймеры создаваться
Ответить с цитированием
  #2  
Старый 03.02.2011, 17:36
Аватар для v1s2222
v1s2222 v1s2222 вне форума
Продвинутый
 
Регистрация: 07.09.2010
Сообщения: 726
Репутация: 26711
По умолчанию

Код:
procedure TForm1.myproc(Sender: TObject);
begin
// твои действия... можно работать с таймером (если надо):
  TTimer(Sender).Tag, Interval, Enabled...
end;

procedure TForm1.FormCreate(Sender: TObject);
var
  x: array of TTimer;
  len, i: integer;
begin
  len:=0;
  setlength(x, len+1); // 1 таймер создаем
  for i:=0 to len do begin
    x[i] := TTimer.Create(self);
    x[i].Interval := 1000;
    x[i].OnTimer := myproc;
    x[i].Enabled := True;
  end;
end;
Это как один из вариантов...
__________________
Помогаю за Спасибо
Ответить с цитированием
  #3  
Старый 03.02.2011, 17:51
Аватар для ALexandr555
ALexandr555 ALexandr555 вне форума
Специалист
 
Регистрация: 09.10.2010
Адрес: Тольятти
Сообщения: 803
Версия Delphi: Delphi 7
Репутация: 2064
По умолчанию

Код:
rocedure TForm1.FormCreate(Sender: TObject);
var
  x: array of TTimer;
  len, i: integer;
begin
  len:=0;
  setlength(x, len+1); 
    x[len] := TTimer.Create(self);
    x[len].Interval := 1000;
    x[len].OnTimer := myproc;
    x[len].Enabled := True;
  end;
end;

Спасибо, у меня по процедуре будет создаваться таймер а не определенное чилсло таймеров сразу так что вроде так
да и как мне в procedure TForm1.myproc(Sender: TObject);
удалить таймер который использует её так скажем

TForm1.myproc(Sender: TObject);
действия
удаляем
этот таймер
Ответить с цитированием
  #4  
Старый 03.02.2011, 17:59
Аватар для Страдалецъ
Страдалецъ Страдалецъ вне форума
Гуру
 
Регистрация: 09.03.2009
Адрес: На курорте, из окна вижу теплое Баренцево море. Бррр.
Сообщения: 4,723
Репутация: 52347
По умолчанию

Можно создавать вообще без массива, но вот добираться до нужного таймера будет проблематично:
Код:
with TTimer.Create(Self)
do begin
    Interval := 1000;
    OnTimer := MyProc;
    Enabled := True;    
    end;
__________________
Жизнь такова какова она есть и больше никакова.
Помогаю за спасибо.
Ответить с цитированием
  #5  
Старый 03.02.2011, 18:08
Аватар для ALexandr555
ALexandr555 ALexandr555 вне форума
Специалист
 
Регистрация: 09.10.2010
Адрес: Тольятти
Сообщения: 803
Версия Delphi: Delphi 7
Репутация: 2064
По умолчанию

нет не пойдет мне всетаки нужно его убирать будет
Ответить с цитированием
  #6  
Старый 03.02.2011, 19:19
Аватар для v1s2222
v1s2222 v1s2222 вне форума
Продвинутый
 
Регистрация: 07.09.2010
Сообщения: 726
Репутация: 26711
По умолчанию

Если правильно понял, тебе надо отключить таймер? Или полностью удалить его? Если удалить - будет сложнее, т.к. все таймеры находятся в дин. массиве. Если же просто отключить, то я уже говорил как:
Код:
procedure TForm1.myproc(Sender: TObject);
begin
ТВОИ ДЕЙСТВИЯ
...

  TTimer(Sender).Enabled := False;
end;
__________________
Помогаю за Спасибо
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра
Комбинированный вид Комбинированный вид

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 02:40.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025