Znn3bq.jpeg
²é¿´: 960  |  »Ø¸´: 2

zyj8119

ľ³æ (ÖøÃûдÊÖ)

[½»Á÷] ¡¾×ªÌû¡¿DelphiÃæÏò¶ÔÏó±à³ÌµÄ20Ìõ¹æÔò ÒÑÓÐ2È˲ÎÓë

Marco CantuÊÇÒ»¸öÖªÃûµÄDelphiר¼Ò£¬ËûÔø³ö°æ¹ý¡¶¾«Í¨Delphi¡·ÏµÁдÔÊ飬
¡¶Delphi¿ª·¢ÊֲᡷÒÔ¼°µç×ÓÊé¡¶¾«Í¨Pascal¡·(¸Ãµç×ÓÊé¿ÉÔÚÍøÉÏÃâ·Ñ»ñµÃ)¡£Ëû½²ÊڵĿÎ
ÌâÊÇDelphi»ù´¡ºÍ¸ß¼¶¿ª·¢¼¼ÇÉ¡£Äã¿ÉÒÔͨ¹ýËûµÄÍøÕ¾£¨www.marcocantu.com£©»ñµÃ¸ü¶à¹Ø
ÓÚËûµÄÐÅÏ¢£¬ÄãÒ²¿ÉÒÔËûµÄ¹«¹²ÐÂÎÅ×éºÍËûÁªÏµ£¬ÏêÇéÇë²Î¼ûËûµÄÍøÕ¾¡£


ǰÑÔ
        ´ó¶àÊýDelphi³ÌÐòÔ±¶¼ÏñʹÓÃVisual Basic ÄÇÑùʹÓÃËûÃÇÊÖÍ·ÉÏ¿ª·¢¹¤¾ß£¬¶øË¿ºÁ
ûÓÐÒâʶµ½DelphiµÄÇ¿´ó¹¦ÄÜ£¬¸ü̸²»ÉÏʹÓÃÕâЩ¹¦ÄÜÁË¡£(дµ½ÕâÀ±à¼­»Ì¿ÖµÄ¾ÙÆðÁËÊÖ
£¬Ôõô¿ÉÄÜÄØ£¿)DelphiºÍVisual Basic²»Í¬£¬DelphiÍêÈ«½¨Á¢ÔÚÃæÏò¶ÔÏó½á¹¹ÉÏ,Õâ²»½öÓ°
Ïìµ½VCLµÄ½á¹¹£¬¶øÇÒÓ°Ï쵽ʹÓÃDelphi¿ª·¢µÄÿһ¸ö³ÌÐò¡£
        ÔÚ±¾ÎÄÖУ¬ÎÒ²»ÏëÉæ¼°µ½ÃæÏò¶ÔÏó±à³Ì£¨OOP£©µÄËùÓÐÀíÂÛ,Ö»ÊÇÌá³öһЩ¼òµ¥µÄ¾­Ñé
¹æÔò¡£Ï£ÍûÕâЩ¹æÔòÄܹ»°ïÖú¸ÄÉÆÄãµÄ³ÌÐò½á¹¹¡£ÎÞÂÛÄ㿪·¢µÄÊǺÎÖÖÀàÐ͵ijÌÐò£¬ÕâЩ¾­
Ñ鹿Ôò¶¼ÊÇÊÊÓõġ£ÄãÓ¦µ±°ÑËûÃǵ±×÷һЩ½¨Ò飬¼ÇסËûÃDz¢°ÑËûÃÇÓ¦Óõ½Ä㿪·¢µÄ³ÌÐòÖÐ
È¥¡£
       ¹ØÓÚÃæÏò¶ÔÏó±à³Ì£¬ÎÒÏëÇ¿µ÷µÄÒ»¸ö¹Ø¼üÔ­ÀíÊÇ·â×°¡£ÎÒÃǶ¼Ï£Íû´´½¨Ò»Ð©Áé»î¶øÇÒ
Ç¿½¡µÄÀ࣬ÒòΪÕâÑùµÄÀàÔÊÐíÎÒÃÇÒÔºóÐÞ¸ÄËûÃǵÄʵÏÖ·½·¨¶ø²»Ó°Ïìµ½³ÌÐòÖÐµÄÆäËû²¿·Ö£¬
ÕâÕýÊÇ·â×°¸øÎÒÃÇ´øÀ´µÄºÃ´¦¡£ËäÈ»·â×°²»ÊÇ´´½¨Ò»¸öºÃµÄÃæÏò¶ÔÏó³ÌÐòµÄΨһ±ê×¼£¬µ«ÊÇ
Ëü¹¹³ÉÁËÃæÏà¶ÔÏó±à³ÌµÄ»ù´¡£¬ËùÒÔÔÚ±¾ÎÄÖÐÎÒÒ²Ðí»á¹ý¶àµÄÇ¿µ÷·â×°ÐÔ£¬Çë²»Òª¸Ðµ½Ææ¹Ö
£¬ÎÒÓÐ×ã¹»³ä·ÖµÄÀíÓÉÕâô×ö¡£
       ×îºó£¬ÎÒÏë˵Ã÷ÕâÑùÒ»¸öÊÂʵ£º±¾ÎĽ«Ö÷Òª¼¯ÖÐ˵Ã÷´°Ì壨Forms£©µÄ¿ª·¢£¨ËäÈ»ÆäÖÐ
µÄһЩ¹æÔò¶ÔÓÚ×é¼þµÄ¿ª·¢Í¬ÑùÊÊÓã©£¬Òò´ËÕâЩ¹æÔò¶ÔÓÚËùÓеÄDelphi³ÌÐòÔ±¶¼ÊÇÊÊÓõÄ
¡£ÄÇЩ±àд×é¼þµÄ³ÌÐòÔ±±ØÐë°ÑÃæÏà¶ÔÏó±à³ÌºÍÀࣨClass£©×÷ΪºËÐĵÄÔªËØ£¬µ«ÊǶÔÓÚÄÇЩ
ʹÓÃ×é¼þ±à³ÌµÄ³ÌÐòÔ±£¬ËûÃÇʱ³£»áÍü¼ÇÃæÏò¶ÔÏó¡£¶ÔÓÚËûÃÇ£¬±¾ÎÄ¿ÉÒÔµ±×÷Ò»¸öÌáʾ£¬Ìá
ÐÑËûÃÇʼÖÕ¼Ç×¡ÃæÏò¶ÔÏó±à³Ì

µÚÒ»²¿·Ö£º´°ÌåÊÇÀࣨA Form. is A Class£©(rule 1-rule 15)
       ³ÌÐòÔ±³£³£½«´°Ìå¿´×÷ÊǶÔÏ󣬶øÊÂʵÉÏ´°ÌåÊÇÀà¡£Á½ÕߵIJî±ðÔÚÓÚÄã´´½¨»ùÓÚÏàͬ
