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

Delphi單元結構,delphi單元

編輯:Delphi

Delphi單元結構,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 zidingyi

{$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只能用在
類方法中,而不能用在過程或函數中.如下列是錯誤的:
Function a1(B:Integer):Integer;
begin
...
  Button := TButton.Create(self);
...
end;

8.Parent和Owner的區別:
  (1):Parent屬性是指組件的包容器,組件只能在此范圍內顯示和移動.
  (2):Owner屬性是指組件的所有者,它負責組件的創建和釋放.Create方法應帶有表示組件所有者的參數.
  (3):它們都是運行階段的屬性,只能通過代碼設置.


delphi程序結構是怎的

dpr 為工程文件
dfm 為窗體文件
pas 為單元文件
cfg 配置文件
dof 為項目選項文件(一般沒用)
dcu compiled units文件 ,編譯後的單元文件
res 資源文件
ddp 文件就是Delphi Diagram Portfolio簡寫,是用來保存Code Editor中的Diagram信息的.

一般一個項目要考個別人,只需要 dpr,dfm,pas文件即可,如果有cfg,res也一塊考(後兩個文件很少用到)

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部分正好相反.
 

delphi程序的基本結構

1.一個完整的系統一般由很多功能相對獨立的單元模塊組成。
2.單元模塊中可以是類、函數。類和函數配合來實現想要的功能。(具體的代碼裡會用到變量、常量和系統關鍵字)
3.另外,還有界面部份和後端的數據庫部份。

函數一般定義格式:
funciton funName(Var1:string)
begin
//函數內容
end;

類的一般定義格式:
type

TMyObject=class(TOejct)
private
//私有部份
public
//公有部份
end;

如果需要一個完整的 Delphi 程序例子,可以在下面的網址去下載一個:
www.delphifans.com/
 

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