⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mainfrm.pas

📁 智能交通系统演示delphi源码,适合初学者看的例子
💻 PAS
字号:
unit MainFrm;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ExtCtrls, uLight, uPort, uCar, uCarFactory, Menus, uGlobalObj,
  StdCtrls, Contnrs, uLightMgr, uThreadComList;

type
  TForm1 = class(TForm)
    Image1: TImage;
    Light1: TLight;
    Light2: TLight;
    Light3: TLight;
    Light4: TLight;
    Light5: TLight;
    Light6: TLight;
    Light7: TLight;
    Light8: TLight;
    Port1: TPort;
    Port2: TPort;
    Port3: TPort;
    Port4: TPort;
    Port5: TPort;
    Port6: TPort;
    Port7: TPort;
    Port8: TPort;
    Button1: TButton;
    procedure FormShow(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure FormDestroy(Sender: TObject);
    procedure FormCreate(Sender: TObject);
  private
    { Private declarations }
    FCarFactory: TCarFactory;
    FCarMgr: TCarMgr;
    FLightMgr: TLightMgr;
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.FormShow(Sender: TObject);
var
  n, i: integer;
  LCom: TComponent;
begin
  n := self.ComponentCount - 1;
  for i := 0 to n do
  begin
    LCom := self.Components[i];
    if LCom is TLight then
      GLightList.Add(LCom as TLight)
    else if LCom is TPort then
      GPortList.Add(LCom as TPort);
      
  end;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
    FCarFactory := TCarFactory.Create;
    FCarMgr := TCarMgr.Create;
    if not Assigned(FLightMgr) then
      FLightMgr := TLightMgr.Create;
    FCarFactory.Start;

end;

procedure TForm1.FormDestroy(Sender: TObject);
begin
  if Assigned(FCarMgr) then
    FreeAndNil(FCarMgr);
  if Assigned(FCarFactory) then
    FreeAndNil(FCarFactory);
    
    FreeAndNil(GCarList);
    FreeAndNil(GLightList);
    FreeAndNil(GPortList);
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
    GCarList := TThreadComList.Create;
    GLightList := TComponentList.Create;
    GPortList := TComponentList.Create;
end;

end.

⌨️ 快捷键说明

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