µÄ´°ÌåÀàµÄ¶à¸ö´°Ìå¶ÔÏó¡£ÁîÈ˸е½ÒÉ»óµÄÊÇDelphiΪÄ㶨ÒåµÄÿһ¸ö´°ÌåÀà´´½¨ÁËÒ»¸öĬ
ÈϵÄÈ«¾Ö¶ÔÏó¡£Õâ¶ÔÓÚÐÂÊÖÀ´ËµÊÇÏ൱·½±ãµÄ£¬µ«ÊÇÕâͬÑù»áʹËûÃÇÐγɻµÏ°¹ß¡£


µÚ¶þ²¿·Ö£º¼Ì³Ð£¨Inheritance£©(rule 15-rule 20)
       ÔÚ½²ÊöÁËһϵÁйØÓÚÀàÌØ±ðÊǹØÓÚ´°ÌåÀàµÄ¹æÔòºó£¬µÚ¶þ²¿·Ö½«ÊÇһЩ¹ØÓÚÀàµÄ¼Ì³Ð
ÐÔÒÔ¼°¿ÉÊÓ»¯´°Ìå¼Ì³ÐµÄ½¨ÒéºÍ¼¼ÇÉ¡£


¹ØÓÚ´úÂë
       ±¾ÎÄÖÐËùÓеĴúÂë¶Î¶¼¿ÉÒÔÔÚ±¾ÆÚÔÓÖ¾£¨¡¶The Delphi Magazine¡· Issue 47£©¸½´ø
µÄ´ÅÅÌÖеÄOopDemo¹¤³ÌÖÐÕÒµ½¡£ÄãÌØ±ðÓ¦¸Ã²é¿´Àý³ÌÖеÄfrm2 µ¥Ôª£¨unit£©ºÍinherµ¥Ôª¡£
Èç¹ûÄãÏëʹÓÃÕâЩ´úÂ룬Çë×¢Òâ¹¹ÔìÆ÷±ØÒªµÄ³õʼ»¯ÉèÖÃÒÔ¼°Ë½ÓÐ×é¼þ²ÎÕÕ£¬Í¬Ê±ÓбØÒªÉè
Öúô°ÌåµÄOldCreateOrderÊôÐÔ¡£·ñÔò£¬´øÓÐ×é¼þµÄ´°Ìå¹¹ÔìÆ÷µÄ³õʼ»¯´úÂ뽫ÔÚ´°ÌåµÄOn
Createʼþ֮ǰµÃµ½Ö´ÐС£
        ÔÚÕâÕÅ´ÅÅÌÉÏÄ㻹¿ÉÒÔÕÒµ½OOP ´°ÌåÏòµ¼µÄµÚÒ»°æµÄ±àÒë°ü£¬²»¹ýÎÒ¸üÏ£ÍûÄã·ÃÎÊÎÒ
µÄÍøÕ¾»ñµÃ¸Ã³ÌÐòµÄ¸üÍêÕûµÄ°æ±¾¡£

¹æÔòÒ»£ºÎªÃ¿Ò»¸öÀà´´½¨Ò»¸öµ¥Ôª£¨One Class,One Unit£©
        ÇëʼÖÕÀμÇÕâÒ»µã£ºÀàµÄ˽ÓÐ(private)ºÍ±£»¤(protected)µÄ²¿·ÖÖ»¶ÔÓÚÆäËûµ¥ÔªÖÐ
µÄÀàºÍ¹ý³Ì£¨procedure£©²ÅÊÇÒþ²ØµÄ.Òò´Ë£¬Èç¹ûÄãÏëµÃµ½ÓÐЧµÄ·â×°ÐÔ£¬ÄãÓ¦¸ÃΪÿһ¸ö
ÀàʹÓÃÒ»¸ö²»Í¬µÄµ¥Ôª¡£¶ÔÓÚһЩ¼òµ¥µÄÀ࣬±ÈÈçÄÇЩ¼Ì³ÐÆäËûÀàµÄÀ࣬Äã¿ÉÒÔʹÓÃÒ»¸ö¹²
ÏíµÄµ¥Ôª¡£²»¹ý¹²Ïíͬһ¸öµ¥ÔªµÄÀàµÄÊýÄ¿ÊÇÊܵ½ÏÞÖÆµÄ£º²»ÒªÔÚÒ»¸ö¼òµ¥µÄµ¥ÔªÀï·ÅÖó¬
¹ý20¸ö¸´ÔÓµÄÀ࣬ËäÈ»Borland¹«Ë¾µÄVCL´úÂëÔø¾­ÕâÑù×ö¹ý¡£
       Èç¹ûÄãʹÓô°ÌåµÄʱºò£¬Delphi»áĬÈϵÄ×ñÑ­¡°Ò»¸öÀàʹÓÃÒ»¸öµ¥Ôª¡±µÄ¹æÔò£¬Õâ¶Ô
ÓÚ³ÌÐòÔ±À´ËµÒ²ÊÇÊ®·Ö·½±ãµÄ¡£µ±ÄãÏòÄãµÄÏîÄ¿ÖÐÌí¼ÓÒ»¸öûÓд°ÌåµÄÀàʱ£¬DelphiÒ²»á´´
½¨Ò»¸öеĶÀÁ¢µÄµ¥Ôª¡£


¹æÔò¶þ£ºÎª×é¼þÃüÃû£¨Name Components£©
        ÎªÃ¿Ò»¸ö´°ÌåºÍµ¥Ôª¸ø³öÒ»¸öÓÐÒâÒåµÄÃû×ÖÊÇÊ®·ÖÖØÒªµÄ¡£´°ÌåºÍµ¥ÔªµÄÃû×Ö±ØÐëÊÇ
²»Í¬µÄ£¬²»¹ýÎÒÇ÷ÏòÓÚΪËûÃÇÁ½ÕßʹÓÃÏàËÆµÄÃû×Ö£¬Èç¶ÔÓÚ¹ØÓÚ´°ÌåºÍµ¥Ôª¿ÉÒÔΪËûÃÇʹÓÃ
AboutForm. ºÍAbout.pas.
        Îª×é¼þʹÓôøÓÐÃèÊöÐÔµÄÃû×ÖͬÑùÊ®·ÖÖØÒª¡£×î³£¼ûµÄÃüÃû·½Ê½ÊÇʹÓÃÀàµÄСд×Öĸ
¿ªÍ·£¬ÔÙ¼ÓÉÏ×é¼þµÄ¹¦ÄÜ£¬ÈçBtnAdd »òÕßeditName¡£²ÉÓÃÕâÑùµÄÃüÃû·½Ê½Îª×é¼þÃüÃû¿ÉÄÜ»á
ÓкܶàÏàËÆµÄÃû×Ö£¬¶øÇÒҲûÓÐÒ»¸ö×îºÃµÄÃû×Ö£¬µ½µ×Ó¦¸ÃÑ¡ÔñÄÇÒ»¸öÓ¦¸ÃÒÀ¾ÝÄãµÄ¸öÈ˰®
ºÃ¶ø¶¨¡£


¹æÔòÈý£ºÎªÊ¼þÃüÃû£¨Name Events£©
        ¶ÔÓÚʼþ´¦Àí·½·¨¸ø³öºÏÊʵÄÃû×Ö¸ü¼ÓÖØÒª¡£Èç¹ûÄã¶ÔÓÚ×é¼þ¸ø³öÁËÒ»¸öºÏÊʵÄÃû×Ö
