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

理解Delphi的類(十) - 深入方法(5)

編輯:Delphi

//要點15: 調用其他單元的函數

//包含函數的單元:
unit Unit2;
interface
function MyFun(x,y: Integer): Integer; {函數必須在接口區聲明}
implementation
function MyFun(x,y: Integer): Integer; {函數必須在函數區實現}
begin
  Result := x + y;
end;
end.

//調用函數的單元:

unit Unit1;
interface
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;
type
  TForm1 = class(TForm)
   Button1: TButton;
   procedure Button1Click(Sender: TObject);
  end;
var
  Form1: TForm1;
implementation
{$R *.dfm}
uses Unit2; {必須 uses 定義函數的單元}
procedure TForm1.Button1Click(Sender: TObject);
var
  i: Integer;
begin
  i := MyFun(1,2);     {調用函數}
//i := Unit2.MyFun(1,2); {有時為了避免重名, 需要這樣調用}
  ShowMessage(IntToStr(i)); {3}
end;
end.

//要點16: 在實現區(implementation), 自定義的方法是有順序的

function MyFunA(x: Integer): Integer;
begin
  Result := Sqr(x); {取平方}
//MyFunB(x);   {前面的函數不能調用後面的函數}
end;
function MyFunB(x: Integer): Integer;
begin
  Result := MyFunA(x) * 2; {可以調用前面的函數 MyFunA}
end;

//要點17: 如果前面的方法要調用後面的方法, 後面的方法需要提前聲明

function MyFunB(x: Integer): Integer; forward; {使用 forward 指示字提 前聲明}
function MyFunA(x: Integer): Integer;
begin
  Result := MyFunB(x) * 3; {要調用後面的方法, 後面的方法需要提前聲明}
end;
function MyFunB(x: Integer): Integer;
begin
  Result := Abs(x);
end;

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