Конференция "KOL" » PTimer [Delphi]
 
  • INFINITY (14.10.07 22:42) [0]
    Нужно создать n - количество таймеров PTimer^.

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

    Заранее спасибо.
  • Jon © (14.10.07 23:00) [1]
    Create (KOL only) (1000ms = 1s):

     Timer := NewTimer(1000);



    Start:

     Timer.Enabled := True;



    Stop:

     Timer.Enabled := False;

  • INFINITY (14.10.07 23:21) [2]
    Спасибо за ответ, уже придумал как.
    Но нужно было вот это.

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

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

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

    Может есть проще способ? Подскажите. Буду рад учиться.
  • ANTPro © (15.10.07 01:23) [3]
    Можно все завернуть в объект. Но зачем такая структура?
  • INFINITY (15.10.07 11:24) [4]
    А как тогда оращаться к таймерам, childcount?
  • INFINITY (15.10.07 11:30) [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
  • Barloggg (15.10.07 14:15) [6]
    эмм. а зачем вообще?
    создаешь таймер и сразу вешаешь ему обработчик onTimerTick.
    ну и все.
    а уже в этом обработчике можешь найти по Sender того таймера который этот обработчик вызвал.
    таким вот образом
    if Sender=Timer[?] then


    так один обработчик может несколько таймеров обслуживать.
    только надо быть поаккуратнее если таймеры мультимедийные.
  • Unknown Mystic © (15.10.07 17:27) [7]
    А нужны ли вообще все эти фиг знает сколько таймеров?
    Может сделать 1 с небольшим интервалом и в нем обрабатывать все что нужно, тем более, что я так понимаю обработчики у них одинаковые...
    Держать в массиве только каждые сколько срабатываний таймера выполнять обработчик и все...
  • INFINITY (15.10.07 18:50) [8]
    Нужны. Период колебрится от 1000. Для каждого таймера.
    Один общий таймер не подходит. Обработчики разные (под каждый array)

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

    Сейчас все хороше работает, как и хотел - то что нужно.
  • INFINITY (15.10.07 18:56) [9]
    Если кому интересно могу на мыл скинуть софт
Есть новые Нет новых   [134431   +10][b:0][p:0.001]