XE6中項目文件為DPR,查看方法請參考一下以前寫過的博文:
“Delphi項目構成之項目文件DPR”
項目文件DPR
通過主菜單【Project | View Source】,就可以看到缺省的 VCL Forms Application 的項目源代碼:
program Project1; {關鍵字program} uses {uses單元引用} Vcl.Forms, //新的單元名稱VCL限定 Unit1 in 'Unit1.pas' {Form1}; {Form1窗體單元} {$R *.res} begin Application.Initialize; Application.MainFormOnTaskbar := True; //默認已將MainForm顯示於任務欄,而不是之前版本的Application Application.CreateForm(TForm1, Form1); Application.Run; end.
單元文件PAS
通過菜單【New | Unit – Delphi】,就可以創建最簡單的單元文件,其中的關鍵字都是必須的,格式如下:
unit Unit2; interface implementation end.
下面這個是內容比較多的單元文件,具體詳見代碼中的注釋:
unit Unit1; interface (* interface接口段,聲明這個單元的輸出標識符, 即能被其他單元訪問的項目 以interface開始,implementation結束 *) uses {引用的單元列表,和D7不同是需要加命名空間} Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics, Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls; type {使用了一個TForm類} TForm1 = class(TForm) Button1: TButton; procedure Button1Click(Sender: TObject); private { Private declarations } public { Public declarations } end; TMyArray = array[0..19] of Byte; {聲明一個新的類型} const {const關鍵字用來聲明常量} AppCation = 'Hello World'; var Form1: TForm1; X: Integer; MyArray: TMyArray; {Type區域中聲明的新類型} procedure DoSomething; {聲明一個DoSomething過程} implementation (* 執行段以implementation開始,以下一個關鍵字結束, 下一個關鍵字通常就是單元的最后關鍵字end。 但在有初始化的單元中,下一個關鍵就是initialization關鍵字。 *) {$R *.dfm} uses System.Contnrs; {implementation執行段的單元引用} var ObjList: TObjectList; Const BaseX = 20; BaseY = 200; procedure DoSomething; begin {Code for DoSomething goes here.} end; procedure TForm1.Button1Click(Sender: TObject); begin ShowMessage('Hello World'); end; (* initialization單元初始化和finalizaiton單元結束 用來執行啟動和清理的代碼,初始化中的任何代碼在其單元載入內存時都要被執行, 結束段中的任何代碼在單元從內存中清理前都要被執行。 可以只有一個初始化段,但不能只有結束段,而沒有初始化段。 *) initialization {單元初始化} ObjList := TObjectList.Create; finalization {單元結束} FreeAndNil(ObjList); end.
窗體文件DFM
在XE6中新建一個VCL Forms Application,按 F6 鍵啟動”IDE Insight”,輸入”VCL Forms”即可創建完成。
我們通過 Project Manager 就可以看到Unit1.pas下對應着Unit1.dfm。
在Unit1.pas文件中我們還能找到下面的代碼:
其中的代碼
{$R *.dfm} { 這句話告訴編譯器去連接對應的窗體文件,名稱與單元文件相同,但擴展名為.dfm}
DFM文件內容是什么呢?我們通過在Form1窗體設計器上點擊鼠標右鍵菜單,選擇【View as Text】來進行查看。如下圖:
DFM文件其實就是一個文本文件,記錄的都是些非缺省屬性設置和窗體上的一些組件屬性設置,內容如下:
object Form1: TForm1 Left = 0 Top = 0 Caption = 'Form1' ClientHeight = 329 ClientWidth = 620 Color = clBtnFace Font.Charset = DEFAULT_CHARSET Font.Color = clWindowText Font.Height = -11 Font.Name = 'Tahoma' Font.Style = [] OldCreateOrder = False PixelsPerInch = 96 TextHeight = 13 end
窗體設計中的秘密
1、如果我們在 Form1 上添加一個 Button1 按鈕,選中 Button1 按鈕后,選擇主菜單的【Edit | Cut】剪切,將 Button1 剪切掉,如下圖:
2、打開Windows中的記事本,選擇粘貼后,實際粘貼的是一個段 Button1 的屬性參數,我們仿照 Button1 的格式,增加一個 Button2 按鈕,並放置在 Button1 按鈕下方,具體參數如下圖:
3、將記事本中內容全選后,粘貼在XE6的窗體設計器中,我們成功創建了Button2按鈕,如下圖:
實際上在DFM文件中也是以TEXT格式記錄着所有控件屬性值。