Ò׽ؽØͼÈí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB
ÈÈÃűêÇ©£º c c# c++ asp asp.net linux php jsp java vb Python Ruby mysql sql access Sqlite sqlserver delphi javascript Oracle ajax wap mssql html css flash flex dreamweaver xml
 ×îÐÂÎÄÕ : delphi

Delphi Éè¼Æģʽ£º¡¶HeadFirstÉè¼Æģʽ¡·Delphi7´úÂë

ÃüÁîģʽ¿ÉÒÔºÜÇáËɵÄʵÏÖ³·Ïú£¨Undo£©¹¦ÄÜ¡£
1. ÃüÁîµÄ½ÓÊÜÕß
unit uReceiveObject;

interface

type
TLight = class(TObject)
public
procedure Open;
procedure Off;
end;

implementation

{ TLight }

procedure TLight.Off;
begin
Writeln('Light is off.');
end;

procedure TLight.Open;
begin
Writeln('Light is on.');
end;

end.


2.ÃüÁî¶ÔÏó
unit uReceiveObject;

interface

type
TLight = class(TObject)
public
procedure Open;
procedure Off;
end;

implementation

{ TLight }

procedure TLight.Off;
begin
Writeln('Light is off.');
end;

procedure TLight.Open;
begin
Writeln('Light is on.');
end;

end.


 
3.ÃüÁîµÄÇëÇóÕß
unit uSimpleRemoteWithUndo;

interface

uses
uCommandObject;

type
TSimpleRemoteWithUndo = class(TObject)
private
FOnCommand : TCommand;
FOffCommand : TCommand;
FUndoCommand: TCommand;
......

Delphi Éè¼Æģʽ£º¡¶HeadFirstÉè¼Æģʽ¡·Delphi7´úÂë

1. ÃüÁîµÄ½ÓÊÜÕß
unit uReceiveObject;
interface
type
TLight = class(TObject)
public
procedure Open;
procedure Off;
end;
TGarageDoor = class(TObject)
public
procedure Up;
procedure Down;
procedure Stop;
procedure LightOn;
procedure LightOff;
end;
implementation
{ TLight }
procedure TLight.Off;
begin
Writeln('');
end;
procedure TLight.Open;
begin
Writeln('Light is On.');
end;
{ TGarageDoor }
procedure TGarageDoor.Down;
begin
Writeln('');
end;
procedure TGarageDoor.LightOff;
begin
Writeln('');
end;
procedure TGarageDoor.LightOn;
begin
Writeln('');
end;
procedure TGarageDoor.Stop;
begin
Writeln('');
end;
procedure TGarageDoor.Up;
begin
Writeln('GarageDoor is Open.');
end;
end.

2.ÃüÁî¶ÔÏó
unit uCommandObject;
interface
uses
uReceiveObject;
type
TCommand = class(TObject)
public
procedure Execute; virtual; abstract;
end;
TLightOnCommand = class(TCommand)
private ......

Delphi Éè¼Æģʽ£º¡¶HeadFirstÉè¼Æģʽ¡·Delphi7´úÂë

ûÓÐÓ¦ÓÃ״̬ģʽµÄ´úÂë
1. ¹¤³ÌÎļþ
program Project1;
{$APPTYPE CONSOLE}
uses
uGumballMachine in 'uGumballMachine.pas';
var
aGumballMachine: TGumballMachine;
begin
aGumballMachine := TGumballMachine.Create(5);
aGumballMachine.InsertQuarter;
aGumballMachine.TurnCrank;
Writeln;
aGumballMachine.InsertQuarter;
aGumballMachine.EjectQuarter;
aGumballMachine.TurnCrank;
Writeln;
aGumballMachine.InsertQuarter;
aGumballMachine.TurnCrank;
aGumballMachine.InsertQuarter;
aGumballMachine.TurnCrank;
aGumballMachine.EjectQuarter;
Writeln;
aGumballMachine.InsertQuarter;
aGumballMachine.InsertQuarter;
aGumballMachine.TurnCrank;
aGumballMachine.InsertQuarter;
aGumballMachine.TurnCrank;
aGumballMachine.InsertQuarter;
aGumballMachine.TurnCrank;
aGumballMachine.Free;
Readln;
end.
2.µ¥ÔªÎļþ
unit uGumballMachine;
interface
type
TGumballMachine = class(TObject)
private
FState: Integer;
FCount: Integer;
pub ......

