Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

PTimer [Delphi]


INFINITY ©   (2007-10-14 22:42:00) 

Нужно создать n - количество таймеров PTimer^.

Как обратиться ко всем созданым таймерам для их остановки/запуска уже после их создания(в любое время).

Заранее спасибо.


INFINITY   (2007-10-15 18:56:00) [1]

Если кому интересно могу на мыл скинуть софт


INFINITY   (2007-10-15 18:50:00) [2]

Нужны. Период колебрится от 1000. Для каждого таймера.
Один общий таймер не подходит. Обработчики разные (под каждый array)

Спасибо за советы.

Сейчас все хороше работает, как и хотел - то что нужно.


Unknown Mystic   (2007-10-15 17:27:00) [3]

А нужны ли вообще все эти фиг знает сколько таймеров?
Может сделать 1 с небольшим интервалом и в нем обрабатывать все что нужно, тем более, что я так понимаю обработчики у них одинаковые...
Держать в массиве только каждые сколько срабатываний таймера выполнять обработчик и все...


Barloggg   (2007-10-15 14:15:00) [4]

эмм. а зачем вообще?
создаешь таймер и сразу вешаешь ему обработчик onTimerTick.
ну и все.
а уже в этом обработчике можешь найти по Sender того таймера который этот обработчик вызвал.
таким вот образом
if Sender=Timer[?] then
так один обработчик может несколько таймеров обслуживать.
только надо быть поаккуратнее если таймеры мультимедийные.


INFINITY   (2007-10-15 11:30:00) [5]

TJOB = record
   {Acvive and metod}
   _ACTIVE, _WATCH, _WATCH_TREE: boolean;
   {Name job}
   _NAME: string[50];
   {Search path + masks(ex)}
   _DIR, _MASK, _MASK_EX: string;
   {Interval timer}
   _INTERVAL: integer;
   {Secondary job}
   _RUN_DIR, _RUN_FILE, _RUN_PARAMS: string;
   _RUN_WAIT: boolean;
   _RUN_SHOW: Integer;
   {Interfase}
   _IMAGE: string;
   _WAV: string;
   {Tools}
   _AS_VIEW: string;
 end;

 TJOBARRAY = array of TJOB;

Для каждого таймер или DirChangeNotifier


INFINITY   (2007-10-15 11:24:00) [6]

А как тогда оращаться к таймерам, childcount?


ANTPro   (2007-10-15 01:23:00) [7]

Можно все завернуть в объект. Но зачем такая структура?


INFINITY   (2007-10-14 23:21:00) [8]

Спасибо за ответ, уже придумал как.
Но нужно было вот это.

Создать PList в него при создани добавил

         Timers:=NewTimer(Job[i]._INTERVAL);
         TimerList.Add(Timers);
..

а потом
 
   for i:=0 to TimerList.Count-1 do
       PTimer(TimerList.Items[i]).Enabled:=false {true};

Может есть проще способ? Подскажите. Буду рад учиться.


Jon   (2007-10-14 23:00:00) [9]

Create (KOL only) (1000ms = 1s):

 Timer := NewTimer(1000);

Start:

 Timer.Enabled := True;

Stop:

 Timer.Enabled := False;


Наверх

Титульная страница Поиск, карта сайта Написать письмо