ulightmgr.pas

来自「智能交通系统演示」· PAS 代码 · 共 56 行

PAS
56
字号
unit uLightMgr;

interface
uses uPort, uCar, uLight, Contnrs, SysUtils, ExtCtrls, uGlobalObj;


type
  TLightMgr = class
  private
    FTimer: TTimer;
    procedure FOnTimer(Sender: TObject);
  public
    constructor Create;
    destructor Destroy;override;
  end;

implementation
const
  LIGHTINTERVAL = 20000;

procedure TLightMgr.FOnTimer(Sender: TObject);
var
  n, i: integer;
  LLight: TLight;
begin
  n := GLightList.Count - 1;
  for i := 0 to n do
  begin
    LLight := (GLightList.Items[i] as TLight);
    if LLight.State = lsRed then
      LLight.GreenOn
    else if LLight.State = lsGreen then
      LLight.LeftOn
    else if LLight.State = lsLeft then
      LLight.RightOn
    else if LLight.State = lsRight then
      LLight.RedOn;

  end;
end;

constructor TLightMgr.Create;
begin
  FTimer := TTimer.Create(nil);
  FTimer.Interval := LIGHTINTERVAL;
  FTimer.Enabled := true;
  FTimer.OnTimer := FOnTimer;
end;

destructor TLightMgr.Destroy;
begin
  FreeAndNil(FTimer);
end;

end.
 

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?