£¬ÄÇôϵͳĬÈϵÄÃû×ÖButtonClick½«±ä³ÉBtnAddClick¡£ËäÈ»´ÓÕâ¸öÃû×ÖÖÐÎÒÃÇ¿ÉÒԲµ½Õâ
¸öʼþ´¦Àí³ÌÐòµÄ¹¦ÄÜ£¬µ«ÊÇÎÒÈÏΪʹÓÃÒ»¸öÄܹ»ÃèÊö¸Ã·½·¨µÄ×÷ÓõÄÃû×Ö£¬¶ø²»ÊDzÉÓÃDe
lphi¸½¼ÓµÄÃû×ÖÊÇÒ»ÖÖ¸üºÃµÄ·½Ê½¡£ÀýÈ磬BtnAdd°´Å¥µÄOnClickʼþ¿ÉÒÔÃüÃû³ÉAddToList
¡£Õâ»áʹµÃÄãµÄ³ÌÐò¿É¶ÁÐÔ¸üÇ¿£¬ÌرðÊǵ±ÄãÔÚÕâ¸öÀàµÄÆäËû·½·¨Öе÷ÓÃÕâ¸öʼþ´¦Àí³ÌÐò
ʱ£¬¶øÇÒÕâ»á°ïÖú³ÌÐòԱΪÀàËÆµÄʼþ»òÊDz»Í¬µÄ×é¼þÑ¡ÓÃÏàͬµÄ·½·¨¡£²»¹ýÎÒ±ØÐëÉùÃ÷£¬
ʹÓö¯×÷£¨Actions£©ÊÇĿǰ¿ª·¢ÖØÒªµÄ³ÌÐòʱÎÒ×îϲ»¶µÄ·½·¨¡£


¹æÔòËÄ£ºÊ¹Óô°Ìå·½·¨£¨Use Form. Methods£©
        ´°Ìå¶¼ÊÇһЩÀ࣬Òò´Ë´°ÌåµÄ´úÂëÊÇÒÔ·½·¨×éÖ¯µÄ¡£Äã¿ÉÒÔÏò´°ÌåÖÐÌí¼Óʼþ´¦Àí³Ì
Ðò£¬ÕâЩ´¦Àí³ÌÐòÍê³ÉÒ»Ð©ÌØ±ðµÄ¹¦ÄÜ£¬¶øÇÒËûÃÇÄܱ»ÆäËû·½·¨µ÷ÓᣳýÁËʼþ´¦Àí·½·¨Íâ
£¬Ä㻹¿ÉÒÔÏò´°ÌåÌí¼ÓÍê³É¶¯×÷µÄÌØ±ð¶¨ÒåµÄ·½·¨ÒÔ¼°·ÃÎÊ´°Ìå״̬µÄ·½·¨¡£ÔÚ´°ÌåÖÐÌí¼Ó
һЩ¹«¹²µÄ£¨Public£©·½·¨¹©ÆäËû´°Ìåµ÷ÓÃÒª±ÈÆäËû´°ÌåÖ±½Ó²Ù×÷ËûµÄ×é¼þÒªºÃ¡£


¹æÔò5£ºÌí¼Ó´°Ìå¹¹ÔìÆ÷£¨Add Form. Constructors£©
       ÔÚÔËÐÐʱ´´½¨µÄµÚ¶þ¸ö´°Ìå³ýÁËÒ»¸öĬÈϵĹ¹ÔìÆ÷£¨´ÓTcomponent Àà¼Ì³Ð¶øÀ´£©Í⻹
»áÌṩÆäËûÌØÊâµÄ¹¹ÔìÆ÷¡£Èç¹ûÄã²»ÐèÒª¿¼ÂǺÍDelphi4ÒÔǰµÄ°æ±¾µÄ¼æÈÝÐÔÎÊÌ⣬ÎÒ½¨ÒéÄã
ÖØÔØ£¨Overload£©Create·½·¨£¬Ìí¼Ó±ØÒªµÄ³õʼ»¯²ÎÊý¡£¾ßÌå´úÂë¿É²Î¼ûÏÂÃæµÄ´úÂë:

Public
    Constructor Create(Text:string): reintroduce ; overload;
Constructor TformDialog.Create(Text:string);
Begin
    Inherited Create(Application);
    Edit1.Text:=Text;
End;



¹æÔò6£º±ÜÃâÈ«¾Ö±äÁ¿£¨Avoid Global Variables£©
         Ó¦¸Ã±ÜÃâʹÓÃÈ«¾Ö±äÁ¿£¨¾ÍÊÇÄÇЩÔÚµ¥ÔªµÄinterface ²¿·Ö¶¨ÒåµÄ±äÁ¿£©¡£ÏÂÃæ½«
»áÓÐһЩ½¨Òé°ïÖúÄãÈçºÎÈ¥×ö¡£
         Èç¹ûÄãÐèҪΪ´°Ìå´æ´¢¶îÍâµÄÊý¾Ý£¬Äã¿ÉÒÔÏò´°ÌåÀàÖÐÌí¼ÓһЩ˽ÓÐÊý¾Ý¡£ÕâÖÖÇé
¿öÏ£¬Ã¿Ò»¸ö´°ÌåʵÀý¶¼»áÓÐ×Ô¼ºµÄÊý¾Ý¸±±¾¡£Äã¿ÉÒÔʹÓõ¥Ôª±äÁ¿£¨ÔÚµ¥ÔªµÄimplementa
tion²¿·Ö¶¨ÒåµÄ±äÁ¿£©ÉùÃ÷ÄÇЩ¹©´°ÌåÀàµÄ¶à¸öʵÀý¹²ÏíµÄÊý¾Ý¡£
Èç¹ûÄãÐèÒªÔÚ²»Í¬ÀàÐ͵Ĵ°ÌåÖ®¼ä¹²ÏíÊý¾Ý£¬Äã¿ÉÒÔ°ÑËûÃǶ¨ÒåÔÚÖ÷´°ÌåÀïÀ´ÊµÏÖ¹²Ïí£¬»ò
ÕßʹÓÃÒ»¸öÈ«¾Ö±äÁ¿£¬Ê¹Ó÷½·¨»òÕßÊÇÊôÐÔÀ´»ñµÃÊý¾Ý¡£


¹æÔò7£ºÓÀÔ¶²»ÒªÔÚTform1ÀàÖÐʹÓÃForm1(Never Use Form1 in Tform1)
        ÄãÓ¦¸Ã±ÜÃâÔÚÀàµÄ·½·¨ÖÐʹÓÃÒ»¸öÌØ¶¨µÄ¶ÔÏóÃû³Æ£¬»»¾ä»°Ëµ£¬Äã²»Ó¦¸ÃÔÚTForm1Àà
