Delphi Éè¼ÆÄ£Ê½£º¡¶HeadFirstÉè¼ÆÄ£Ê½¡·Delphi7´úÂë
1.²ßÂÔÀà
{¡¶HeadFirstÉè¼ÆÄ£Ê½¡·Ö®²ßÂÔģʽ }
{ ±¾µ¥ÔªÖеÄÀàΪ²ßÂÔÀà }
{ ±àÒ빤¾ß: Delphi7.0 }
{ E-Mail : xshlife@163.com }
unit uStrategy;
interface
type
{·ÉÐнӿڣ¬¼°ÆäʵÏÖÀà }
IFlyBehavior = Interface(IInterface)
procedure Fly;
end;
TFlyWithWings = class(TInterfacedObject, IFlyBehavior)
public
procedure Fly;
end;
TFlyNoWay = class(TInterfacedObject, IFlyBehavior)
public
procedure Fly;
end;
TFlyRocketPowered = class(TInterfacedObject, IFlyBehavior)
public
procedure Fly;
end;
{½ÐÉù½Ó¿Ú£¬¼°ÆäʵÏÖÀà}
IQuackBehavior = Interface(IInterface)
procedure Quack;
end;
TQuack = class(TInterfacedObject, IQuackBehavior)
public
procedure Quack;
end;
TMuteQuack = class(TInterfacedObject, IQuackBehavior)
public
procedure Quack;
end;
TSqueak = class(TInterfacedObject, IQuackBehavior)
public
procedure Quack;
end;
implementation
{ TFlyWithWings }
procedure TFlyWithWings.Fly;
begin
Writeln('I am flying!');
end;
{ TFlyNoWay }
procedure TFlyNoWay.Fly;
begin
Writeln('I can not fly!');
end;
{ TFlyRocketPowered }
procedure TFlyRocketPowered.Fly;
begin
Writeln('I am flying with a rocket!');
end;
{ TQuack }
procedure TQuack.Quack;
begin
Writeln('Quack');
end;
{ TMuteQuack }
procedure TMuteQuack.Quack;
begin
Writeln('<Silence>');
end;
{ TSqueak }
procedure TSqueak.Quack;
begin
Writeln('Squeak');
end;
end.
2.²ßÂÔµÄÓû§
{¡¶HeadFirstÉè¼ÆÄ£Ê½¡·Ö®²ßÂÔģʽ }
{ ±¾µ¥ÔªÖеÄÀàΪ²ßÂÔµÄÓû§£¬ }
{ Ò»°ã²ßÂÔģʽÖеÄÉÏÏÂÎĽӿÚÒѰüº¬ÔÚÓû§ÀàÖС£}
{ ±àÒ빤¾ß: Delphi7.0 }
{ E-Mail : xshlife@163.com }
unit uDuck;
interface
uses
uStrategy;
type
{ Ѽ×Ó³éÏóÀà }
TDuck
Ïà¹ØÎĵµ£º
Delphi2010¼¯³ÉÁËfastMM£¬Õâ»Ø´ó¼Òµ÷ÊÔ³ÌÐòÊǵÄʱºò¿ÉÒÔ·½±ãµØ¼ì²éÄÚ´æÐ¹Â¶ÁË¡£
ʹÓ÷½·¨ÈçÏ£º
ÔÚprojectÖУ¬Ìí¼ÓÒ»ÐÐ ReportMemoryLeaksOnShutdown := DebugHook<>0;
DebugHook<>0 Ä¿µÄÊDZ£Ö¤µ¥¶ÀÔËÐÐexeÎļþ²»»áµ¯³öÄÚ´æÐ¹Â¶¿ò£¬Ô´Âë¿ÉÒÔ²»ÓÃ×¢Ê͵ô´ËÐÐ
program Project1;
uses
Forms,
......
±¾ÎÄÊÇ»ùÓÚ¡¶GDI+ÔÚDelphi³ÌÐòµÄÓ¦Óà – PhotoshopÉ«Ïà/±¥ºÍ¶È/Ã÷¶È¹¦ÄÜ¡·Ò»ÎĵÄBASMʵÓÃÐÔ¹ý³Ì£¬ÓйØÊµÏÖÔÀí¿É²Î¼û¡¶GDI+ ÔÚDelphi³ÌÐòµÄÓ¦Óà -- ͼÏñ±¥ºÍ¶Èµ÷Õû¡·ºÍ¡¶GDI+ ÔÚDelphi³ÌÐòµÄÓ¦Óà -- ·ÂPhotoshopµÄÃ÷¶Èµ÷Õû¡·£¬´¿PASʵÏÖ´úÂëºÍ²âÊÔÀý×Ó´úÂë¼û¡¶GDI+ÔÚDelphi³ÌÐòµÄÓ¦Óà – Phot ......
//¶¨ÒåMyClass
TMyClass = class
GUID: string;
Name: string;
bSex: Boolean;
Tel : string;
end;
//ȡֵ
var
obj: TMyClass;
begin
obj := TMyClass.Create;
with Memo1.Lines do
begin
Add('¶ÔÏó´óС:' + IntToStr(obj.InstanceSize));
Add('¶ÔÏóËùÔÚµØÖ·£º'+ ......
ÊÊÅäÆ÷ģʽµÄÖ÷ÒªÒâͼÊǶÔÏÖÓÐÀàµÄ½Ó¿Ú½øÐÐת»»£¬ÒÔÂú×ãÄ¿±êÀàµÄÐèÇ󡣯ä´Î£¬¿ÉÒÔ¸øÄ¿±êÀàµÄ½Ó¿ÚÌí¼ÓеÄÐÐΪ£¨Ö÷ÒªÖ¸·½·¨£©¡£ÕâÒ»µãÈÝÒ×Óë×°ÊÎģʽ»ìÏý¡£´ÓÒâͼ·½ÃæÀ´¿´£¬×°ÊÎģʽ²»¸Ä±ä£¨Í¨³£Ö¸Ôö¼Ó£©½Ó¿ÚÖеÄÐÐΪ£¨Ö÷ÒªÖ¸·½·¨£©£¬¶øÊÇÔÚÔÓÐÐÐΪ£¨Ö÷ÒªÖ¸·½·¨£©µÄ»ù´¡ÉÏÌí¼ÓÐµĹ¦ÄÜ£»´ÓÀà½á¹¹· ......