1 / 18

第十四章 專 案

第十四章 專 案. 14-1 專案的內容 14-2 多表單專案. 14-1 專案的內容. 當我們開啟一個新的應用程式 ( 按一下功能表的“ File”/“Application” , Delphi 稱此應用程式為“專案”,其內容是預設一個表單 (Form1) 及一個單元 (Unit1) 。. Form1. 一個專案可以同時存在許多表單 (Form) , Form1 是系統預設的第一個表單,也是系統預設執行的表單。其次,若點選表單快顯功能表的“ View as Text” ,將可得構成表單的屬性如下,但這些並非表單的全部屬性,有些屬性會因沒有變更而沒有列印。

lelia
Download Presentation

第十四章 專 案

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 第十四章 專 案 • 14-1專案的內容 • 14-2 多表單專案

  2. 14-1 專案的內容 • 當我們開啟一個新的應用程式(按一下功能表的“File”/“Application”,Delphi稱此應用程式為“專案”,其內容是預設一個表單(Form1)及一個單元(Unit1)。

  3. Form1 • 一個專案可以同時存在許多表單(Form),Form1是系統預設的第一個表單,也是系統預設執行的表單。其次,若點選表單快顯功能表的“View as Text”,將可得構成表單的屬性如下,但這些並非表單的全部屬性,有些屬性會因沒有變更而沒有列印。 object Form1: TForm1 Left = 192 Top = 107 Width = 355 Height = 221 Caption = 'Form1' Color = clBtnFace Font.Charset = DEFAULT_CHARSET Font.Color = clWindowText Font.Height = -11 Font.Name = 'MS Sans Serif' Font.Style = [] OldCreateOrder = False PixelsPerInch = 96 TextHeight = 13 end

  4. Unit1 • 每一個表單均會對應一個程式單元,系統預設的程式單元內容如下: unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs; type TForm1 = class(TForm) private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} end.

  5. Unit Unit是單元名稱的保留字,後面跟隨的文字Unit1即為此單元的名稱,每一個單元均含有四個區段(section),分別是interface、implementation、initialization 及finalization等4個區段,其中前面2個是必需的區段,後面2個則是選擇性的。 • interface interface區段包含3個子句,分別是uses、type及var等,其功能是宣告此單元所要使用的型態、常數、變數、程序、函式與程式庫 • uses uses保留字是將本單元所需要的函式與類別庫包含進來,系統已預設包含一些程式庫,如上所述。有些程式庫會因使用者加入某些元件而自動加入,例如當您新增一個Button元件時,系統會自動將StdCtrls 包含進來;有些程式庫則必須由使用者手動加入,例如欲使用Sign函式,則應手動加入Math函式庫。 • type 所有的型態宣告,皆放在type後面。 • var 所有變數的宣告,皆放在var後面,且其生命週期是整個專案,也就是同一專案的所有表單,皆可引用在var所宣告的變數。

  6. const 所有常數的宣告,皆放在const後面,且其生命週期是整個專案,也就是同一專案的所有表單,皆可引用在const所宣告的變數。(附註:const是選擇性的保留字,必須自行鍵入) • implementation 這個單元主要是用來定義在interface所宣告的程序與函式的內容,也就是撰寫每一程序與函式的地方。此外,同一專案若包含多個表單,亦需在此區使用uses包含所需轉移表單,例如,以下程式片段表示單元將引用Unit2。 uses Unit2 此單元亦包含以下符號。 • {$R *.dfm} {$R *.dfm}是用來連結Form1物件的二進位表格,所以千萬不可自行刪除。 • end. end.是整個單元的結束,當然也不可自行刪除。 • 表單的存檔 當完成一個表單的存檔,硬碟將會自動出現兩個檔案,一個是副檔名為*.DFM的Delphi Form,如下圖左,它記載此表單所使用的元件;另一個是*.PAS的Delphi Source檔,如下圖右,是記載單元內的所有程式碼。

  7. Project1 • 當開新專案時,Delphi預設的專案名稱即為 Prtoject1。以下程式片段,則為Project1的內容(按一下功能表的“Project”/“View Source”),Program 保留字後面的Project1,即為本專案名稱。

  8. 專案的存檔 • 完成專案的存檔,將會包含以下的檔案,其中Delphi Form與Delphi Source File是表單檔,請看上一單元。

  9. Delphi Project *.DFM的檔案,正是專案檔的內容,這個檔案記載此專案所包含的表單及單元檔。 • CFG *.CFG的檔案,記載專案的結構(Configuration)。 • DOF *.DOF的檔案,記載專案的選項設定,例如編譯與連結的設定。讀者可用功能表的 “Project”/“Option”來改變一些專案選項設定。 • RES *.RES是關於資料檔的設定。

  10. 14-2 多表單專案 • 本章之前的專案均只含單一表單,但對一個大型的應用程式而言,單一表單並無法滿足應用程式的需求,所以任一大型專案均是由眾多表單與單元組合而成

  11. 表單的新增 • 當我們開新專案時,Form1物件即為系統預設的第一個表單,往後要新增表單的方式有兩種,分別是新增新的表單(功能表的 “File”/ “New”/ “Form”)與載入別專案已完成的表單(功能表的“Project”/“Add to Project”)。其次,若要載入已完成的表單應留意表單物件名稱的唯一性問題,也就是同一專案當然不允許兩個表單的名稱相同。 • 例如,專案裏已有Form1的表單物件,當然不能載入另一名稱為Form1的表單物件,所以載入前應先更改表單的預設名稱,以避免因表單物件名稱相同而無法載入。

  12. 啟始表單的設定 • 同一專案若由多個表單組合而成,到底專案執行時,要執行那一表單呢?答案是要由功能表的“Project”/“Options”設定啟始表單,請於Main Form點選啟始表單。

  13. 表單的連結 • 當我們要由A表單轉移至另一B表單時,應於A表單的implementation區的開頭鍵入欲使用的單元,如以下程式即是欲使用Unit2。 uses Unit2 ;

  14. 表單的轉移 • 表單的轉移,分別是使用Show顯示欲轉移的表單及使用Hide隱藏自已的表單,如下以敘述是顯示Form2並隱藏Form1。 Form2.Show ; Form1.Hide ;

  15. 變數的有效範圍 • 於interface 區域的var或const保留字所宣告的變數與常數,其有效範圍均達整個專案,也就是同一專案的任何表單皆可存取此區域的變數與常數。

  16. 表單的移除 • 表單的移除可由功能表的“Project”/“Remove from Project”或專案管理員(功能表的“View”/“Project Manager”)中刪除不要的表單。

  17. 範例 14-2a • 示範多表單專案。

  18. 習題 請設計一個簡報,要求如下: • 1 題目自訂。 • 2 至少包含6個表單。 • 3 至少包含20個元件。 • 4 至少使用5種不同的事件。

More Related