單元檔案是Pascal源檔案,副檔名為.pas。
有三種類型的單元檔案:
- 表單/資料模組和架構的單元檔案(form/data module and frame units),一般由Delphi自動產生。
- 組件的單元檔案(component units),由您或者Delphi產生。
- 通用的單元檔案(general-purpose units),有您建立。
下面讓我們看看基本的Pascal單元檔案結構是如何的?
Step1、在主菜單上選擇【File | New | Unit】,Delphi將建立一個新的單元,並在Code Editor中顯示出。
Step2、讓我們來看看一個最簡單的pascal單元,包括了四個關鍵字unit、interface、implementation和end;
比較全的單元如下,請看注釋:
unit Unit1;interfaceuses { List of units goes here } Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs; { Interface section goes here }type { type關鍵字用來聲明一個新的類型} TMyArray = array[0..19] of Byte; { 聲明TMyArray用來代替array[0..19] of Byte}const { const關鍵字用來聲明常量} AppCation = 'Hello World'; { AppCation由於在interface段聲明,它在單元的任何地方都可以用}var { var關鍵字用來聲明變數,也分interface段和implementation段} X: Integer; MyArry: TMyArray; { MyArray為剛才定義的TMyArray新類型} procedure DoSomething; { 聲明一個DoSomething過程}implementationuses { List of units goes here } SysUtils, Variants;var ObjList: TObjectList;const { BaseX,BaseY由於在implementation段聲明,只能在單元內使用} BaseX = 20; BaseY = 200; { 實現interface段聲明的DoSomething過程} procedure DoSomething; begin { Code for DoSomething goes here.} end; //C++風格的注釋,只能用於單行注釋 (* 相同類型注釋不能嵌套 *) { 推薦使用的注釋符號 } { Implementation section goes here }initialization { Initialization section goes here } ObjList := TObjectList.Create;finalization { Finalization section goes here } FreeAndNil(ObjList);end.
uses單元引用
一個單元引用的外部單元清單,其中每個單元必須用逗號分開,最後一個單元必須加分號,分號表示該uses清單的結束。
interface介面段
用來生命這個單元的輸出標識符,即能被其他單元訪問的項。介面段以interface開始,以implementation結束。
implementation執行段
執行段以implementation開始,以下一個關鍵字結束,下一個關鍵字通常就是單元的最後關鍵字end。但在有初始化的單元中,下一個關鍵就是initialization關鍵字。
以上三個部分是unit單元必須要的。接下來兩個關鍵字部分是可選的。
initialization單元初始化和finalizaiton單元結束
用來執行啟動和清理的代碼,初始化中的任何代碼在其單元載入記憶體時都要被執行,結束段中的任何代碼在單元從記憶體中清理前都要被執行。
可以只有一個初始化段,但不能只有結束段,而沒有初始化段。