µÄ·½·¨ÖÐÖ±½ÓʹÓÃForm1.Èç¹ûÄãȷʵÐèҪʹÓõ±Ç°µÄ¶ÔÏó£¬Äã¿ÉÒÔʹÓÃSelf¹Ø¼ü×Ö¡£ÇëÀμÇ
£º´ó¶àÊýʱºòÄ㶼ûÓбØÒªÖ±½ÓʹÓõ±Ç°¶ÔÏóµÄ·½·¨ºÍÊý¾Ý¡£
Èç¹ûÄã²»×ñÑ­ÕâÌõ¹æÔò£¬µ±ÄãΪһ¸ö´°ÌåÀà´´½¨¶à¸öʵÀýµÄʱºò£¬Äã»áÏÝÈëÂé·³µ±ÖС£


¹æÔò8£º¾¡Á¿±ÜÃâÔÚÆäËûµÄ´°ÌåÖÐʹÓÃForm1(Seldom Use Form1 In Other Forms )
       ¼´Ê¹ÔÚÆäËû´°ÌåµÄ´úÂëÖУ¬ÄãÒ²Ó¦¸Ã¾¡Á¿±ÜÃâÖ±½ÓʹÓÃÈ«¾Ö±äÁ¿£¬ÈçForm1.¶¨ÒåһЩ
¾Ö²¿±äÁ¿»òÕß˽ÓÐÓò¹©ÆäËû´°ÌåʹÓûá±ÈÖ±½Óµ÷ÓÃÈ«¾Ö±äÁ¿ÒªºÃ¡£
        ÀýÈ磬³ÌÐòµÄÖ÷´°ÌåÄܹ»Îª¶Ô»°¿ò¶¨ÒåÒ»¸ö˽ÓÐÓò¡£ºÜÏÔÈ»£¬Èç¹ûÄã¼Æ»®ÎªÒ»¸öÅÉÉú
´°Ìå´´½¨¶à¸öʵÀý£¬ÕâÌõ¹æÔò½«ÊÇÊ®·ÖÓÐÓá£Äã¿ÉÒÔÔÚÖ÷´°ÌåµÄ´úÂ뷶ΧÄÚ±£³ÖÒ»·ÝÇåµ¥£¬
Ò²¿ÉÒÔ¸ü¼òµ¥µØÊ¹ÓÃÈ«¾ÖSreen¶ÔÏóµÄ´°ÌåÊý×é¡£

¹æÔò9£ºÒƳýForm1(Remove Form1)
       ÊÂʵÉÏ£¬ÎҵĽ¨ÒéÊÇÔÚÄãµÄ³ÌÐòÖÐÒÆ³ýDelphi×Ô¶¯´´½¨µÄÈ«¾Ö´°Ìå¶ÔÏó¡£¼´Ê¹Äã½ûÖ¹
ÁË´°ÌåµÄ×Ô¶¯Ìí¼Ó¹¦ÄÜ£¬ÕâÒ²ÓпÉÄÜÊDZØÒªµÄ£¬ÒòΪÔÚDelphiËæºóÈÔÈ»¿ÉÄÜÌí¼ÓÕâÑùµÄ´°Ìå
¡£ÎÒ¸øÄãµÄ½¨ÒéÊÇÓ¦¸Ã¾¡Á¿±ÜÃâʹÓÃÈ«¾Ö´°Ìå¶ÔÏó¡£
        ÎÒÈÏΪ¶ÔÓÚDelphiÐÂÊÖ¶øÑÔ£¬ÒƳýÈ«¾Ö´°Ìå¶ÔÏóÊÇÊ®·ÖÓÐÓõģ¬ÕâÑùËûÃDz»ÖÁÓÚ¶ÔÀà
ºÍÈ«¾Ö¶ÔÏóÁ½ÕߵĹØÏµ¸Ðµ½ÒÉ»ó¡£ÊÂʵÉÏ£¬ÔÚÈ«¾Ö´°Ìå¶ÔÏó±»ÒƳýºó£¬ËùÓÐÓëËüÓйصĴúÂë
¶¼»á²úÉú´íÎó¡£


¹æÔò10£ºÌí¼Ó´°ÌåÊôÐÔ£¨Add Form. Properties£©
        ÕýÈçÎÒÒѾ­Ìáµ½¹ýµÄ£¬µ±ÄãÐèҪΪÄãµÄ´°ÌåÌí¼ÓÊý¾Ýʱ£¬ÇëÌí¼ÓÒ»¸ö˽ÓÐÓò¡£Èç¹ûÄã
ÐèÒª·ÃÎÊÆäËûÀàµÄÊý¾Ý£¬¿ÉÒÔΪÄãµÄ´°ÌåÌí¼ÓÊôÐÔ¡£Ê¹ÓÃÕâÖÖ·½·¨Äã¾ÍÄܹ»¸Ä±äµ±Ç°´°ÌåµÄ
´úÂëºÍÊý¾Ý(°üº¬ÔÚËüµÄÓû§½çÃæÖÐ)¶ø²»±Ø¸Ä±äÆäËû´°Ìå»òÀàµÄ´úÂë¡£
        Ä㻹Ӧ¸ÃʹÓÃÊôÐÔ»òÊÇ·½·¨À´³õʼ»¯ÅÉÉú´°Ìå»òÊǶԻ°¿ò£¬»òÊÇ·ÃÎÊËûÃǵÄ×îÖÕ״̬
¡£ÕýÈçÎÒǰÎÄËù˵µÄ£¬ÄãÓ¦¸ÃʹÓù¹ÔìÆ÷À´Íê³É³õʼ»¯¹¤×÷

¹æÔò11£ºÏÔʾ×é¼þÊôÐÔ£¨Expose Components Properties£©
        µ±ÄãÐèÒª·ÃÎÊÆäËû´°ÌåµÄ״̬ʱ£¬Äã²»Ó¦¸ÃÖ±½Ó·ÃÎÊËüµÄ×é¼þ¡£ÒòΪÕâÑù»á½«ÆäËû´°
Ìå»òÆäËüÀàµÄ´úÂëºÍÓû§½çÃæ½áºÏÔÚÒ»Æð£¬¶øÓû§½çÃæÍùÍùÊÇÒ»¸öÓ¦ÓóÌÐòÖÐ×îÈÝÒ×·¢Éú¸Ä
±äµÄ²¿·Ö¡£×îºÃµÄ·½·¨ÊÇ£¬ÎªÄãÐèÒª·ÃÎʵÄ×é¼þÊôÐÔ¶¨ÒåÒ»¸ö´°ÌåÊôÐÔ¡£ÒªÊµÏÖÕâÒ»µã£¬¿É
ÒÔͨ¹ý¶ÁÈ¡×é¼þ״̬µÄGet·½·¨ºÍÉèÖÃ×é¼þ״̬µÄSet·½·¨ÊµÏÖ¡£
¼ÙÈçÄãÏÖÔÚÐèÒª¸Ä±äÓû§½çÃæ£¬ÓÃÁíÍâÒ»¸ö×é¼þÌæ»»ÏÖÓеÄ×é¼þ£¬ÄÇôÄãÖ»Ðè×öµÄÊÇÐÞ¸ÄÓë
Õâ¸ö×é¼þÊôÐÔÏà¹ØµÄGet·½·¨ºÍSet·½·¨£¬¶ø²»±Ø²éÕÒ£¬ÐÞ¸ÄËùÓÐÒýÓÃÕâ¸ö×é¼þµÄ´°ÌåºÍÀàµÄ
Ô´Âë¡£ÏêϸʵÏÖ·½·¨Çë²Î¼ûÏÂÃæµÄ´úÂ룺

private
    function GetText:String;
    procedure SetText(const Value:String);
public
    property Text:String;
    read GetText write SetText;
function TformDialog.GetText:String;
begin
      Result:=Edit1.Text;
end;
procedure TformDialog.SetText(const Value:String);
begin
      Edit1.Text;=Value;
end;


¹æÔò12£ºÊôÐÔÊý×飨Array Properties£©
        Èç¹ûÄãÐèÒª´¦Àí´°ÌåÖеÄһϵÁбäÁ¿£¬Äã¿ÉÒÔ¶¨ÒåÒ»¸öÊôÐÔÊý×é¡£Èç¹ûÕâЩ±äÁ¿ÊÇÒ»
Щ¶ÔÓÚ´°ÌåºÜÖØÒªµÄÐÅÏ¢£¬Ä㻹¿ÉÒÔ°ÑËûÃǶ¨Òå³É´°ÌåĬÈϵÄÊôÐÔÊý×飬ÕâÑùÄã¾Í¿ÉÒÔÖ±½Ó
ʹÓÃSpecialForm[3]À´·ÃÎÊËûÃǵÄÖµÁË¡£
        ÏÂÃæµÄ´úÂëÏÔʾÁËÈçºÎ½«Ò»¸ölistbox×é¼þµÄÏîÄ¿¶¨Òå³É´°ÌåĬÈϵÄÊôÐÔÊý×é¡£

type
    TformDialog =class(TForm)
    private
           listItems:TlistBox;
           function GetItems(Index:Integer):String;
            procedure SetItems(Index:Integer:const Value:String);
   public
            property Items[Index:Integer]:string;
end;
   function TFormDialog.GetItems(Index:Integer):string;
begin
        if Index >=ListItems.Items.Count then
             raise Exception.Create(¡®TformDialog:Out of Range¡¯);
             Result:=ListItems.Items[Index];
end;
procedure TformDialog.SetItems(Index:Integer;const alue:string);
begin
        if Index >=ListItems.Items.Count then
             raise Exception.Create(¡®TformDialog:Out of Range¡¯);
             ListItems.Items[Index]:=Value;
end;


¹æÔò13£ºÊ¹ÓÃÊôÐԵĸ½¼Ó×÷Óã¨Use Side-Effects In Properties£©
        Çë¼Çס£ºÊ¹ÓÃÊôÐÔ¶ø²»ÊÇ·ÃÎÊÈ«¾Ö±äÁ¿£¨²Î¼û¹æÔò10¡¢11¡¢12£©µÄºÃ´¦Ö®Ò»¾ÍÊǵ±Äã
ÉèÖûòÕß¶ÁÈ¡ÊôÐÔµÄֵʱ£¬Ä㻹¿ÉÄÜÓÐÒâÏë²»µ½µÄÊÕ»ñ¡£
        ÀýÈ磬Äã¿ÉÒÔÖ±½ÓÔÚ´°Ìå½çÃæÉÏÍÏÀ­×é¼þ£¬ÉèÖöà¸öÊôÐÔµÄÖµ£¬µ÷ÓÃÌØÊâ·½·¨£¬Á¢¼´
¸Ä±ä¶à¸ö×é¼þµÄ״̬£¬»òÕß³·ÏúÒ»¸öʼþ£¨Èç¹ûÐèÒªµÄ»°£©µÈµÈ¡£


¹æÔò14£ºÒþ²Ø×é¼þ£¨Hide Components£©
        ÎÒ¾­³£Ìý¼ûÄÇÐ©ÃæÏò¶ÔÏó±à³ÌµÄ¿ñÈÈ×·ÇóÕß±§Ô¹Delphi´°ÌåÖаüº¬Ò»Ð©ÔÚpublished
²¿·ÖÉùÃ÷µÄ×é¼þ£¬ÕâÊǺÍÃæÏò¶ÔÏó˼ÏëµÄ·â×°ÐÔÔ­Àí²»Ïà·ûºÏµÄ¡£ËûÃÇȷʵÌá³öÁËÒ»¸öÖØÒª
µÄÒéÌ⣬µ«ÊÇËûÃÇÖеĴó¶àÊýÈ˶¼Ã»ÓÐÒâʶµ½½â¾ö·½·¨Æäʵ¾ÍÔÚËûÃÇÊֱߣ¬ÍêÈ«²»ÓÃÖØÐ´De
lphi´úÂ룬Ҳ²»ÓÃתÏòÆäËûÓïÑÔ¡£
         DelphiÏò´°ÌåÖÐÌí¼ÓµÄ×é¼þ²ÎÕÕ¿ÉÒÔ±»ÒƵ½private²¿·Ö£¬Ê¹µÃÆäËû´°Ìå²»ÄÜ·ÃÎÊËû
ÃÇ¡£Èç¹ûÄãÕâÑù×ö£¬Äã¾ÍÓбØÒªÉèÖÃһЩָÏò×é¼þµÄ´°ÌåÊôÐÔ£¨Çë²Î¼û¹æÔò11£©£¬²¢ÇÒʹÓÃ
ËüÃÇÀ´·ÃÎÊ×é¼þµÄ״̬¡£
         Delphi½«ËùÓеÄÕâЩ×é¼þ¶¼·ÅÔÚpublished²¿·Ö£¬ÕâÊÇÒòΪʹÓÃÕâÖÖ·½Ê½Äܹ»±£Ö¤Õâ
ЩÓòÒ»¶¨ÊÇÔÚ.DFMÎļþÖд´½¨µÄ×é¼þ¡£µ±Äã¸Ä±äÒ»¸ö×é¼þµÄÃû³ÆÊ±£¬VCLÄܹ»×Ô¶¯µØ½«Õâ¸ö×é
¼þ¶ÔÏóÓëËüÔÚ´°ÌåÖеIJÎÕÕ¹ØÁªÆðÀ´¡£ÒòΪdelphiʹÓÃRTTIºÍTobject·½·¨À´ÊµÏÖÕâÖÖ¹¦ÄÜ£¬
ËùÒÔÈç¹ûÏëҪʹÓÃÕâÖÖ×Ô¶¯ÊµÏÖ¹¦ÄÜ£¬¾Í±ØÐë°Ñ²ÎÕÕ·ÅÖÃÔÚpublished²¿·Ö£¨ÕâÒ²ÕýÊÇΪʲô
delphi½«ËùÓеÄ×é¼þ¶¼·ÅÔÚpublished²¿·ÖµÄÔµ¹Ê£©¡£
        Èç¹ûÄãÏëÖªµÀµÄ¸üÏêϸһµã£¬¿ÉÒԲο´ÏÂÃæµÄ´úÂ룺

procedure Tcomponent.SetReference(Enable:Boolean);
var
      Field:^Tcomponent;
begin
      If Fowner<> nil then begin
            Field:=Fowner.FieldAddress(Fname);
            If Field<>nil then
            Field^:=Self
     else
            Field^:=nil;
      end;
end;


ÉÏÃæµÄ´úÂëÊÇTcomponentÀàµÄSetReference·½·¨£¬Õâ¸ö·½·¨¿ÉÒÔ±»InserComponent£¬Remove
ComponentºÍSetNameµÈ·½·¨µ÷Óá£
        µ±ÄãÀí½âÁËÕâÒ»µãºó£¬ÄãÓ¦¸Ã²»ÄÑÏëµ½Èç¹ûÄ㽫×é¼þ²ÎÕÕ´Ópublished²¿·ÖÒÆµ½ÁËpr
ivate¶Î£¬Ä㽫ʧȥVCLµÄ×Ô¶¯¹ØÁª¹¦ÄÜ¡£ÎªÁ˽â¾öÕâ¸öÎÊÌ⣬Äã¿ÉÒÔͨ¹ýÔÚ´°ÌåµÄOnCreate
ʼþÖÐÌí¼ÓÈçÏ´úÂë½â¾ö£º
Edit1:=FindComponent(¡®Edit1¡¯) as Tedit;
       Äã½ÓÏÂÀ´Ó¦¸Ã×öµÄ¾ÍÊÇÔÚϵͳÖÐ×¢²áÕâЩ×é¼þÀ࣬µ±ÄãΪËûÃÇ×¢²á¹ýºó¾ÍÄÜʹRTTI°ü
º¬ÔÚ±àÒë³ÌÐòÖв¢ÇÒÄܹ»±»ÏµÍ³ËùʹÓᣵ±Ä㽫ÕâЩÀàÐ͵Ä×é¼þ²ÎÕÕÒÆµ½private²¿·Öʱ£¬¶Ô
ÓÚÿһ¸ö×é¼þÀ࣬ÄãÖ»ÐèΪËûÃÇ×¢²áÒ»´Î¡£¼´Ê¹ÎªËûÃÇ×¢²á²»ÊÇÒ»¶¨±ØÒªµÄʱºò£¬ÄãÒ²¿ÉÒÔ
ÕâÑù×ö£¬ÒòΪ¶ÔÓÚRegisterClassesµÄ¶îÍâµ÷ÓÃÓÐÒæÎÞº¦¡£Í¨³£ÄãÓ¦¸ÃÔÚµ¥ÔªÖиºÔðÉú³É´°Ìå
µÄ³õʼ»¯²¿·ÖÌí¼ÓÒÔϵĴúÂ룺
RegisterClass£¨[TEdit]£©;
»Ø¸´´ËÂ¥
ºÃºÃѧϰ£¬ÌìÌìÏòÉÏ¡£
ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû

zyj8119

ľ³æ (ÖøÃûдÊÖ)

ÒýÓûØÌû:
Originally posted by zyj8119 at 2010-12-02 16:35:21:
Marco CantuÊÇÒ»¸öÖªÃûµÄDelphiר¼Ò£¬ËûÔø³ö°æ¹ý¡¶¾«Í¨Delphi¡·ÏµÁдÔÊ飬
¡¶Delphi¿ª·¢ÊֲᡷÒÔ¼°µç×ÓÊé¡¶¾«Í¨Pascal¡·(¸Ãµç×ÓÊé¿ÉÔÚÍøÉÏÃâ·Ñ»ñµÃ)¡£Ëû½²ÊڵĿÎ
ÌâÊÇDelphi»ù´¡ºÍ¸ß¼¶¿ª·¢¼¼ÇÉ¡£Äã¿ÉÒÔͨ¹ýËûµÄ ...

¹æÔò15£ºÃæÏò¶ÔÏó±à³ÌµÄ´°ÌåÏòµ¼£¨The OOP Form. Wizard£©
        ÎªÃ¿Ò»¸ö´°ÌåµÄÿһ¸ö×é¼þÖØ¸´ÉÏÊöÁ½¸ö²Ù×÷²»½öÊ®·ÖµÄ·³ÈË£¬¶øÇÒÏ൱µÄÀË·Ñʱ¼ä
¡£ÎªÁ˱ÜÃâ¶îÍâµÄ¸ºµ££¬ÎÒÒѾ­Îª´ËдÁËÒ»¸ö¼òµ¥µÄÏòµ¼³ÌÐò¡£Õâ¸ö³ÌÐò½«»áÉú³ÉһЩ¿ÉÒÔ
Íê³ÉÒÔÉÏÁ½²½¹¤×÷µÄ´úÂ룬ÄãÐèÒª×öµÄ½ö½öÊÇ×ö¼¸´Î¸´ÖƺÍÕ³Ìù¾ÍÐÐÁË¡£
        Òź¶µÄÊÇÕâ¸öÏòµ¼³ÌÐò²»ÄÜ×Ô¶¯½«´úÂë·ÅÖõ½µ¥ÔªÖкÏÊʵĵط½£¬ÎÒĿǰÕýÔÚÐÞ¸ÄÕâ
¸öÏòµ¼³ÌÐò£¬Ï£ÍûÄÜʵÏÖÕâ¸ö¹¦ÄÜ¡£Äã¿ÉÒÔµ½ÎÒµÄÍøÕ¾£¨www.marcocantu.com£©²éÕÒ¸ü¼ÓÍê
ÉÆµÄ³ÌÐò¡£



¹æÔò16£º¿ÉÊÓ»¯´°Ìå¼Ì³Ð£¨Visual Form. Inheritance£©
       Èç¹ûÓ¦Óõõ±£¬Õ⽫ÊÇÒ»¸öÇ¿´óµÄ¹¤¾ß¡£¸ù¾ÝÎҵľ­Ñ飬ÄãËù¿ª·¢µÄÏîĿԽ´ó£¬Ô½ÄÜ
ÌåÏÖËüµÄ¼ÛÖµ¡£ÔÚÒ»¸ö¸´ÔӵijÌÐòÖУ¬Äã¿ÉÒÔʹÓô°ÌåµÄ²»Í¬µÈ¼¶¹ØÏµÀ´´¦ÀíÒ»×éÏà¹Ø´°Ìå
µÄ¶à̬ÐÔ£¨polymorphism£©¡£
       ¿ÉÊÓ»¯´°Ìå¼Ì³ÐÔÊÐíÄã¹²Ïí¶à¸ö´°ÌåµÄһЩ¹«¹²µÄ¶¯×÷£ºÄã¿ÉÒÔʹÓù²ÏíµÄ·½·¨£¬¹«
ÓõÄÊôÐÔ£¬ÉõÖÁÊÇʼþ´¦Àí³ÌÐò£¬×é¼þ£¬×é¼þÊôÐÔ£¬×é¼þʼþ´¦Àí·½·¨µÈµÈ¡£


¹æÔò17£ºÏÞÖÆ±£»¤ÓòÊý¾ÝµÄʹÓã¨Limit Protected Data£©
       µ±´´½¨Ò»Ð©¾ßÓв»Í¬·Ö¼¶ÌåϵµÄÀàʱ£¬Ò»Ð©³ÌÐòÔ±Ç÷ÏòÓÚÖ÷ҪʹÓñ£»¤Óò£¬ÒòΪ˽ÓÐ
Êý¾Ý²»Äܱ»×ÓÀà·ÃÎÊ¡£ÎÒ²»ÄÜ˵ÕâûÓÐÆäºÏÀíÐÔ£¬µ«ÊÇÕâ¿Ï¶¨ÊǺͷâ×°ÐÔ²»ÏàÈݺ͵ġ£±£»¤
Êý¾ÝµÄʵÏÖÄܹ»±»ËùÓм̳еĴ°ÌåËù¹²Ïí£¬¶øÇÒÒ»µ©ÕâЩÊý¾ÝµÄԭʼ¶¨Òå·¢Éú¸Ä±ä£¬Äã±ØÐë
¸ü¸ÄËùÓеÄÏà¹Ø²¿·Ö¡£
       Çë×¢Ò⣬Èç¹ûÄã×ñÑ­Òþ²Ø×é¼þÕâÑùÒ»Ìõ¹æÔò£¨Rule 14£©£¬¼Ì³Ð´°Ìå¾Í²»¿ÉÄÜ·ÃÎÊ»ùÀà
µÄ˽ÓÐ×é¼þ¡£ÔÚÒ»¸ö¼Ì³Ð´°ÌåÖУ¬ÀàËÆEdit1.Text£º=¡¯¡¯µÄ´úÂë¾Í²»»á±»±àÒë¡£ËäÈ»ÕâÊÇÏà
µ±µÄ²»·½±ã£¬µ«ÊÇÖÁÉÙÔÚÀíÂÛÉÏÕâÊÇÖµµÃ¿Ï¶¨µÄÊÂÇ飬¶ø²»ÊÇ·ñ¶¨µÄ¡£Èç¹ûÄã¸Ð¾õµ½ÊµÏÖ·â
×°ÐÔÊÇ×îÖ÷Òª£¬×îÐèÒªµÄ£¬¾ÍÇ뽫ÕâЩ×é¼þ²ÎÕÕ·ÅÔÚ»ùÀàµÄ˽ÓжΡ£


¹æÔò18£º±£»¤ÓòÖеķÃÎÊ·½·¨£¨Protected Access Methods£©
        ÔÚ»ùÀàÖн«×é¼þ²ÎÕÕ·ÅÖÃÔÚ˽ÓÐÓòÖУ¬¶øÎªÕâЩ×é¼þÌí¼ÓһЩ·ÃÎʺ¯ÊýÀ´µÃµ½ËûÃǵÄ
ÊôÐÔ£¬Õ⽫ÊÇÒ»ÖÖ¸üºÃµÄ·½·¨¡£Èç¹ûÕâЩ·ÃÎʺ¯Êý½ö½öÔÚÕâЩÀàÄÚ²¿Ê¹ÓöøÇÒ²»ÊÇÀà½Ó¿ÚµÄ
Ò»²¿·Ö£¬ÄãÓ¦¸ÃÔÚ±£»¤ÓòÉùÃ÷ËûÃÇ¡£ÀýÈçRule 11ÖÐÃèÊö¹ýµÄGetTextºÍSetText·½·¨¾Í¿ÉÒÔÉù
Ã÷³Éprotected£¬²¢ÇÒÎÒÃÇ¿ÉÒÔͨ¹ýµ÷ÓÃSetText£¨¡¯¡¯£©À´±à¼­Îı¾¡£
      ÊÂʵÉÏ£¬µ±Ò»¸ö·½·¨±»¾µÏñµ½Ò»¸öÊôÐÔʱ£¬ÎÒÃÇ¿ÉÒÔ¼òµ¥µØ²ÉÓÃÈçÏ´úÂë¾Í¿ÉÒÔ´ïµ½±à
¼­Îı¾µØÄ¿µÄ£ºText:=¡¯¡¯;


¹æÔò19£º±£»¤ÓòÖеÄÐéÄâ·½·¨£¨Protected Virtual Methods£©
        ÊµÏÖÒ»¸öÁé»îµÄ·Ö¼¶ÖƶȵÄÁíÒ»¸ö¹Ø¼üµãÊǶ¨ÒåһЩÄã¿ÉÒÔ´ÓÍⲿÀàµ÷ÓõÄÐéÄâ·½·¨
À´µÃµ½¶à̬ÐÔ¡£Èç¹ûÕâ¸ö·½·¨Ê¹Óõõ±£¬½«»áºÜÉÙ³öÏÖÆäËû¹«¹²µÄ·½·¨µ÷Óñ£»¤ÓòÖеÄÐéÄâ
·½·¨µÄÇé¿ö¡£ÕâÊÇÒ»¸öÖØÒªµÄ¼¼ÇÉ£¬ÒòΪÄã¿ÉÒÔ¶¨ÖÆÅÉÉúÀàµÄÐéÄâ·½·¨£¬À´Ð޸ĶÔÏóµÄ¶¯×÷
¡£


¹æÔò20£ºÓÃÓÚÊôÐÔµÄÐéÄâ·½·¨£¨Virtual Methods For Properties£©
       ¼´Ê¹ÊÇ·ÃÎÊÊôÐԵķ½·¨Ò²Äܶ¨Òå³Évirtual£¬ÕâÑùÅÉÉúÀà¾ÍÄܸıäÊôÐԵ͝×÷¶ø²»±ØÖØ
¶¨ÒåËûÃÇ¡£ËäÈ»ÕâÖÖ·½·¨ÔÚVCLµ±ÖкÜÉÙʹÓ㬵«ÊÇËüȷʵʮ·ÖÁé»î¡¢Ç¿´ó¡£ÎªÁËʵÏÖÕâÒ»µã
£¬½ö½öÐèÒª½«Rule 11µ±ÖеÄGet ºÍSet ·½·¨¶¨Òå³ÉVirtual¡£»ùÀàµÄ´úÂëÈçÏÂËùʾ£º

type
   TformDialog = class ( TForm)
           Procedure FormCreate(Sender:Tobject);
   Private
           Edit1:Tedit;
   Protected
           function GetText:String;virtual;
           procedure SetText(const Value:String);virtual;
   public
          constructor Create(Text :String):reintroduce;overload;
          property Text:String read GetText write SetText;
   end;
  

        Ôڼ̳д°ÌåÖУ¬Äã¿ÉÒÔÌí¼ÓһЩ¶îÍâµÄ¶¯×÷À´ÖØÔØÐéÄâ·½·¨SetText£º
   procedure TformInherit.SetText(const Value:String);
begin
        inherited SetText(Value);
        if Value=¡¯¡¯ then
              Button1.Enabled:=False;
       end;



С½á
         Òª×öµ½Ò»¸öºÃµÄDelphiÃæÏò¶ÔÏó±à³Ì³ÌÐòÔ±Ô¶·ÇÎÒÔÚÉÏÃæÌáµ½µÄÕâЩ¹æÔòÕâô¼òµ¥
