delphi virtual dynamic
dynamic¾ÍÊÇËüÊǶ¯Ì¬·½·¨£¬Ã»Óо²Ì¬µØÖ·£¬ËùÒÔËÙ¶ÈÂýÒ»µã
virtualÊÇÐé·½·¨£¬Èç¹ûÔÚ»ùÀàÖв»ÉùÃ÷³ÉÐé·½·¨µÄ»°£¬¼Ì³Ðºó£¬¸Ã·½·¨»áÌáʾһ¾¯¸æÐÅÏ¢£¬°Ñ»ùÀàÖз½·¨ÆÁ±ÎµôÁË
---------------------------------------------------------------
¶¯Ì¬£¨Dynamic£©ºÍÐéÄ⣨Virtual£©ºó¶¼¿ÉÒÔʹÓÃOverride¹Ø¼ü×ÖÔÚÅÉÉúÀàÖжԶÔÓ¦·½·¨½øÐи²¸Ç´Ó¶øÊµÏÖ¶à̬......
ÐéÄâ·½·¨ºÍ¶¯Ì¬·½·¨ÔÚÓïÒåÉÏ¿ÉÒÔ˵Êǵȼ۵ģ¬ËûÃÇΨһµÄÇø±ðÔÚÓÚ¶Ô·½·¨µ÷ÓòßÂÔµÄÄÚ²¿ÊµÏÖÉÏ£ºÐéÄâ·½·¨´ÓËÙ¶È×îÓÅ»¯µÄ½Ç¶ÈʵÏÖ´úÂëÓÅ»¯£¬¶ø¶¯Ì¬·½·¨ÔòÊÇ´Ó¿Õ¼ä×îÓŵĽǶÈʵÏÖ´úÂëÓÅ»¯......
±»¸²¸ÇµÄ¶¯Ì¬·½·¨ÔÚÅÉÉúÀàµÄVMTÖв»ÔÙ³öÏÖ........ËùÒÔ½ÚÊ¡¿Õ¼ä........µ«²éѯËÙ¶ÈÂý
±»¸²¸ÇµÄÐéÄâ·½·¨ÔÚÅÂÉúÀàµÄVMTÖÐÔٴγöÏÖ........ËùÒÔ²éѯËÙ¶È¿ì......µ«À˷ѿռä
---------------------------------------------------------------
ÐéÄâ·½·¨ºÍ¶¯Ì¬·½·¨
Ҫʹһ¸ö·½·¨³ÉΪÐéÄâµÄ»ò¶¯Ì¬µÄ£¬ÐèÒªÔÚÆäÉùÃ÷ÖаüÀ¨Ö¸Ê¾×Övirtual»òdynamic¡£ÐéÄâ·½·¨ºÍ¶¯Ì¬·½·¨²»Í¬ÓÚ¾²Ì¬·½·¨£¬ËüÃÇ¿ÉÒÔÔÚÆäºóÒáÀàÖб»¸²¸Ç£¨overridden£©¡£µ±Ò»¸ö¸²¸Ç·½·¨±»µ÷ÓÃʱ£¬·½·¨µ÷ÓÃÖÐʹÓõÄÀà»ò¶ÔÏóµÄʵ¼Ê£¨ÔËÐÐʱ£©ÀàÐ;ö¶¨ÁËÄÄÒ»¸öʵÏÖÊÇÓÐЧµÄ£¬¶ø·Ç±äÁ¿ÉùÃ÷µÄÀàÐ;ö¶¨¡£
Òª¸²¸ÇÒ»¸ö·½·¨£¬ÐèÒªÔÚÔÙÉùÃ÷ÖÐʹÓÃָʾ×Öoverride¡£Ò»¸öoverrideÉùÃ÷±ØÐèÓëÆä׿ÏÈÉùÃ÷ÔÚ²ÎÊý˳ÐòºÍÀàÐÍÒÔ¼°½á¹û£¨Èç¹ûÓУ©µÈ¸÷·½ÃæÆ¥Åä¡£
ÏÂÃæµÄÀý×ÓÖУ¬TFigureÖÐÉùÃ÷µÄDraw·½·¨ÔÚÁ½¸öºóÒáÀàÖж¼±»¸²¸Ç¡£
type
TFigure = class
procedure Draw; virtual;
end;
TRectangle = class(TFigure)
procedure Draw; override;
end;
TEllipse = class(TFigure)
procedure Draw; override;
end;
¶ÔÓÚÉÏÃæ¸ø³öµÄÉùÃ÷£¬ÏÂÃæµÄ´úÂë¾ÙÀý˵Ã÷ÁËÔÚÔËÐÐʱͨ¹ýÒ»¸ö±äÁ¿µ÷ÓÃÐéÄâ·½·¨Ê±£¬ÆäÀàÐͱ仯µÄЧ¹û¡£
var
Figure: TFigure;
begin
Figure := TRectangle.Create;
Figure.Draw; //µ÷ÓõÄÊÇTRectangle.Draw
Figure.Destroy;
Figure := TEllipse.Create;
Figure.Draw; //µ÷ÓõÄÊÇTEllipse.Draw
Figure.Destroy;
end;
Ö»ÓÐÐéÄâ·½·¨ºÍ¶¯Ì¬·½·¨¿ÉÒÔ±»¸²¸Ç¡£È»¶ø£¬ËùÓеķ½·¨¶¼¿ÉÒÔ±»ÖØÔØ£¨overloaded£©£¬¼ûÖØÔØ·½·¨¡£
ÐéÄâºÍ¶¯Ì
Ïà¹ØÎĵµ£º
ÔÚDelphi×Ô´øµÄIndy¿Ø¼þÖÐÆäʵÊÇÌṩÁËMD2,MD4,MD5¶ÔÏóµÄ£¬ÎÒÃÇ¿ÉÒÔÖ±½ÓʹÓÃËüÃÇÀ´Íê³ÉMD5µÄÇ©ÃûËã·¨¡£¶ø²»ÐèÒªÔÙÈ¥ÕÒÆäËüµÄ
DLL»òÊÇPasÁË¡£
ÔÚUsesµ¥ÔªÖÐÒýÓà IdHashMessageDigest,IdGlobal, IdHash µ¥Ôª£¬ÔÙдÈçÏ´úÂë¼´¿ÉÒÔ´ïµ½MD5µÄʵÏÖ¡£
ʾÀý´úÂë
procedure TForm1.Button1Click(Sen ......
×î½üÃæÊÔÁËÒ»¼ÒÆóÒµ,ÏÂÃæÓÐÒ»µÀ´ÓÀ´Ã»ÓÐÏë¹ýµÄÎÊÌâ,µ±Ê±ÓÐ˼·,²»¹ýд²»³öÀ´.»ØÀ´ºó,µ÷ÊÔÁËÒ»ÏÂ,·¢ÏÖ»¹ÊÇÓÐÄѶȵÄ,дÉÏÀ´¿´´ó¼ÒÊÇ·ñ»¹ÓиüÓÅ»¯µÄд·¨,»¶ÓÌÖÂÛ:
ÏÂÃæÊµÏÖ½«×Ö·û´®"10ad200d3" ÖеÄÊý×ֺϼÆ,10+200+3=213
var s1:string;
var i:integer;
var n1:integer;
var tem1: string;
var tem2:integer;
......
Ã÷Ìì¾ÍÊÇÎåÒ»½ÚÁË£¬ÐÁ¿àÁ˺ü¸¸öÔ£¬½è´Ë»ú»áÓ¦¸Ã¾¡Çé·ÅËÉÒ»·¬¡£¿ÉÊÇÏëµ½BlogºÃ¾ÃûÓÐдÎÄÕ£¬ËƺõÈ±Ð©Ê²Ã´ËÆµÄ¡£Õ⼸¸öÔÂÀ´ÔÚÏîÄ¿ÖÐÓÖÔö³¤ÁËÐí¶à¾Ñ飬ѧµ½Ðí¶àʵ¼ÊÓ¦ÓõÄ֪ʶ¡£²»Èç°ÑһЩ±È½ÏÓÐÓõļǼÏÂÀ´£¬¹©ÅóÓÑÃDzο¼¿ÉºÃ¡£
ÎÒÏëµ½DelphiµÄʼþ£¬ÄÇ¿ÉÕæÊǸö·½±ãµÄ¶«Î÷£¬³õѧÕßÔÚ´°ÌåÉÏÀ¼¸¸ö¿ ......
µÚÒ»ÖÖ£ºÐèÒªÒýÓÃWindowsµ¥Ôª
ShowMessage(IntToStr(GetSystemMetrics(SM_CYSCREEN)-GetSystemMetrics(SM_CYFULLSCREEN)-GetSystemMetrics(SM_CYCAPTION)));
µÚ¶þÖÖ£ºÐèÒªÒýÓÃWindowsµ¥Ôª
function GetSystemTaskBarHeight:Integer;
var
R:TRect;
begin
SystemParametersInfo(SPI_GETWORKAREA,0,@R,0);
Resul ......
TMS Scripter£ºÖ§³ÖPascalºÍVBScriptÁ½ÖÖÓï·¨¡£ÓŵãÊÇÎĵµÆëÈ«¡¢Àý×ÓÆëÈ«£¬½Å±¾¿ÉÖ±½ÓÖ§³ÖDLL£¬¹Ù·½»¹ÌṩÁ˷ḻµÄIDE Debug¹¤¾ß¡¢µ¥Ôªµ¼³öº¯Êý¹¤¾ßµÈ£¬È±µãÊDZàÒëÔËÐнÏÂý¡£for ¿ÕÑ»·1000Íò´Î£¬ÐèÒª10ÃëÖÓÒÔÉÏ¡£TMS ScripterÊÇÉÌÒµ¹²ÏíÈí¼þ¡£
FastScript£ºÓùýFastReport±¨±íµÄÍ¬Ñ ......