|
Вопрос # 2 145/ вопрос открыт / |
|
Приветствую, уважаемые эксперты!
Мне очень нужна ваша помощь.
Мое задание: Написать компонент: таймер с задаваемым количеством срабатываний. Реализовать события как на каждое, так и на последнее срабатывание.
Привожу код который написал я - но он не работает. Очень прошу помощи.
Приложение: Переключить в обычный режим- unit T1;
-
- interface
-
- uses
- SysUtils, Classes, ExtCtrls;
-
- type
- TTimer1 = class(TTimer)
- private
- { Private declarations }
- FOnTimer: TNotifyEvent;
- FOnLastTimer: TNotifyEvent;
- FCount: integer;
- procedure SetOnLastTimer(Value: TNotifyEvent);
- procedure SetOnTimer(Value: TNotifyEvent);
- protected
- { Protected declarations }
- procedure Timer; override;
- public
- { Public declarations }
- Constructor Create(aowner:TComponent); override;
- published
- { Published declarations }
-
- property Count:integer read FCount write FCount;
- property OnTimer:TNotifyEvent read FOnTimer write SetOnTimer;
- property OnLastTimer:TNotifyEvent read FOnLastTimer write SetOnLastTimer;
- end;
-
- procedure Register;
-
- implementation
-
- procedure Register;
- begin
- RegisterComponents('std', [TTimer1]);
- end;
-
- constructor TTimer1.Create(aowner: TComponent);
- begin
- inherited create(aowner);
- FCount:=1;
- end;
-
-
- procedure TTimer1.SetOnLastTimer(Value: TNotifyEvent);
- begin
- FOnLastTimer := Value;
- end;
-
- procedure TTimer1.SetOnTimer(Value: TNotifyEvent);
- begin
- inherited timer;
- FOnTimer := Value;
- end;
-
- procedure TTimer1.Timer;
- var
- i: integer;
- begin
- i:=1;
- while i<FCount do
- begin
- if Assigned(FOnTimer) then
- FOnTimer(Self);
- i:=I+1;
- end;
- if Assigned(FOnLastTimer) then
- FOnLastTimer(Self);
- Enabled:=false;
- end;
-
- end.
 |
Вопрос задал: Игорек (статус: Посетитель)
Вопрос отправлен: 30 ноября 2008, 15:23
Состояние вопроса: открыт, ответов: 1.
|
Ответ #1. Отвечает эксперт: min@y™
Я взял твой код и немного доработал. Прицепляю к ответу тестовую программу и сам компонент. К ответу прикреплён файл. Загрузить » (срок хранения: 60 дней с момента отправки ответа)
 |
Ответ отправил: min@y™ (статус: Доктор наук)
Время отправки: 1 декабря 2008, 09:23
Оценка за ответ: 5
Комментарий к оценке: Спасибо. Разобрался и понял.
|
Мини-форум вопроса
Мини-форум пуст.
Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.
|