• fusic © (28.02.18 17:02) [0]
    Помогите решить задачку.
    Есть компонент Timer, который для удобства нужно слегка доработать:
    -добавить пару методов - это легко получилось !
    -и добавить свойство Count=число срабатываний таймера с момента последнего старта. Вот тут засада.
    Поле добавил. Но как его инкрементировать (внутри компонента) одновременно с наступлением события OnTimer ?
    Помогите пожалуйста !
  • Rouse_ © (28.02.18 17:12) [1]
    type
     TMyTimer = class(TTimer)
     private
       FCounter: Integer;
     protected
       procedure Timer; override;
     published
       property Counter: Integer read FCounter;
     end;

    { TMyTimer }

    procedure TMyTimer.Timer;
    begin
     inherited;
     Inc(FCounter);
    end;
  • fusic © (28.02.18 17:27) [2]
    Спасибо. Работает.

    unit TimerCnt;

    interface

    uses
     SysUtils, Classes, ExtCtrls;

    type
     TTimerCnt = class(TTimer)
     private
       FCount:cardinal;
     protected
       procedure Timer; override;
     public
       procedure Star;
       procedure Stop;
       procedure ReStart;
       constructor Create (AOwner : TComponent);override;
     published
       property Count : cardinal read FCount write FCount;
     end;

    procedure Register;

    implementation

    procedure TTimerCnt.Timer;
    begin
     inherited;
     Inc(FCount);
    end;

    constructor TTimerCnt.Create(AOwner : TComponent);
    begin
    inherited Create(AOwner);
    FCount:=0;
    end;

    procedure Register;
    begin
     RegisterComponents('Samples', [TTimerCnt]);
    end;

    procedure TTimerCnt.Star;
    begin
    FCount:=0;
    Enabled := true;
    end;

    procedure TTimerCnt.Stop;
    begin
    Enabled := false;
    end;

    procedure TTimerCnt.ReStart();
    begin
    Enabled := false;
    Enabled := true;
    end;

    end.
Есть новые Нет новых   [134427   +26][b:0][p:0]