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

Delphi_02_Delphi程序的結構,delphi_02_delphi

編輯:Delphi

Delphi_02_Delphi程序的結構,delphi_02_delphi


一、工程文件

program MultiUnit;

{$APPTYPE CONSOLE}

uses
  SysUtils,
  Unit1 in 'Unit1.pas';

begin
    //引用unit1中的變量,因為是在接口部分定義所以可以引用
    strGreet:='Hello world';

    //調用unit1中的過程 因為是在接口部分定義所以可以引用
    Greeting(strGreet);

    //調用unit2中的函數;因為是在接口部分定義所以可以引用
    nAdd:=10;
    nAddfactor:=11;
    writeln(GetSum(nadd,naddfactor));


    {
    1、因為pai變量是在unit1單元的實現部分定義的,因此不能被工程文件引用
    }
    //writeln(10*10*pai);

    {
    1、 因function GetArea(var r:single):single; 是在unit1單元的實現部分定義的
        所以在工程文件中也不能訪問
    }
    //writeln(GetArea(3.0));

    {
    1、 因為沒有在工程文件中引用unit2單元,所以不能引用unit2單元的對象
    2、 雖然在unit1單元引用了unit2單元,但是是在實現部分,所以在工程文件中
        也不能引用unit2單元的對象。
    3、 如果在unit1單元的接口部分引用了unit2單元,則在工程文件中也能引用unit2
        單元文件的對象
    }
    //showUnit2();



    readln;
end.

 

二、單元文件 unit1

{       單元文件
1、Delphi程序由稱為單元的源代碼模塊構成
2、每個單元保存在一個單獨的單元文件 *.pas 文件中,分別進行編譯,然後編譯後的
   單元被鏈接到程序中
3、單元文件由以下幾部分組成:
        單元頭      unit 關鍵字表示
        接口部分    interface 關鍵字表示
        實現部分    implementation 關鍵字表示
        初始化部分  initialization 關鍵字表示
        結束化部分  finalization
        單元的結尾  end. 表示
}

{   單元頭
1、 unit關鍵字定義單元頭,
2、 語法格式為:  unit 單元標識符
3、 在其他單元中利用 單元標識符 來表示整個單元
}
unit Unit1;

{       接口部分
1、 接口部分定義其他單元引用本單元時可以訪問本單元那些對象,
    接口部分聲明的變量、函數、過程的作用域 類似於C語言的全局對象
2、 接口部分由關鍵字 interface 開始,直到遇到關鍵字  implementation 結束
3、 接口部分可以
      A、使用 uses 子句, uses子句必須緊跟在interface之後
      B、利用 var 關鍵字定義變量
      C、聲明可以被其他單元調用的過程 procedure 和 函數 function
}
interface
var
    strGreet:string;
    nAdd:integer;
    nAddFactor:integer;

{       過程
1、 通過關鍵字 procedure 定義和聲明過程
2、 注意聲明最後有一個分號
3、 以後具體介紹
}
procedure Greeting(var strGreet:string);

{       函數
1、 通過關鍵字 function 定義和聲明過程
2、 注意聲明最後有一個分號
3、 以後具體介紹
}
function GetSum(var value1,value2:integer):integer;


{       實現部分
1、 實現部分用來實現單元的代碼部分,實現部分主要的代碼編輯部分
2、 實現部分用來定義接口部分聲明的過程、函數
3、 實現部分利用關鍵字 implementation 表示開始,直到遇到關鍵字 initialization
    或者 end. 為止
4、 實現部分可以使用
        A、uses 子句, 如果使用uses子句,則必須緊跟implementation關鍵字
        B、var 語句定義變量
        C、定義在接口部分聲明的過程、函數
        D、定義只在本單元才能調用的過程、函數
}
implementation
uses
    unit2;

var
    pai:single=3.1415926;

{       過程
1、 定義過程的時候必須與在接口部分完全一樣,如果聲明用來 var 關鍵字,則在
    定義的時候必須用 var 關鍵字
}
procedure Greeting(var strGreet:string) ;
begin
    writeln(strGreet);
end;

{       函數
1、函數通過函數名返回函數值
}
function GetSum(var value1,value2:integer):integer;
begin
    GetSum:=value1 + value2;
end;

function GetArea(var r:single):single;
begin
    GetArea := pai * r * r;
end;

procedure showUnit2();
begin
    {
    1、引用了unit2單元,所以可以引用unit2單元的對象
    }
    writeln(unit2Var);
end;

end.

 

三、單元文件 unit2

unit Unit2;

interface
var
    unit2Var:integer=33;
implementation

end.

 

歡迎轉載,轉載請注明來源。

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