Delphi (1)_Δελφοί太陽神住的地方_IDE基礎操作_程式檔案架構


Delphi,是Windows平台下Object Pascal語言整合式開發環境
Delphi讀音Δελφοί 源自於希臘文戴爾法
意思是希臘的太陽神居住的地方
http://blog.udn.com/kocj/2109442
後來大部分用英文來讀了
最初版是由美國Borland公司於1995年(剛好我出生那年推出跟我一樣大了)
開發出來的程式語言
主要是為了替代DOS時期的Turbo Pascal
而推出的可視化程式開發產品,目前推出版本有
1.0  / 2.0 / 3.0 / 4.0 / 5.0 / 6.0 / 7.0 / 8.0
在當時古早時代主打代碼自動生成及豐富數據管理工具

Delphi特點:
1.為32位元應用程式,早期多半運行於WindowsXP系統/Windows 95/98/2000/Windows NT。
2.Delphi的編譯工具在那時號稱最快32位元程式編譯器
使用此編譯器生成的EXE執行檔各自獨立的,對於動態連結執行時解析DLL可彈性調整。
3.根據Object Pascal語言的物件導向開發程式工具。



Pascal語言開發工具長相(1983年推出)
Pascal語言由瑞士蘇梨士理工學院 尼古拉斯-沃斯先生在1971年設計的for教學嚴謹用途


http://progopedia.com/version/turbo-pascal-7.0/


我們先認識一點Pascal程式語法(暖身一下)
在Delphi IDE當中呢...
我們是可以去新建一個Console Application專案
(for Pascal你可以寫一些基礎語法)


這裡選Console Application專案
預設會生成一個Pascal程式架構的檔案(副檔名.dpr ->Delphi Project檔案縮寫)



以下是小暖身(如何輸入/輸出/迴圈/判斷/變數宣告...)







Delphi程式主體架構
一個乾淨的程式區塊(在此皆為預設系統自動生成的沒把握建議不要隨意去更動以免報錯)


此時的Form長相



視窗應用專案新建方式



Console應用程式專案新建方式(在Delphi中稱作Unit)




一個Object Pascal的單元(副檔名.pas)
以 unit 為單元開頭,以 end. 為單元結尾,code寫在這兩行當中。
共分六部分

(1)unit : 一個程式檔案單元的名稱
對一個unit而言
interface為public的(其他透過uses去Add Reference的單元可取得部分內容)
implementation則是private的 (封裝特性)


(2)interface : 宣告的區塊 (為unit中公開的區塊)
作為Class 或 Type變數、函數prototype的宣告或常數定義
有點像C/C++的 .h/.hpp檔案中內容
在Delphi則是將其合一為單一個.pas檔案


(3)implementation : 實作區塊(相對於interface為unit中私有區塊)
在interface若有部分宣告的函數(function)、程序(Procedure)
或者類別(Class)中宣告的方法(Method)
要在此定義實作方式
(若在interface你曾寫過函數的原型時
在implementation可以只寫該函數名稱不需要參數原型定義)

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
...
interface
...
function Func1(I: integer; s: string): boolean;
...
implementation
...
function Func1;//省略後面參數定義
begin
...具體實作定義
end;

若單元中有一個函數或者程序只想於單元內部呼叫,不希望其他單元可調用
則應該直接寫於implementation區塊就好,interface就不要再宣告了。

同樣觀念,若一個變數是宣告在implementation的各程式或函數之外
這樣的變數對同一單元而言屬於公用變數





(4)initialization 初始化部分(可省略)除非finalization 也有出現才要一併寫出



(5)finalization 結束部分(可省略)



(6)end. 作為結束






一個Delphi專案可以有多個.pas檔案
彼此可透過uses去相互調用
(類似VB.NET 的 Imports / C# using namespace / Java的import)




型1.

1
2
3
4
5
6
7
8
unit{ 單元開頭 } Unit1;
interface
{ 介面區 }

implementation
{ 實作區 }

end{ 單元結尾 }.


型2.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
unit{ 單元開頭 } Unit1;

interface
{ 介面區 } 

implementation
{ 實作區 }

initialization
{ 初始區 }

finalization
{ 結束區 }

end{ 單元結尾 }.






References:
Pascal Programming
https://en.wikibooks.org/wiki/Pascal_Programming
Delphi Basics
http://www.delphibasics.co.uk/RTL.asp?Name=Unit
http://www.delphibasics.co.uk/Article.asp?Name=SecondPgm
https://blog.csdn.net/mingyuanlove/article/details/79932810
http://solnone.blogspot.com/2009/05/delphi-unit.html

留言

這個網誌中的熱門文章

何謂淨重(Net Weight)、皮重(Tare Weight)與毛重(Gross Weight)

Architecture(架構) 和 Framework(框架) 有何不同?_軟體設計前的事前規劃的藍圖概念

經得起原始碼資安弱點掃描的程式設計習慣培養(五)_Missing HSTS Header