DelphiµÄ5ÖÖ·½·¨ÀàÐÍ
DelphiµÄ·½·¨ÀàÐÍÓУº
1.¾²Ì¬·½·¨ (Static) ĬÈÏÀàÐÍ£¬¿ÉÒÔÊ¡ÂԹؼü×Ö
2.ÐéÄâ·½·¨ (Virtual)
3.¶¯Ì¬·½·¨ (Dynamic)
4.ÏûÏ¢·½·¨ (Message)
5.³éÏó·¨·½ (Abstract)
=======================================================
1£©¾²Ì¬·½·¨[static]
¾²Ì¬·½·¨ÀàËÆÓÚͨ³£µÄ¹ý³ÌºÍº¯Êý£¬±àÒëÆ÷ÔÚ±àÒëʱ¾ÍÒÑÖ¸¶¨ÁËÊä³ö¸Ã·½·¨
µÄ¶ÔÏóʵÀý¡£¾²Ì¬·½·¨µÄÖ÷ÒªÓŵãÊǵ÷ÓÃËٶȿ졣
eg£º
type
TAnimal = class(TObject)
procedure Sound;
procedure Sleep;
... ...
end;
... ...
TDog = class(TAnimal)
procedure Sound;
function Sleep:Integer;
... ...
end;
¾²Ì¬·½·¨²»Äܱ»ÖØÔØ£¬ÉÏÀýÖУ¬ÅÉÉúÀàµÄ¾²Ì¬·½·¨Ö»ÊÇÌæ»»ÁË»ùÀàµÄ¾²Ì¬·½
·¨¡£¼´Ê¹Sleep·½·¨ÔÚTAnimalÖбíÏÖΪ¹ý³Ì¶øÔÚTDogÀàÖбíÏÖΪº¯Êý¡£
=======================================================
2£©ÐéÄâ·½·¨[virtual]
ÐéÄâ·½·¨±È¾²Ì¬·½·¨¸üÁé»î¡¢¸ü¸´ÔÓ¡£ÐéÄâ·½·¨µÄµØÖ·²»ÊÇÔÚ±àÒëʱȷ¶¨µÄ
£¬¶øÊÇÔÚ³ÌÐòÔËÐÐÆÚ¼ä¸ù¾Ýµ÷ÓÃÕâ¸öÐéÄâ·½·¨µÄ¶ÔÏóʵÀýÀ´È·¶¨µÄ£¬ÕâÖÖ·½
·¨ÓÖ³ÆÎªÖͺóÁª±à¡£ÐéÄâ·½·¨ÔÚ¶ÔÏóÐéÄâ·½·¨±í£¨VMT£©ÖÐÕ¼ÓÐÒ»¸öË÷ÒýºÅ
eg:
type
TAnimal = class(TObject)
procedure Eat;
procedure Sound; virtual;
procedure Sleep; dynamic;
... ...
end;
TDog = class(TAnimal)
procedure Sound; override; //ÖØÔØ
function Sleep:Integer; override;
... ...
end;
Ö»ÓÐvirtualºÍdynamic¿ÉÒÔ±»override£¬static²»Äܱ»override(ÖØÔØ)¡£
=======================================================
3£©¶¯Ì¬·½·¨[dynamic]
±»ÉùÃ÷Ϊ¶¯Ì¬·½·¨µÄ·½·¨²»ÊÇ·ÅÔÚÀàµÄÐéÄâ·½·¨±íÖУ¬¶øÊÇÓɱàÒëÆ÷Ö¸¶¨Ò»
¸öË÷ÒýºÅ£¨Ò»°ã²
Ïà¹ØÎĵµ£º
Windows ÏÂÒ»¸öµäÐ͵ÄÌØÕ÷¾ÍÊǶàÈÎÎñ£¬ÎÒÃÇ¿ÉÒÔͬʱ´ò¿ª¶à¸ö´°¿Ú½øÐвÙ×÷£¬Ò²¿ÉÒÔͬʱÔËÐгÌÐòµÄ¶à¸öʵÀý£¬±ÈÈç¿ÉÒÔ´ò¿ªÐí¶à¸ö×ÊÔ´¹ÜÀíÆ÷½øÐÐÎļþµÄÒÆ¶¯¸´ÖƲÙ×÷¡£µ«ÓÐʱ³öÓÚijÖÖ¿¼ÂÇ£¨±ÈÈ簲ȫÐÔ£©£¬ÎÒÃÇÒª×ö³öһЩÏÞÖÆ£¬ÈóÌÐòÖ»Äܹ»ÔËÐÐÒ»¸öʵÀý¡£ÔÚDelphi±à³ÌÖУ¬±ÊÕß×ܽá³öÁËÒÔϼ¸ÖÖ·½·¨£º
¡¡¡¡Ò»¡¢ ²éÕÒ´°¿Ú·¨
¡¡¡ ......
function ExpCalc(exp: string): string;
var
vScript: Variant;
begin
vScript := CreateOleObject('ScriptControl');
vScript.Language := 'VBScript';
Result := vScript.Eval(exp);
end;
procedure TForm1.Button1Click(Sender: TObject);
var
s:string;
begin
s:=ExpCalc('100 *4.17/0.5*(55. ......
1>ÏòÖ¸¶¨µÄÇøÓò»òÐÎ×´Ìí¼Ó³¬Á´½Ó¡£
Óï·¨
±í´ïʽ.Add(Anchor, Address, SubAddress, ScreenTip, TextToDisplay)
±í´ïʽ Ò»¸ö´ú±í Hyperlinks ¶ÔÏóµÄ±äÁ¿¡£
²ÎÊý
Ãû³Æ±ØÑ¡/¿ÉÑ¡Êý¾ÝÀàÐÍÃèÊö
Anchor
±ØÑ¡
Object
³¬Á´½ÓµÄλÖ᣿ÉΪ Range »ò Shape ¶ÔÏó¡£
Address
±ØÑ¡
String
³¬Á´½ÓµÄµØÖ ......
var
ExcelFile:string;
SourceRange,DesRange:Variant;
Row,Column,i:integer;
begin
if OpenDialog1.Execute then
begin
ExcelFile:=OpenDialog1.Files[0];
if not FileExists(ExcelFile) then Exit;
end
else
Exit;
try
ExcelApp:=CreateOleObject('Excel.Application');
......