//要點18: 如果函數在接口區定義了, 就無需用 forward 提前聲明了
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;
{現在函數定義在接口區(interface)}
function MyFunA(x: Integer): Integer;
function MyFunB(x: Integer): Integer;
implementation
{$R *.dfm}
function MyFunA(x: Integer): Integer;
begin
Result := MyFunB(x) * 3; {因為在接口區有了聲明, 前面的函數就可以調用後的 函數了}
end;
function MyFunB(x: Integer): Integer;
begin
Result := Abs(x);
end;
{調用測試}
procedure TForm1.Button1Click(Sender: TObject);
var
i: Integer;
begin
i := MyFunA(-3);
ShowMessage(IntToStr(i)); {9}
end;
end.
//要點19 : Delphi 支持過程中的方法
procedure TForm1.Button1Click(Sender: TObject);
procedure alert(s: string);
begin
ShowMessage(s);
end;
begin
alert('萬一'); {萬一}
end;
//要點20 : 靜態數組做參數, 不能這樣使用:
function MyFun(arr: array[0..9] of Integer): Integer;var
i: Integer;
begin
Result := 0;
for i in arr do Result := Result + i;
end;
//應該先把數組定義成一個類型
Type
IntArray = array[0..9] of Integer; {先把需要的數組定義成一個類型}