程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> Delphi >> Delphi語言學習4-函數和方法

Delphi語言學習4-函數和方法

編輯:Delphi
 1.函數的定義

//格式
functionfunctionName(parameterList):returnType;directives;
 localDeclarations;
begin
 statements
end;
//例1
functionWF:Integer;
begin
 WF:=17;
end;
//例2
functionWF:Integer;
begin
 Result:=17;
end;
//例3function MyFunction: Integer;
begin
 MyFunction := 5;
 Result := Result * 2;
 MyFunction := Result + 1;
end;

  2.調用方式

  Delphi的函數有幾種調用方式,

   Directive  Parameter order  Clean-up  Passes parameters in registers? 
register  Left-to-right  Routine  Yes 
pascal  Left-to-right  Routine  No 
cdecl  Right-to-left  Caller  No 
stdcall  Right-to-left  Routine  No 
safecall  Right-to-left  Routine  No 
 例如:

functionMyFunction(X,Y:Real):Real;cdecl;

  3.函數聲明
//先聲明後實現
functionCalculate(X,Y:Integer):Real;forward;
functionCalculate;
 ……{declarations}
begin
 ……{statementblock}
end;
//擴展聲明
//1
functionprintf(Format:PChar):Integer;cdecl;varargs;
//2LinkingtoObjectFiles
{$LBLOCK.OBJ}
procedureMoveWord(varSource,Dest;Count:Integer);external;
procedureFillWord(varDest;Data:Integer;Count:Integer);external;
//3ImportingFunctionsfromLibrarIEs
functionSomeFunction(S:string):string;external'strlib.dll';
//Thefollowingdeclarationimportsafunctionfromuser32.dll(partoftheWin32API).
functionMessageBox(HWnd:Integer;Text,Caption:PChar;Flags:Integer):Integer;stdcall;external'user32.dll'name'MessageBoxA';

  4.函數重載

functionDivide(X,Y:Real):Real;overload;
begin
 Result:=X/Y;
end
functionDivide(X,Y:Integer):Integer;overload;
begin
 Result:=XdivY;
end;

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved