Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2010.08.27;
Скачать: [xml.tar.bz2];

Вниз

Динамический TTimer - как узнать Tag таймера   Найти похожие ветки 

 
HF-Trade ©   (2010-04-30 16:52) [0]

Добрый день.

Создаю таймер(ы)

....
For I:=0 to ListBox1.Items.Count-1 do
 Begin
  Read(FMText,MText);//Это TRecord
  CreateMyTimer(MText.UHandle,StrToInt(MText.Delay));
 end;
CloseFile(FMTExt);
....

Собсно сама процедура создания -

procedure TForm1.CreateMyTimer(MyTag,MyInterval:Integer);
Var
ATimer:TTimer;
begin
 ATimer:=TTimer.Create(Self);
 ATimer.Tag:=MyTag;
 ATimer.OnTimer:=MyTimerEvent;
 ATimer.Interval:=MyInterval;
 ATimer.Enabled:=True;
end;

Удаляю так -

....
  For I:=0 to ListBox1.Items.Count-1 do
   Begin
    Read(FMText,MText);//TRecord
    For N:=0 to Form1.ComponentCount-1 do
     IF Form1.Components[N].Tag=MText.UHandle Then
      Form1.Components[N].Free;
   end;
....

Обработчик таймера -

procedure TForm1.MyTimerEvent(Sender : TObject);
begin
....
Вот тут мне нужно вывести Tag таймера в Memo\Edit
....

Как получить\обратиться в обработчике MyTimerEvent к его Tag?


 
MBo ©   (2010-04-30 17:01) [1]

если без проверки, то
TTimer(Sender).Tag


 
Сергей М. ©   (2010-04-30 17:04) [2]

И куды ж ты столько таймеров насандалил ?
В подавляющем большинстве случаев достаточно всего одного-единственного)


 
HF-Trade ©   (2010-04-30 17:09) [3]


> MBo ©   (30.04.10 17:01) [1]
> если без проверки, тоTTimer(Sender).Tag

Млин) Всеж было так просто)
Спасибо)))


> Сергей М. ©   (30.04.10 17:04) [2]

Ну.... ) Да вообщем то их и немного будет)


 
Сергей М. ©   (2010-04-30 23:32) [4]


> HF-Trade ©   (30.04.10 17:09) [3]


А хоть бы и два - все равно одним можно обойтись.


 
Германн ©   (2010-05-01 02:38) [5]


> А хоть бы и два - все равно одним можно обойтись.

+1
Но не совсем всегда.


 
HF-Trade ©   (2010-05-01 17:33) [6]

Ну к примеру мне необходимо в разные окна(хэндлы храняться в ТРекорд) постоянно отправлять сообщения, с разными временными интервалами.


 
Leonid Troyanovsky ©   (2010-05-01 18:00) [7]


> HF-Trade ©   (01.05.10 17:33) [6]

> Ну к примеру мне необходимо в разные окна(хэндлы храняться

Хранение хендлов не безопасно.

--
Regards, LVT.


 
Сергей М. ©   (2010-05-01 19:34) [8]


> мне необходимо ..отправлять сообщения, с разными временными интервалами


Один таймер с периодом срабатывания, кратным всем этим интервалом, и набором соответствующих каждому интервалу счетчиков с успехом заменяет дивизию таймеров.


 
HF-Trade ©   (2010-05-01 20:38) [9]

т.е. счетчики основанные на интервале основного таймера?
ну мб так бы и сделал, но в моем случае - 1-5 таймеров, погоду не делают...


 
Германн ©   (2010-05-02 02:40) [10]


> Сергей М. ©   (01.05.10 19:34) [8]
>
>
> > мне необходимо ..отправлять сообщения, с разными временными
> интервалами
>
>
> Один таймер с периодом срабатывания, кратным всем этим интервалом,
>  и набором соответствующих каждому интервалу счетчиков с
> успехом заменяет дивизию таймеров.

Если "период срабатывания" таймера достаточно мал по сравнению с "периодом срабатывания счётчика". Иначе лучше другой TTimer.


 
Германн ©   (2010-05-02 02:43) [11]


> Германн ©   (02.05.10 02:40) [10]
>
>
> > Сергей М. ©   (01.05.10 19:34) [8]

Это, конечно, копейки. Но иногда и копейки имеют вес. :)



Страницы: 1 вся ветка

Форум: "Начинающим";
Текущий архив: 2010.08.27;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.47 MB
Время: 0.065 c
11-1219344430
Dy1
2008-08-21 22:47
2010.08.27
помогите плз с (KOL)ZIP


2-1271803296
RGV
2010-04-21 02:41
2010.08.27
alt+Tab


2-1269343965
F$
2010-03-23 14:32
2010.08.27
установка/сброс бита


15-1274128191
Юрий
2010-05-18 00:29
2010.08.27
С днем рождения ! 18 мая 2010 вторник


2-1272357036
oleg_teacher
2010-04-27 12:30
2010.08.27
DateTimePicker2.





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский