ÓÃDelphi±àÖÆ¿É×Ô¶¯Éý¼¶³ÌÐò
ÔÚ±àÖÆÁËÒ»¸öÓ¦ÓóÌÐòºóµÄά»¤½×¶Î£¬ÎÒÃÇ»áÃæÁÙ¸øÓ¦ÓóÌÐòÉý¼¶µÄ¹¤×÷.ÎÞÒÉ£¬ÊÖ¹¤Éý¼¶µÄ¹¤×÷ÊÇÊ®·Ö·±ËöµÄ£¬Äã¿ÉÄÜ»áÐèÒªµ½Óû§µÄ»úÆ÷ÉÏÈ¥¸üÐÂÎļþ.¿ÉÊÇ£¬Èç¹ûÄܱàÒ»¸ö×Ô¶¯Éý¼¶³ÌÐò£¬·ÅÔÚÍøÂçÉÏ£¬ÈÃÓû§ÏÂÔØ£¬Ö»ÐèÖ´ÐÐһϾÍÍê³ÉÉý¼¶¹¤×÷£¬²»ÊǺܷ½±ãÂð£¿Æäʵ£¬ÓÃDelphi¿ÉÒԺܷ½±ãµØ±àÖÆ³öÕâÑùÒ»¸öµÄ³ÌÐò.
ÒÔÏÂÊÇÎÒÃǵÄÀý×Ó£¬ÉèÎÒÃÇÒѾÓÐÒ»¸öÓ¦ÓóÌÐòThis.exe£¬Òª¶ÔËüÉý¼¶£¬ÓÃÀ´Éý¼¶µÄ³ÌÐòΪUpgrade.exe.
1£®ThisµÄ¹¤³ÌÎļþ¿ò¼Ü
program THIS;
uses
SysUtils,
Windows,
Forms,
...;
ÎÒÃǽ«ËüдÈë´úÂëÖУ¬ÒòΪÕâÔÚDelphiµÄ¹¤³ÌÎļþÖÐÊÇûÓÐ×Ô¶¯Éú³ÉµÄ.“…”²¿·ÖÊÇÄã´´½¨µÄ´°Ì岿·Ö
Var
Fn : String;
TSI : TStartupInfo;
TPI : TProcessInformation;
{$R *.RES}
begin
“Éý¼¶³ÌÐò”ʹÓÃFileAgeÀ´¼ì²éÔÀ´Ó¦ÓóÌÐòµÄ½¨Á¢Ê±¼ä£¬Èç¹û¼ì²âµ½µÄÊǾɰ汾£¬ÔòÌáʾÉý¼¶:
IF FileAge(‘SomeServerSomeDirthis.exe‘) ¡µ FileAge(ParamStr(0)) THEN
IF Application.MessageBox(‘ÕâÊÇÒ»¸ö¸üа汾µÄTHIS.EXE.‘+££13‘ÄãÒªµÃµ½Ð°汾µÄÉý¼¶ÎļþÂ𣿑, ‘Upgrade Time!‘,1) = 1 THEN
Begin
ÔËÐÐÉý¼¶³ÌÐòʱ£¬Éý¼¶³ÌÐòÓ¦ÓëÔÖ÷³ÌÐòthis.exeÔÚͬһĿ¼ÏÂ.Èç¹ûµ±ËüÆô¶¯Ê±£¬Õâ¸ö°æ±¾Ö÷³ÌÐòÓ¦¸ÃÍ˳ö£¬µ«Òª±£Ö¤Ëü²»»áɾ³ýÈκÎÎļþ£¬ÒòΪ´ËʱApplication.Initialize»¹Ã»Óб»µ÷ÓÃ.´úÂëÈçÏÂ:
Fn:= ExtractFilePath(ParamStr(0))+‘UpgradeThis.exe‘;
FillChar(TSI, SizeOf(TSI), 0);
TSI.CB := SizeOf(TSI);
IF CreateProcess (PChar(Fn), NIL, NIL, NIL, False,
DETACHED_PROCESS, NIL, NIL, TSI, TPI)
THEN Exit
µ«ÊÇ£¬Èç¹û“Éý¼¶³ÌÐò”ÓÉÓÚijЩÔÒòûÓÐÔËÐУ¬ÎÒÃÇ´ËʱӦ¸Ã¸æËßÓû§£¬ËûÄÜͨ¹ýÆäËû·½·¨µÃµ½Ò»¸ö¸üеijÌÐò°æ±¾£¬ÕâʱÎÒÃÇÒÀÈ»Í˳öÖ÷³ÌÐòÒÔ±ãÓû§Éý¼¶.Èç¹û±ØÒªµÄ»°£¬Ò²¿ÉÒÔ¼ÌÐø×°Èë²¢ÔËÐоɰ汾.
ELSE
Begin
messagebeep(0);
Application.MessageBox(‘²»ÄÜÍê³ÉÎļþ¿½±´.‘+‘ ‘ ÇëÊÖ¹¤¿½±´£¡.‘, ‘Copy Error!‘,1);
Exit;
End;
End;
Application.Initialize;
Application.Title := ‘This‘;
Application.HelpFile := ‘This.hlp‘;
{autocreate forms, etc.}
Application.Run;
end.
Èç¹û×Ô¶¯Éý¼¶³ÌÐòÊÇÒ»¸ö¿ØÖÆÌ¨³ÌÐò£¬ÄÇôһ
Ïà¹ØÎĵµ£º
Delphi 2010ֻʣÏÂÁùÌìµÄÊÔÓÃÆÚÁË,15ÌìµÄÊÔÓÃÆÚ¹ýµÃÕæ¿ì.°Ù¶ÈÁ˺ܾÃÒ²ÒÀ¾ÉδËÑË÷µ½ÆÆ½â²¹¶¡,¿´À´Õâ°æ±¾µÄ·ÀµÁ°æ¹¤×÷×öµÃȷʵ²»´í.ÎÞÄÎÖ®ÏÂÖ»ºÃ×Ô¼º¶ÔËü×ö×öÊÖ½ÅÁË.
²âÊÔÁËÒ»ÏÂ,delphiÖ»ÓÐÔÚÆô¶¯³ÌÐòµÄʱºò°Ñʱ¼ä¼Ç¼¸ø¸üе½µ±Ç°ÈÕÆÚ,ϵͳÄÚ²¢²»×¤ÁôÏàÓ¦µÄ ......
Delphi¼üÅ̰´¼üαÂë
Ó÷¨£ºif key = chr(VK_RETURN) then...
³£ÊýÃû³Æ Ê®Áù½øÖÆÖµ Ê®½øÖÆÖµ ¶ÔÓ¦°´¼ü
VK_LBUTTON 01 1 Êó±êµÄ×ó¼ü
VK_RBUTTON 02 2 Êó±êµÄÓÒ¼ü
VK-CANCEL 03 3 Contol-break Ö´ÐÐ
VK_MBUTTON 04 4 Êó±êµÄÖмü£¨Èý°´¼üÊó±ê)
VK_BACK 08 8 Backspace¼ü
VK_TAB 09 9 Tab¼ü
VK_CLEAR 0C 12 Clear¼ü
VK ......
¼¼Êõ½»Á÷,DH½²½â. ¹þ¹þ,ÎÒ³ÐÈÏÎÒÊDZêÌâµ³.
×î½ü¿´ÌìÊéÒ¹¶ÁÀïÃæÊǶÔCÓïÑԵĴúÂë·´»ã±à,²»´í,¿ÉϧDelphiûÓÐÕâÑùµÄÊé,ÄÇÎÒÃÇ×Ô¼º¶¯ÊÖ°É.
Ê×ÏȽøÈëForÑ»·ÁË. Function TestFor( a, b: Integer ): Integer ;
Var
I: Integer ;
Begin
Result := a + b ;
For I := 0 To 49 Do
Result := Result + I ......
ÏûÏ¢µÄ´¦ÀíÁ÷³Ì£¬Á÷³ÌÈçÏ£º
ÆäÅÉ·¢´¦Àí¹ý³ÌÏêϸÈçÏ£º
×¢Ò⣺TWinControlÀïÃæWndProcÓе÷ÓÃϵͳAPI DefWindowProc,¸Ãº¯Êýµ÷ÓÃȱʡµÄ´°¿Ú¹ý³ÌÀ´ÎªÓ¦ÓóÌÐòûÓд¦ÀíµÄÈκδ°¿ÚÏûÏ¢ÌṩȱʡµÄ´¦Àí¡£¶øTWinControlÀïÃæDefaultHandlerÓÖµ÷ÓÃÁËϵͳAPI CallWindowProc£¬¸Ãº¯ÊýCallWindowProc½«ÏûÏ¢ÐÅÏ¢´«Ë͸øÖ¸¶¨µÄ´°¿ ......