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()Ö»ÄÜ»ñµÃ¶ÔÏóµÄµ¥¸öʵÌåµÄÄÚ´æ´óС£¬ÎÞ·¨È¡µÃÁ¬ÐøµÄ
Ïà¹ØÎĵµ£º
µ±È»Óû§ÒªÏëͨ¹ýÊý¾Ýä¯ÀÀ²¿¼þ±à¼ÐÞ¸ÄÊý¾Ý¿â±íÖеļǼ×Ö¶Îʱ£¬»¹ÒªÊܵ½ÆäËüÒòËØµÄÖÆÔ¼¡£³ýÁËÊý¾Ýä¯ÀÀ²¿¼þ±¾ÉíµÄReadOnlyÊôÐÔÉèÖÃΪFalseÍ⣬»¹ÒªÉèÖÃÆäÏàÓ¦µÄ×ֶβ¿¼þºÍÊý¾Ý¼¯²¿¼þµÄCanModifyÊôÐÔTrueÐÔ£»ÉèÖÃTDataSource²¿¼þµÄAutoEditÊôÐÔΪTrue£¬Èç¹ûÊý¾Ý¿â±íÊÇSQLÊý¾Ý¿â·þÎñÆ÷ÖеÄÊý¾ ......
Delphi 2010Õýʽ°æÏÂÔØ(RAD Studio 2010ÏÂÔØ)
ÔÚ8ÔÂ26ÈÕÕýʽ·¢²¼ÁËRAD Studio 2010£¬¾ÍÊÇÎÒÃÇËùνµÄDelphi 2010¡£RAD Studio 2010°üº¬Delphi¡¢C++ BuilderºÍDelphi PrismµÈ¡£ RAD Studio 2010 µÄй¦ÄÜÖ÷ÒªÔÚÓÚ£ºÔöÇ¿µÄ IDEºÍ¿ÉÊÓ»¯×é¼þ¿â (VCL) ¿ò¼ÜºÍ»ù´¡µÄ±àÒëÆ÷ÒÔ¼°ÆäËû¸÷Ï¾ß£¬ÕâʹµÃÄã¹¹½¨ÄÇЩ¿çÔ½ËùÓеÄÊý¾ÝÔ´ºÍ ......
Delphi TIniFile Àà ²Ù×÷iniÅäÖÃÎļþ
2007Äê12ÔÂ08ÈÕ ÐÇÆÚÁù 09:56
Ò»¡¢ÓбØÒªÁ˽âINIÎļþµÄ½á¹¹£º
;×¢ÊÍ
[С½ÚÃû]
¹Ø¼ü×Ö=Öµ
...
---- INIÎļþÔÊÐíÓжà¸öС½Ú£¬Ã¿¸öС½ÚÓÖÔÊÐíÓжà¸ö¹Ø¼ü×Ö£¬ “=”ºóÃæÊǸùؼü×ÖµÄÖµ¡£
---- ÖµµÄÀàÐÍÓÐÈýÖÖ£º×Ö·û´®¡¢ÕûÐÍÊýÖµºÍ²¼¶ûÖµ¡£ÆäÖÐ×Ö·û´®´æÖüÔÚINIÎļþÖÐÊ±Ã»Ó ......
ʲôÊǶà̬£¬×ÖÃæÒâ˼¾ÍÊÇ“¶àÖÖÐÎ̬”£¬ÓöÔÏóÀ´½²¾ÍÊÇ×ÓÀà¼Ì³Ð»ùÀ࣬¶ø²»Í¬µÄ×ÓÀàÓÖ·Ö±ð¶Ô»ùÀà½øÐй¦ÄܵÄÀ©Õ¹¡£
¶à̬ÔÚObject PascalÖÐÊÇͨ¹ýÐé·½·¨ÊµÏֵģ¨Virtual Method£©,ÔÚObject PascalÖлùÀàµÄÐé·½·¨ÊÇ¿ÉÒÔ±»ÅÉÉúÀา¸Ç£¨Override£©µÄ ......
ûÓÐÓ¦ÓÃ״̬ģʽµÄ´úÂë
1. ¹¤³ÌÎļþ
program Project1;
{$APPTYPE CONSOLE}
uses
uGumballMachine in 'uGumballMachine.pas';
var
aGumballMachine: TGumballMachine;
begin
aGumballMachine := TGumballMachine.Create(5);
aGumballMachine.InsertQuarter;
aGumballMachine.TurnCrank;
Writeln; ......