Форум: "Основная";
Текущий архив: 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.47 MB
Время: 0.077 c