¡£ÉÏÃæµÄÕâ20Ìõ¹æÔòÖÐÓÐһЩ¿ÉÄÜÐèÒª×ã¹»µÄÄÍÐÔºÍʱ¼äÀ´ÊµÏÖ£¬Òò´Ë£¬ÎÒÒ²²»ÄÜÇ¿ÇóÄãÄÜ
×ñÑ­ËùÓеÄÕâЩ¹æÔò¡£µ«ÊÇÕâЩ¹æÔòÓ¦¸Ã±»ºÏÊʵÄÔËÓõ½ÄãµÄ³ÌÐòÖУ¬¶øÇÒµ±Ä㿪·¢µÄÓ¦ÓÃ
³ÌÐòÔ½´ó£¬²ÎÓëµÄ³ÌÐòÔ±Ô½¶à£¬ÕâЩ¹æÔòÔ½ÖØÒª¡£²»¹ý£¬¼´Ê¹ÊÇһЩС³ÌÐò£¬Ê¼ÖÕ¼ÇסÕâЩ
¹æÔò²¢ÔÚºÏÊʵĵط½Ê¹ÓÃËûÃÇÒ²»á¶ÔÄãÓÐËù°ïÖú¡£
        µ±È»£¬»¹ÓкܶàÆäËûµÄ¾­Ñ鹿ÔòÎÒûÓÐÉæ¼°µ½£¬ÌرðÊÇ´æ´¢Æ÷´¦ÀíºÍRTTIÎÊÌ⣬ÒòΪ
ËûÃÇÊ®·ÖµÄ¸´ÔÓ£¬ÐèҪרÃŵÄ˵Ã÷¡£
        ÎҵĽáÂÛÊÇÒª×ñÑ­ÎÒÉÏÃæÁгöµÄ¹æÔò»á¸¶³öÒ»¶¨µÄ´ú¼Û£¬ÌرðÊǶîÍâµÄ´úÂ룬µ«ÊÇÕâ
Щ´ú¼Û»áÈÃÄãµÃµ½Ò»¸ö¸ü¼ÓÁé»îǿ׳µÄ³ÌÐò¡£Ï£ÍûDelphiµÄºóÐø°æ±¾Äܹ»°ï×éÎÒÃǼõÉÙÕâЩ´ú¼Û¡£
ºÃºÃѧϰ£¬ÌìÌìÏòÉÏ¡£
2Â¥2010-12-02 16:35:40
ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû

snaker

½ð³æ (СÓÐÃûÆø)

¡ï
Сľ³æ: ½ð±Ò+0.5, ¸ø¸öºì°ü£¬Ð»Ð»»ØÌû
LZÒªÊǰÑÌû×Óת³Éword£¬·½±ãÎÒµÈÏÂÔØÑ§Ï°¾ÍºÃÁË~
3Â¥2012-03-23 10:46:11
ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû
Ïà¹Ø°æ¿éÌø×ª ÎÒÒª¶©ÔÄÂ¥Ö÷ zyj8119 µÄÖ÷Ìâ¸üÐÂ
×î¾ßÈËÆøÈÈÌûÍÆ¼ö [²é¿´È«²¿] ×÷Õß »Ø/¿´ ×îºó·¢±í
[¿¼ÑÐ] 288Çóµ÷¼Á£¬Ò»Ö¾Ô¸»ªÄÏÀí¹¤´óѧ071005 +13 ioodiiij 2026-04-08 13/650 2026-04-09 09:43 by 5268321
[¿¼ÑÐ] 299Çóµ÷¼Á +4 ZVVZ13 2026-04-08 4/200 2026-04-09 08:09 by Sammy2
[¿¼ÑÐ] 328Çóµ÷¼Á +17 lftmya 2026-04-07 18/900 2026-04-09 08:05 by 5268321
[¿¼ÑÐ] µ÷¼Á +22 ²»·ê´º 2026-04-07 23/1150 2026-04-09 08:01 by Sammy2
[¿¼ÑÐ] 22408 270·Ö +5 sanjin020722 2026-04-08 6/300 2026-04-09 07:09 by may_ÐÂÓî
[¿¼ÑÐ] Ò»Ö¾Ô¸Éî´ó085601²ÄÁϹ¤³Ìרҵ£¨×¨Ë¶£©300·Ö¿ÉÒÔµ÷¼ÁÈ¥ÄÄ +16 10160315 2026-04-02 16/800 2026-04-08 19:45 by syjjj0321
[¿¼ÑÐ] 362Çóµ÷¼Á +8 ÎÒÒª¿¼´ó 2026-04-06 12/600 2026-04-08 00:32 by JourneyLucky
[¿¼ÑÐ] 298Çóµ÷¼Á +4 ²ÐºÉÐÂÁø 2026-04-07 4/200 2026-04-07 23:02 by lbsjt
[¿¼ÑÐ] ²ÄÁϵ÷¼Á +13 ºº123456 2026-04-07 14/700 2026-04-07 22:53 by À´¿´Á÷ÐÇÓê10
[¿¼ÑÐ] 338Çóµ÷¼Á +5 СÖíºìÉ« 678 2026-04-06 6/300 2026-04-07 21:18 by ÇÇßÕßÕßÕ
[˶²©¼ÒÔ°] 0856²ÄÁÏ»¯¹¤Çóµ÷¼Á£¬Ò»Ö¾Ô¸211£¬³õÊԳɼ¨349 +4 ½­»´±±Ô 2026-04-05 4/200 2026-04-06 22:44 by chenzhimin
[¿¼ÑÐ] Çóµ÷¼Áµ½²ÄÁÏ +5 ³Ì9915 2026-04-06 5/250 2026-04-06 15:21 by yulian1987
[¿¼ÑÐ] ²ÄÁϵ÷¼Á +6 Ò»ÑùYWY 2026-04-05 6/300 2026-04-05 20:30 by ÄϺ½~ÍòÀÏʦ
[¿¼ÑÐ] 295Çóµ÷¼Á +8 FZAC123 2026-04-03 8/400 2026-04-05 17:46 by À¶ÔÆË¼Óê
[¿¼ÑÐ] Çóµ÷¼Á +3 ũҵ¹¤³ÌÓëÐÅÏ¢¼ 2026-04-04 3/150 2026-04-04 12:19 by Éá¶øºóµÃ
[¿¼ÑÐ] 387Çóµ÷¼Á +4 °®³ÔƬ¶¹ÍÁ 2026-04-03 5/250 2026-04-04 08:10 by °¶ÉϵÄÒ»ÌõÓã
[¿¼ÑÐ] »¯¹¤Çóµ÷¼Á +11 ÀóÏã֥ʿҬÄÌ 2026-04-03 11/550 2026-04-03 22:06 by à£à£à£0119
[¿¼ÑÐ] 081200-11408-276ѧ˶Çóµ÷¼Á +5 ´Þwj 2026-04-03 5/250 2026-04-03 15:06 by arrow8852
[¿¼ÑÐ] 279Çóµ÷¼Á +6 qazplm0852 2026-04-02 6/300 2026-04-03 10:03 by À¶ÔÆË¼Óê
[¿¼ÑÐ] Ò»Ö¾Ô¸¸´µ©²ÄÁÏ£¬Ó¢Ò»×¨Ë¶£¬×Ü·Ö357µ÷¼Á +4 1050389037 2026-04-02 5/250 2026-04-02 21:40 by dongzh2009
ÐÅÏ¢Ìáʾ
ÇëÌî´¦ÀíÒâ¼û