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

Вниз

Timer   Найти похожие ветки 

 
Pavel   (2004-03-30 01:06) [0]

Как создать свой таймер и обработчик события для него ?

Var
Timer:TTimer;

begin
 Timer:=TTimer.Create(Timer);
 Timer.Interval:=100;
 Timer.Enabled:=True;
 Timer.Ontimer:= { что псать дальше ? }
end;


 
Andy BitOff ©   (2004-03-30 02:12) [1]

>Timer:=TTimer.Create(Timer);
???????
TTimer - F1 - Methods - Create:
AOwner specifies the component, typically a form or data module, that is responsible for freeing the timer.


 
Defunct ©   (2004-03-30 08:02) [2]

Pavel   (30.03.04 01:06)  

Что мешает просто кинуть таймер на форму, настроить в Object Inspector, и по двойному клику открыть обработчик OnTimer и описать в нем все, что надо.


 
Рамиль ©   (2004-03-30 09:12) [3]

begin
Timer:=TTimer.Create(Self);
Timer.Interval:=100;
Timer.Ontimer:= MyTimerProc;
Timer.Enabled:=True;
end;

где MyTimerProc - метод формы типа TNotifyEvent.


 
Pavel   (2004-03-30 09:30) [4]

Andy BitOff ©
Что, собственно вам не нравится в Timer:=TTimer.Create(Timer); it"s typically a form но не обязательно.

Defunct ©

То, что формы нету.


> где MyTimerProc - метод формы типа TNotifyEvent.


В том то и вопрос, как описать етот "метод формы".


 
Семен Сорокин ©   (2004-03-30 10:34) [5]

2Pavel  
1. вытащи свой TTimer в какой-нибудь класс.
2. используй TimeSetEvent


 
Pavel   (2004-03-30 14:35) [6]

Ладно задам вопрос по другому. Как присвоить OnTimer какуюнибудь процедуру????????

type
 MTimer = class(TTimer)
 public
 FOnTimer:TNotifyEvent;
 property OnTimer: TNotifyEvent write FOnTimer;
end;

Думал вместо FOnTimer подставить процедуру но он не принимает.


 
Anatoly Podgoretsky ©   (2004-03-30 14:39) [7]

Никак, это должен быть метод, а не процедура.


 
Семен Сорокин ©   (2004-03-30 14:44) [8]

Pavel   (30.03.04 14:35) [6]
например так:
type
 TMyClass = class
 private
   FTimer : TTimer;
   procedure TimerTimer(Sender: TObject);
 public
   constructor Create(AInerval: integer);
   destructor Destroy; override;
 end;

constructor TMyClass.Create(AInterval: integer);
begin
FTimer := TTimer.Create(nil);
FTimer.Interval := AInterval;
FTimer.OnTimer := TimerTimer;
FTimer.Enabled := true
end;

destructor TMyClass.Destroy;
begin
FTimer.Enabled := false;
FTimer.Free
end;

procedure TMyClass.TimerTimer(Sender: TObject);
begin
// твои действия
end;


 
KSergey ©   (2004-03-30 14:46) [9]

http://www.delphikingdom.com/helloworld/runtime_comp.htm


 
Pavel   (2004-03-30 14:59) [10]

type
 MTimer = class(TTimer)
 public
 FOnTimer:TNotifyEvent;
 procedure Go(Sender:TNotifyEvent);
 property OnTimer: TNotifyEvent read FOnTimer write Go;
end;

procedure MTimer.Go;
begin
 form1.Memo1.Lines.Add("1");
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
Timer:=MTimer.Create(Timer);
Timer.Interval:=100;
Timer.Enabled:=True;
end;

Почему такой код не работает ?


 
Семен Сорокин ©   (2004-03-30 15:02) [11]

Pavel   (30.03.04 14:59) [10]
Почему такой код не работает ?

а почему он должен работать?


 
Anatoly Podgoretsky ©   (2004-03-30 15:05) [12]

Не назначен обработчик.


 
Pavel   (2004-03-30 15:26) [13]

Как его назначить ?


 
Pavel   (2004-03-30 15:31) [14]

Thnx to Семен Сорокин ©  код очень помог.


 
KSergey ©   (2004-03-30 15:31) [15]

>  [13] Pavel   (30.03.04 15:26)
> Как его назначить ?

А это для кого было написано?

> [9] KSergey ©   (30.03.04 14:46)
http://www.delphikingdom.com/helloworld/runtime_comp.htm



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

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

Наверх





Память: 0.48 MB
Время: 0.043 c
14-1079993660
Обитатель
2004-03-23 01:14
2004.04.18
Knight дело говорит!


4-1076413001
Bestden
2004-02-10 14:36
2004.04.18
Не компилится AdJustTokenPrivileges ...


14-1080209662
Dmitriy O.
2004-03-25 13:14
2004.04.18
Кто нить работал с Morfit ?


3-1079963096
Nikolay M.
2004-03-22 16:44
2004.04.18
Распространение D4 + ClientDataSet


1-1080715307
nine_inch_nails
2004-03-31 10:41
2004.04.18
Копирование в clipboard





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский