fmclientmain.pas

来自「多数代码可以直接在Delphi6和Delphi7环境下运行。部分涉及.NET技术」· PAS 代码 · 共 89 行

PAS
89
字号
unit fmClientMain;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, Buttons, uObjects, uFacade;

type
  TForm1 = class(TForm)
    Memo1: TMemo;
    BitBtn1: TBitBtn;
    BitBtn2: TBitBtn;
    BitBtn3: TBitBtn;
    procedure BitBtn1Click(Sender: TObject);
    procedure BitBtn2Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.BitBtn1Click(Sender: TObject);
var
  obj1Factory : TObj1Factory;
  obj2Factory : TObj2Factory;
  obj3Factory : TObj3Factory;
  aObj1 : TObject1;
  aObj2 : TObject2;
  aObj3 : TObject3;
begin
  try
    Memo1.Lines.Add('====由Factory创建');
    obj1Factory := TObj1Factory.Create;
    aObj1 := obj1Factory.CreateObject1;
    Memo1.Lines.Add(aObj1.ToString);

    obj2Factory := TObj2Factory.Create;
    aObj2 := obj2Factory.CreateObject2;
    Memo1.Lines.Add(aObj2.ToString);

    obj3Factory := TObj3Factory.Create;
    aObj3 := obj3Factory.CreateObject3;
    Memo1.Lines.Add(aObj3.ToString);
  finally
    FreeAndNil(aObj1);
    FreeAndNil(aObj2);
    FreeAndNil(aObj3);
    FreeAndNil(obj1Factory);
    FreeAndNil(obj2Factory);
    FreeAndNil(obj3Factory);
  end;
end;

procedure TForm1.BitBtn2Click(Sender: TObject);
var
  aObj1 : TObject1;
  aObj2 : TObject2;
  aObj3 : TObject3;
  aFacade : TFacade;
begin
  aFacade := TFacade.Create;
  try
    Memo1.Lines.Add('====由Facade创建');  
    aObj1 := aFacade.CreateObject1;
    Memo1.Lines.Add(aObj1.ToString);

    aObj2 := aFacade.CreateObject2;
    Memo1.Lines.Add(aObj2.ToString);

    aObj3 := aFacade.CreateObject3;
    Memo1.Lines.Add(aObj3.ToString);
  finally
    FreeAndNil(aObj1);
    FreeAndNil(aObj2);
    FreeAndNil(aObj3);
    FreeAndNil(aFacade);
  end;
end;

end.

⌨️ 快捷键说明

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