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

Delphi單元文件詳解 (1)

編輯:Delphi

昨天敲了半天才出來的,想組成一個系列.供新手學習一下!(雖說我也是新手^_^)

Delphi單元文件

1.庫單元文件頭:其中聲明了庫單元的名字.

2.Interface部分:

  由保留字interface開始,結束於保留字implementation,它用來聲明引用的單元,常量,數據類型,變量,過程和函數.在Interface部分聲明的變量,常量,數據類型,過程,函數都可以供外部引用,對整個程序而言是共有的.也就是說,對於所有引用該單元的單元來說,這些聲明都是可見和可訪問的.

  在Interface部分,只需寫出過程和函數的首部,具體的定義是在下面的implementation部分給出的.

  Interface部分又可分為多個可選部分,分別為單元引入部分(uses),常量說明部分,類型說明部分,變量說明部分,過程和函數聲明部分.

3.Implementation部分:

  Implementation部分分為兩部分.一部分是聲明部分,包括單元引用,常量,類型,變量,過程和函數的聲明,這一點和Interface部分相似.

區別有兩點:

  (1):在Implementation部分聲明的只對本單元是公共的,可見的,其他單元即使引用了該單元,也不能訪問它們.

  (2):在Implementation部分聲明的過程和函數,不需要遵循先聲明後定義的規則,而可以直接寫出過程和函數的定義.另一部分是在Interface部分聲明的過程和函數的定義.

4.Initialization部分:

  用於初始化該庫單元,此處的代碼最先執行.如果多個庫單元中包含Initialization部分,那麼它們的執行順序就和Program的uses部分引用單元的出現順序是一致的.

5.Finalization部分:

  通常用於釋放Initialization部分分配的資源.如果多個庫單元中包含Finalization部分,其執行順序和Initialization部分正好相反.


unit MainFrm; {庫單元文件頭}

interface     {接口部分}

uses        
  Windows, Forms, StdCtrls;

type
  TForm1 = class(TForm)
    procedure FormCreate(Sender: TObject);
  private
    { Private declarations }
  public
    procedure MyButtonClick(sender:TObject);
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation  {實現部分}

//uses

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
var
  MyButton : TButton;
begin





  MyButton := TButton.Create(self);
  MyButton.Parent := self;
//告訴創建方法在Form1中顯示MyButton
  MyButton.Caption := '測試一';
  MyButton.OnClick := MyButtonClick;
  MyButton.Show;
end;

procedure TForm1.MyButtonClick(sender:TObject);
begin
  Application.MessageBox(PAnsiChar(TButton(sender).Caption)
                        ,'Test Component');
  TButton(sender).Caption := '測試二';
end;

initialization  {可選的初始化部分}
  //
finalization    {結束部分}
  //

end.            {End結束符}

6.Sender參數:

  看上面程序代碼發現事件處理程序的參數中,至少含有一個參數Sender,它代表觸發事件處理程序的組件,有了Sender參數,可以使多個組件共用相同的事件處理程序.

7.Self參數:

  Self是指所編的程序范圍是在哪一個類中,Delphi中大都在窗體范圍內編程,因此,Self即指窗體,如果在編寫一個類或是一個組件,則Self指該類或該組件.我們在過程和函數的聲明中可以看出Self是代表哪個組件,即Self代表"."號之前的組件.另外應注意,Self只能用在類方法中,而不能用在過程或函數中.

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