XE6入門(二)項目中的文件


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。

20150805009

在Unit1.pas文件中我們還能找到下面的代碼:

20150805008

其中的代碼

{$R *.dfm}   { 這句話告訴編譯器去連接對應的窗體文件,名稱與單元文件相同,但擴展名為.dfm}

DFM文件內容是什么呢?我們通過在Form1窗體設計器上點擊鼠標右鍵菜單,選擇【View as Text】來進行查看。如下圖:

20150805007

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 剪切掉,如下圖:

20150806001

2、打開Windows中的記事本,選擇粘貼后,實際粘貼的是一個段 Button1 的屬性參數,我們仿照 Button1 的格式,增加一個 Button2 按鈕,並放置在 Button1 按鈕下方,具體參數如下圖:

20150806002

3、將記事本中內容全選后,粘貼在XE6的窗體設計器中,我們成功創建了Button2按鈕,如下圖:

20150806003

實際上在DFM文件中也是以TEXT格式記錄着所有控件屬性值。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM