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

Delphi Sources



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

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 28.03.2010, 18:51
Ama Ama вне форума
Активный
 
Регистрация: 15.07.2008
Сообщения: 260
Репутация: 23
По умолчанию Динамический ttimer

Здрасте спецы. Не подскажите, могу ли я в одной процедуре создать динамически ttimer и внутри етой же процы описать и назначить процу обработки ontimer. Или мож кто встречал как осуществить постепеное загорание кнопки?
__________________
APPLICATION.TERMINATOR
Ответить с цитированием
  #2  
Старый 28.03.2010, 19:39
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,087
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Можешь назначить, а само событие должно быть методм формы.

Код:
TForm1 = class(TForm)
...
  procedure MyTimerEvent(Sender : TObject);
  procedure CreateMyTimer;
end;

...

procedure TForm1.MyTimerEvent(Sender : TObject);
begin
  // Здесь делаем то, что надо по таймеру.
  // Sender - на самом деле ссылка на вызвывший таймер
end;

procedure TForm1.CreateMyTimer;
var
  ATimer : TTimer;
begin
  ATimer := TTimer.Create(Self);
  ATimer.Parent := Self;
  ATimer.OnTimer := MyTimerEvent;
  ATimer.Interval := 200;
  ATimer.Enabled := True;
end;
Ответить с цитированием
  #3  
Старый 28.03.2010, 23:18
Ama Ama вне форума
Активный
 
Регистрация: 15.07.2008
Сообщения: 260
Репутация: 23
По умолчанию

Ясно. Благодарю
__________________
APPLICATION.TERMINATOR
Ответить с цитированием
  #4  
Старый 28.03.2010, 23:32
Kapitoshka438 Kapitoshka438 вне форума
Начинающий
 
Регистрация: 09.11.2009
Сообщения: 145
Репутация: 238
По умолчанию

Только желательно переменную ATimer описать в классе формы
Код:
TForm1 = class(TForm)
...
  ATimer: TTimer;
  procedure MyTimerEvent(Sender : TObject);
  procedure CreateMyTimer;
end;

procedure TForm1.CreateMyTimer;
begin
  ATimer := TTimer.Create(Self);
  ATimer.Parent := Self;
  ATimer.OnTimer := MyTimerEvent;
  ATimer.Interval := 200;
  ATimer.Enabled := True;
end;
Иначе по завершении процедуры CreateMyTimer потеряется ссылка на него, и вы не сможете к нему легко обратиться, придется сначала его найти.
Ответить с цитированием
Ответ


Delphi Sources

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

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

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

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


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


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

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