易截截图软件、单文件、免安装、纯绿色、仅160KB

Delphi 设计模式:《HeadFirst设计模式》Delphi7代码

1.主题与观察者
{《HeadFirst设计模式》之观察者模式 }
{ 主题与观察者 }
{ 编译工具 :Delphi7.0 }
{ 联系方式 :xshlife@163.com }

unit uWeatherReport;

interface

uses
Classes, SysUtils;

type
TObserver = class; { Forward声明,创建两个相互依赖的类 }

{ 抽象主题 }
TSubject = class(TObject)
procedure RegisterObserver(aObserver: TObserver); virtual; abstract;
procedure RemoveObserver (aObserver: TObserver); virtual; abstract;
procedure NotifyObserver; virtual; abstract;
end;

{ 具体主题 }
TWeatherData = class(TSubject)
private
FObservers: TList;
FTemp : Integer;
FHumidity : Integer;
FPresssure: Integer;
public
constructor Create;
destructor Destroy; override;
procedure RegisterObserver(aObserver: TObserver); override;
procedure RemoveObserver (aObserver: TObserver); override;
procedure NotifyObserver; override;
procedure MeasurementsChanged;
procedure SetMeasurements(aTemp, aHumidity, aPresssure: Integer);
end;

{**************************************************************************}

{ 抽象观察者 }
TObserver = class(TObject)
procedure UpDate(Temp, Humidity, Presssure: Integer); virtual; abstract;
procedure Display; virtual; abstract;
end;

{ 具体观察者 }
TCurrentConditionsDisplay = class(TObserver)
private
FTemp : Integer;
FHumidity : Integer;
FWeatherData: TSubject;
public
constructor Create(aWeatherData: TSubject);
destructor Destroy; override;
procedure UpDate(aTemp, aHumidity, aPresssure: Integer); override;
procedure Display; override;
end;

implementation

{ TWeatherData }

constructor TWeatherData.Create;
begin
FObservers := TList.Create;
end;

destructor TWeatherData.Destroy;
begin
FObservers.Clear;
FreeAndNil(FObservers);
inheri


相关文档:

悟透delphi 第二章 DELPHI与WIN32时空

第一章  DELPHI的原子世界
第二章  DELPHI与WIN32时空
第三章  多线程
第四章  接口
第五章  包
第六章  事件与消息
第七章  组织你的模块
第八章  探索数据库
第九章  多层体系结构
第十章  操作界面与操作逻辑
第十一章  面向对象数据库基础
第二章&n ......

delphi 2010 fastMM 内存泄露使用方法

Delphi2010集成了fastMM,这回大家调试程序是的时候可以方便地检查内存泄露了。
使用方法如下:
在project中,添加一行 ReportMemoryLeaksOnShutdown := DebugHook<>0;
DebugHook<>0 目的是保证单独运行exe文件不会弹出内存泄露框,源码可以不用注释掉此行
program Project1;
uses
  Forms,
  ......

Delphi 设计模式:《HeadFirst设计模式》Delphi7代码

1. 产品类
{《HeadFirst设计模式》工厂模式之简单工厂 }
{ 产品类 }
{ 编译工具 :Delphi7.0 }
{ 联系方式 :xshlife@163.com }

unit uProducts;

interface

type
TPizza = class(TObject)
public
procedure Prepare; virt ......

delphi 友元类

 在一个单元中声明的多个类互为友元类
type
TMyClass = class
GUID: string;
Name: string;
bSex: Boolean;
Tel : string;
end;
TForm1 = class(TForm)
Button1: TButton;
Memo1: TMemo;
Button2: TButton;
procedure Button2Click(Sender: TObject);
procedu ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号