| ²é¿´: 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]£©; |
» ÊÕ¼±¾ÌûµÄÌÔÌûר¼ÍƼö
³ÌÐòÓïÑÔÏä | ±à³Ì |
» ²ÂÄãϲ»¶
288Çóµ÷¼Á
ÒѾÓÐ14È˻ظ´
Ò»Ö¾Ô¸ÏôóÉúÎïѧ332Çóµ÷¼Á
ÒѾÓÐ7È˻ظ´
085600£¬321·ÖÇóµ÷¼Á
ÒѾÓÐ17È˻ظ´
һ־Ը³¶«´óѧ071000ÉúÎïѧѧ˶³õÊÔ·ÖÊý276Çóµ÷¼Á
ÒѾÓÐ16È˻ظ´
²ÄÁÏ»¯¹¤×Ü·Ö334Çóµ÷¼Á
ÒѾÓÐ11È˻ظ´
288Çóµ÷¼Á£¬Ò»Ö¾Ô¸»ªÄÏÀí¹¤´óѧ071005
ÒѾÓÐ13È˻ظ´
¸´ÊÔµ÷¼Á£¬Ò»Ö¾Ô¸Ö£ÖÝ´óѧ²ÄÁÏÓ뻯¹¤289·Ö
ÒѾÓÐ20È˻ظ´
Ò»Ö¾Ô¸Öпƴó070300»¯Ñ§£¬314·ÖÇóµ÷¼Á
ÒѾÓÐ4È˻ظ´
285Çóµ÷¼Á
ÒѾÓÐ9È˻ظ´
²ÄÁϵ÷¼Á
ÒѾÓÐ7È˻ظ´
» ±¾Ö÷ÌâÏà¹Ø¼ÛÖµÌùÍÆ¼ö£¬¶ÔÄúͬÑùÓаïÖú:
¼¯ÌåÖǻ۱à³Ì ÖÐÎİ棨º¬Ä¿Â¼£©
ÒѾÓÐ61È˻ظ´
ÇóÖúdelphi ±à³Ì£¬ÔÚwindow2003ÖÐÊäÈ뺺×ÖΪÂÒÂëÎÊÌâ
ÒѾÓÐ5È˻ظ´
¡¾ÇóÖú¡¿ôÈ»ùÐÞÊεĴÅÐÔÄÉÃ׺Í-°±»ùÊÊÅäÌå·´Ó¦Ìõ¼þ
ÒѾÓÐ12È˻ظ´
¡¾×ªÌû¡¿ÓÃDelphi¿ª·¢ÊÓÆµÁÄÌìÈí¼þ
ÒѾÓÐ8È˻ظ´
¡¾ÌÖÂÛ¡¿ÓÐÈË×ö¹ý¼îÐÔÌõ¼þÏÂPt´ß»¯¼ÁµÄCVÇúÏßô£¿
ÒѾÓÐ10È˻ظ´

zyj8119
ľ³æ (ÖøÃûдÊÖ)
- Ó¦Öú: 65 (³õÖÐÉú)
- ¹ó±ö: 0.003
- ½ð±Ò: 915.1
- É¢½ð: 1440
- ºì»¨: 35
- Ìû×Ó: 2936
- ÔÚÏß: 1329.4Сʱ
- ³æºÅ: 664177
- ×¢²á: 2008-11-29
- ÐÔ±ð: GG
- רҵ: ÀíÂۺͼÆË㻯ѧ
|
¹æÔò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
snaker
½ð³æ (СÓÐÃûÆø)
- Ó¦Öú: 0 (Ó×¶ùÔ°)
- ½ð±Ò: 1132.9
- ºì»¨: 1
- Ìû×Ó: 149
- ÔÚÏß: 33.9Сʱ
- ³æºÅ: 1270127
- ×¢²á: 2011-04-19
- רҵ: ϵͳ¿ÆÑ§Óëϵͳ¹¤³Ì
3Â¥2012-03-23 10:46:11













»Ø¸´´ËÂ¥
