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^¡£
ËÄ¡¢È¡µØÖ·£¨Ö¸Õ븳ֵ£©¡£È¡Ä³¶ÔÏóµÄµØÖ·²¢½«Æ丳ֵ¸øÖ¸Õë±äÁ¿£¬C µÄÓï·¨ÊÇ
ptr = &Object;
Object Pascal ÔòÊÇ
ptr := @Object;
Ò²Ö»ÊÇ·ûºÅµÄ²î±ð¶øÒÑ¡£
Îå¡¢Ö¸ÕëÔËËã¡£ÔÚCÖУ¬¿ÉÒÔ¶ÔÖ¸Õë½øÐÐÒƶ¯µÄÔËË㣬È磺
char a[20];
char *ptr=a;
ptr++;
ptr+=2;
µ±Ö´ÐÐptr++;ʱ£¬±àÒëÆ÷»á²úÉúÈÃptrÇ°½øsizeof(char)²½³¤µÄ´úÂ룬֮ºó£¬ptr½«Ö¸Ïòa[1]¡£ptr+=2;Õâ¾äʹµÃptrÇ°½øÁ½¸ösizeof(char)´óСµÄ²½³¤¡£Í¬Ñù£¬ÎÒÃÇÀ´¿´Ò»ÏÂObject PascalÖÐÈçºÎʵÏÖ£º
var
a : array [1..20] of Char;
ptr : PChar; //PChar ¿ÉÒÔ¿´×÷ ^Char
begin
ptr := @a;
Inc(ptr); // Õâ¾äµÈ¼ÛÓÚ C µÄ ptr++;
Inc(ptr, 2); //Õâ¾äµÈ¼ÛÓÚ C µÄ ptr+=2;
end;
Áù¡¢¶¯Ì¬ÄÚ´æ·ÖÅä¡£CÖУ¬Ê¹ÓÃmalloc()¿âº¯Êý·ÖÅäÄڴ棬free()º¯ÊýÊÍ·ÅÄÚ´æ¡£ÈçÕâÑùµÄ´úÂ룺
int *ptr, *ptr2;
int i;
ptr = (int*) malloc(sizeof(int) * 20);
ptr2 = ptr;
for (i=0; i<20; i++){
*ptr = i;
ptr++;
}
free(ptr2);
Object PascalÖУ¬¶¯Ì¬·ÖÅäÄÚ´æµÄº¯ÊýÊÇGetMem()£¬ÓëÖ®¶ÔÓ¦µÄÊͷź¯ÊýΪFreeMem()£¨´«Í³PascalÖлñÈ¡ÄÚ´æµÄº¯ÊýÊÇNew()ºÍ Dispose()£¬µ«New()Ö»ÄÜ»ñµÃ¶ÔÏóµÄµ¥¸öʵÌåµÄÄÚ´æ´óС£¬ÎÞ·¨È¡µÃÁ¬ÐøµÄ
Ïà¹ØÎĵµ£º
Python , Delphi , Loki Èý¸öµ¥´ÊÓÐȤµÄÀ´Ô´
Ðí¶à³ÌÐòÉè¼ÆÓïÑԺͿª·¢¹¤¾ßÒÔ¼°¿âµÄÃû×Ö¶¼À´Ô´ÓëÉñ»°£¬ÆÄÓÐÒâ˼£º
°¢²¨ÂÞÊÇͬʱ³öÏÖÔÚÏ£À°ºÍÂÞÂíÉñ»°ÖеİÂÁÖÅÁ˹ʮ¶þ´óÉñÖ®Ò»¡£Ëû³ýÁËÓµÓÐÌ«ÑôÉñµÄÉí·Ö£¬Í¬Ê±»¹ÓÐÔ¤ÑÔ¡¢ÒÕÊõ¡¢Ò½ÊõÖ®ÉñµÄ³ÆºÅ¡£°¢²¨ÂÞÊÇÖæ˹ºÍÀÖ¶äµÄ¶ù×Ó£¬ºÍ°¢µÙÃÛ˹ÊÇË ......
//¶¨Òå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('¶ÔÏóËùÔÚµØÖ·£º'+ ......
ÔÚÒ»¸öµ¥ÔªÖÐÉùÃ÷µÄ¶à¸öÀ໥ΪÓÑÔªÀà
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 ......
Ä£°å·½·¨Ä£Ê½¶¨ÒåÁËÒ»¸öËã·¨¹Ç¼Ü£¬ÔÊÐí×ÓÀà¶ÔËã·¨µÄij¸ö»òijЩ²½Öè½øÐÐÖØд£¨override)¡£
1.CoffeineBeverageWithHook
{¡¶HeadFirstÉè¼Æģʽ¡·Ö®Ä£°å·½·¨Ä£Ê½ }
{ ±àÒ빤¾ß: Delphi7.0 }
{ E-Mail : xshlife@163.com }
unit uCoffeineBeverageWithHook;
interface
uses
SysUti ......
1.²ßÂÔÀà
{¡¶HeadFirstÉè¼Æģʽ¡·Ö®²ßÂÔģʽ }
{ ±¾µ¥ÔªÖеÄÀàΪ²ßÂÔÀà }
{ ±àÒ빤¾ß: Delphi7.0 }
{ E-Mail : xshlife@163.com }
unit uStrategy;
interface
type
{·ÉÐнӿڣ¬¼°ÆäʵÏÖÀà }
IFlyBehavior = Interface(IInterface)
procedure Fly;
......