delphi µ÷ÊÔʱ×ܳöÏÖcpu´°¿Ú£¬ntdll.dllµãµÄ½â¾ö·½·¨

 ÔÚÖ÷½çÃæµÄimplementation  {$R *.dfm} Ï·ÅÈëÒÔÏ´úÂ룺
procedure PatchInt3;
var
NOP: Byte;
NTDLL: THandle;
BytesWritten: DWORD;
Address: Pointer;
begin
 if Win32Platform <> VER_PLATFORM_WIN32_NT then
Exit;
 NTDLL := GetModuleHandle('NTDLL.DLL');
 if NTDLL = 0 then
Exit;
Address := GetProcAddress(NTDLL, 'DbgBreakPoint');
if Address = nil then
 Exit;
try
if Char(Address^) <> #$CC then
 Exit;
NOP := $90;
if WriteProcessMemory(GetCurrentProcess, Address, @NOP, 1, BytesWritten) and (BytesWritten = 1) then FlushInstructionCache(GetCurrentProcess, Address, 1);
except // Do not panic if you see an EAccessViolation here, it is perfectly harmless!
on EAccessViolation do ;
else
raise;
end;
end;
È»ºóÔÚ´°ÌåµÄCreateÖе÷Óà PatchInt3 £»»òÕßÔÚ´°Ìå´úÂëµÄ×îºóÒ»¸öend.Ç°¼ÓÈëһϴúÂë¼´¿ÉÒÔ½â¾ö
//-------------------------------------------------------------- i
nitialization
begin
PatchInt3; //·ÀÖ¹¹Ø±Õ´°¿Úʱ³öÏ ......

DELPHIµÄÖ¸Õë

´ó¼Ò¶¼ÈÏΪ£¬CÓïÑÔÖ®ËùÒÔÇ¿´ó£¬ÒÔ¼°Æä×ÔÓÉÐÔ£¬ºÜ´ó²¿·ÖÌåÏÖÔÚÆäÁé»îµÄÖ¸ÕëÔËÓÃÉÏ¡£Òò´Ë£¬ËµÖ¸ÕëÊÇCÓïÑÔµÄÁé»ê£¬Ò»µã¶¼²»Îª¹ý¡£Í¬Ê±£¬ÕâÖÖ˵·¨Ò²ÈúܶàÈ˲úÉúÎó½â£¬ËƺõÖ»ÓÐCÓïÑÔµÄÖ¸Õë²ÅÄÜËãÖ¸Õë¡£Basic²»Ö§³ÖÖ¸Õ룬Ôڴ˲»ÂÛ¡£Æäʵ£¬PascalÓïÑÔ±¾ÉíÒ²ÊÇÖ§³ÖÖ¸ÕëµÄ¡£´Ó×î³õµÄPascal·¢Õ¹ÖÁ½ñµÄObject Pascal£¬¿ÉÒÔ˵ÔÚÖ¸ÕëÔËÓÃÉÏ£¬Ë¿ºÁ²»»áÑ·É«ÓÚCÓïÑÔµÄÖ¸Õë¡£
ÒÔÏÂÄÚÈÝ·ÖΪ°Ë¸ö²¿·Ö£¬·Ö±ðÊÇ
Ò»¡¢ÀàÐÍÖ¸ÕëµÄ¶¨Òå
¶þ¡¢ÎÞÀàÐÍÖ¸ÕëµÄ¶¨Òå
Èý¡¢Ö¸ÕëµÄ½â³ýÒýÓÃ
ËÄ¡¢È¡µØÖ·£¨Ö¸Õ븳ֵ£©
Îå¡¢Ö¸ÕëÔËËã
Áù¡¢¶¯Ì¬ÄÚ´æ·ÖÅä
Æß¡¢×Ö·ûÊý×éµÄÔËËã
°Ë¡¢º¯ÊýÖ¸Õë
Ò»¡¢ÀàÐÍÖ¸ÕëµÄ¶¨Òå¡£¶ÔÓÚÖ¸ÏòÌض¨ÀàÐ͵ÄÖ¸Õ룬ÔÚCÖÐÊÇÕâÑù¶¨ÒåµÄ£º
int *ptr;
char *ptr;
ÓëÖ®µÈ¼ÛµÄObject PascalÊÇÈçºÎ¶¨ÒåµÄÄØ£¿
var
ptr : ^Integer;
ptr : ^char;
ÆäʵҲ¾ÍÊÇ·ûºÅµÄ²î±ð¶øÒÑ¡£
¶þ¡¢ÎÞÀàÐÍÖ¸ÕëµÄ¶¨Òå¡£CÖÐÓÐvoid *ÀàÐÍ£¬Ò²¾ÍÊÇ¿ÉÒÔÖ¸ÏòÈκÎÀàÐÍÊý¾ÝµÄÖ¸Õë¡£Object PascalΪÆ䶨ÒåÁËÒ»¸öרÃŵÄÀàÐÍ£ºPointer¡£ÓÚÊÇ£¬
ptr : Pointer;
¾ÍÓëCÖеÄ
void *ptr;
µÈ¼ÛÁË¡£
Èý¡¢Ö¸ÕëµÄ½â³ýÒýÓá£Òª½â³ýÖ¸ÕëÒýÓ㨼´È¡³öÖ¸ÕëËùÖ¸ÇøÓòµÄÖµ£©£¬C µÄÓï·¨ÊÇ (*ptr)£¬Object PascalÔòÊÇ ptr^¡£
ËÄ¡¢È¡ ......

DB2 ºÍ Delphi 7 — SOAP ºÍÊý¾Ý¿â Web ·þÎñ

 ¹¹½¨ Windows SOAP ·þÎñÆ÷Ó¦ÓóÌÐò
Ê×ÏÈÔÚ Windows ÉϹ¹½¨·þÎñÆ÷£¬È»ºóÔÚ Linux ÉϹ¹½¨¿Í»§»ú¡££¨Èç¹ûÐèÒª£¬¿ÉÒÔʹÓÃÆäËü·½·¨ — »òÕß½«ËüÃÇÈ«²¿¹¹½¨ÔÚ Windows »ò Linux ÉÏ¡££©¶ÔÓÚ Windows SOAP ·þÎñÆ÷£¬Æô¶¯ Delphi 7 Enterprise£¬Ö´ÐÐ File -> New -> Other£¬×ªÖÁ¶ÔÏó×ÊÔ´¿â£¨Object Repository£©µÄ Web ServicesÑ¡Ï¡£
ͼ 1. Delphi 7 ¶ÔÏó×ÊÔ´¿â
 
Òª½« DataSnap? Ó¦ÓóÌÐò¹¹½¨³É¿çƽ̨µÄ Web ·þÎñ£¬Ë«»÷ SOAP Server Application ͼ±ê£¬Õ⽫Æô¶¯ÏàÓ¦µÄÏòµ¼¡£
ͼ 2. ´´½¨Ð嵀 SOAP ·þÎñÆ÷Ó¦ÓóÌÐò
 
ͨ¹ýʹÓà Delphi 7£¨ÔÚ Windows ÉÏ£©£¬ÏÖÔÚ¿ÉÒÔ´Ó ISAPI/NSAPI DLL¡¢Apache 1.x »ò 2.x DLL¡¢CGI ¿ÉÖ´ÐÐÎļþ»ò Web App Debugger ¿ÉÖ´ÐÐÎļþÖ®ÖнøÐÐÑ¡Ôñ¡£¿ÉÒÔʹÓúóÕß´Ó Delphi IDE Öе÷ÊÔÓ¦ÓóÌÐò£¨µ«²»Äܲ¿ÊðËü — ±ØÐ뽫Ëü¸ü¸Ä³ÉÆäËüÄ¿±êÖ®Ò»À´²¿Êð Web ·þÎñÆ÷Ó¦ÓóÌÐò£©¡£Í¨¹ýʹÓà Kylix 3£¨ÔÚ Linux ÉÏ£©£¬¿ÉÒÔÑ¡Ôñ Apache ¶¯Ì¬¹²ÏíÄ¿±ê£¨Apache Dynamic Shared Object£¬DSO£©Îļþ¡¢CGI ¿ÉÖ´ÐÐÎļþ»ò Web App Debugger ¿ÉÖ´ÐÐÎļþ¡£¶ÔÓÚ±¾Àý£¬Ñ¡Ôñ CGI ¿ÉÖ´ÐÐÎļþ£¬µ«ÔÚʵ¼ÊʹÓÃʱ£¬¿ÉÄÜҪѡÔñÒ»¸ö¸ü¸ßЧµÄ Apache »ò ......
×ܼǼÊý:644; ×ÜÒ³Êý:108; ÿҳ6 Ìõ; Ê×Ò³ ÉÏÒ»Ò³ [83] [84] [85] [86] 87 [88] [89] [90] [91] [92]  ÏÂÒ»Ò³ βҳ
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØͼ | ¸ÓICP±¸09004571ºÅ