Delphi的編程語言是以Pascal為基礎的。Pascal語言具有可讀性好、編寫容易的特點,這使得它很適合作為基礎的開發語言。同時,使用編譯器創建的應用程序只生成單個可執行文件(.EXE),正是這種結合,使得Pascal成為Delphi這種先進開發環境的編程語言。
本章中,我們將討論Object Pascal的主要特點,並講解如何在事件處理過程和其他應用程序中,使用它來編制程序代碼。本章將講解Delphi應用程序中最常用的Object Pascal語法,而不是Pascal語言的一切細節。如果您完全不熟悉Pascal編程,請參閱一些基礎的Pascal教程。如果您具有編程經驗,並能熟練地使用其他流行程序語言,您將在本章的Object Pascal中發現一些相同的概念。如果您已經熟悉了Borland Pascal,就可以快速浏覽或跳過本章。
2.1 編寫Object Pascal程序代碼
在前邊的章節中,我們通過例程,已經編寫了幾行簡單的代碼。在本章中,我們將從熟悉Pascal編程的角度,配合實例,講解Object Pascal編程的基本方法。
在編寫自己的Object Pascal程序時,要注意程序的可讀性。Pascal語言是英式結構語言,在程序中選擇合適的縮排、大小寫風格,並在需要時將程序代碼分行,會使得程序代碼能夠很容易地被自己和他人讀懂。一般的程序員都有這樣的體驗:如果不給程序加上適當的注解,一段時間後,自己也難以理清程序的流程。給程序及時地加上注釋是良好的編程習慣。Delphi的注釋需要加注在{}之間,編輯器會把它們處理成為空白。Delphi保留了Borland Pascal編輯器的風格,關鍵字采用黑體字,被注釋的部分會變暗,這使得編程風格良好,易讀易寫。
2.1.1 編寫賦值語句
在事件處理過程中,最常用到的工作就是把一個新值賦給一個屬性或變量。在設計用戶界面時,可以使用Object Inspector(Object Inspector)來改變其屬性;但有時需要在程序執行時改變屬性的值,而且有些屬性只能在執行時改變,這些屬性在Delphi的在線幫助的“Proprety”主題中被標為執行期屬性。進行這種改變,就必須使用賦值語句。
下文的賦值語句表征一個OnClick事件。當按鈕按動後,將編輯框部件Edit1的Color屬性置為clRed:
procedure TForm1.Button1Click(Sender: TObject); begin Edit1.Color := clRed; end;
當按動按鈕後賦值語句被執行,編輯框變成紅色。
在語句中,部件的名稱在屬性前,中間用“.”表示屬性的所屬關系。這樣就准確地指定了要將clRed值賦給哪一部件的哪一屬性。賦值號為“:=”,不論給屬性還是給變量賦值,都是將右邊的值賦給左邊的屬性或變量。
當將一個屬性值、變量、常量或文本數據賦給屬性或變量時,所賦值的類型和接受此值的屬性或變量的類型應相同或兼容。一個屬性或變量的類型定義了此屬性或變量的可能值集合,也定義了程序代碼可以執行的運算。在前邊的例程中,編輯框部件的Color屬性和clRed的類型都是TColor。可以在在線幫助中找到一個屬性的類型;另外一種方法是在Object Inspector中選定該屬性值段,並按下F1鍵,則類型將在屬性說明的結尾處列出,例如Color屬性列出下邊的語句:
Property Color : TColor;
有些屬性是只讀(Read Only)的,它們只能被讀取,不能被改變。請查閱在線幫助,在Delphi中這些只讀屬性都有注解。
2.1.2 標識符的說明與使用
標識符是Delphi應用程序中一些量的名稱,這些量包括變量(var)、常量(const)、類型(type)、過程(procedure)、方法(Method)及其他,Object Pascal 在應用標識符時,必須首先說明它們。Object Pascal是強類型語言,它的編譯器可以檢查確保賦給變量或屬性的值是正確的類型,以便於您改正錯誤。因為Object Pascal是編譯語言,所以Delphi的執行速度要比使用解釋語言快得多。在使用標識符前說明它們,可以減少程序錯誤並增加代碼的效率。
2.1.2.1 變量
變量是程序代碼中代表一個內存地址的標識符,而此地址的內存內容在程序代碼執行時可以被改變。在使用變量前必須對它進行說明,即對它進行命名,並說明它的類型。在所有變量說明以前加上保留字var。變量說明左邊是變量的名稱,右邊則是該變量的類型,中間用(:)隔開。