首页 > 代码库 > Delphi APP 開發入門(六)Object Pascal 語法初探
Delphi APP 開發入門(六)Object Pascal 語法初探
Delphi APP 開發入門(六)Object Pascal 語法初探
發表時間:2014/06/10
Delphi APP 開發入門(五)GPS 定位功能 << 前情 經過前面五週幾乎每週可以寫出一個簡單App後,大家都可以感受到Delphi強大的開發威力!這個禮拜要很快速的教大家Delphi的核心語言「Object Pascal」,當然因為這系列的文章是「Delphi APP 開發入門」,所以不會著墨太多語法的部份(一方面是怕大家很快就嚇跑了),筆者還是希望能擺在對入門有興趣為重心。接下來就教導大家最常見的變數、常數宣告、資料型態的種類、結構型態的宣告以及流程控制等基本語法,其他的部份就留待實戰時再一一解說了。 程式註解單行註解使用的是雙反斜線 //,多行註解使用的是 { } // 這是單行註解{1 2 3 這是多行註解 4 5 } 常數、變數Object Pascal宣告變數的關鍵字是使用var,例如建立一個 i1的變數,型態是Integer整數的話。 var i1 : Integer ; 如果同時宣告i1,i2都是整數時,可以用,隔開 var i1,i2 : Integer; 而常數的關鍵字則是Const,我們建立一個 pi的變數,型態是Double,值為3.14159 Const pi : Double = 3.14159 ; 型態種類Object Pascal的型態種類繁多,甚至因為支援多種平台還有支援各平台的型態。我們僅先列出最常用的資料型態給大家參考,如果對完整的資料型態有興趣,可以參考Embarcadero Variant Type這一章節。 var i: Integer; // 整數 s: String; // 字串 c: Char; // 字元 d: Double; // 浮點數 b: Boolean; // 布林 結構型態宣告結構型態的宣告是由程式設計師自訂之資料型態。例如宣告一個員工記錄 type TEmployee = Record Name : String ; // 員工姓名 Addr : String ; // 員工地址 Hour : Double ; // 上班時數 Employed : Boolean; // 在職與否 end; 或是宣告一個1到100的整數陣列 Type TMyArray = array [1..100] of integer; 流程控制if流程if流程控制大概是所有程式語言中最常用的判斷語法,在Delphi中的用法如下 // 用法1(單一判斷) if Z > B then s := ‘Z大於B‘; // 用法2(多重判斷) if Z > B then s := ‘Z大於B‘ // 注意這邊不用 ; else if Z B then begin s := ‘Z大於B‘; // 注意這邊要用 ; end else if Z < B then begin s := ‘Z小於B‘; // 注意這邊要用 ; end else begin s := "Z等於B"; end; For迴圈for是一個明確執行次數的迴圈,可以升冪或降冪執行 // 由1執行到10 for i:= 1 to 10 do begin sum:= sum + i; end; // 由10執行到1 for i:= 10 downto 1 do begin sum:= sum + i; end; While迴圈for與while最大的不同在於for有明確執行次數,但while則是依照條件判斷是否要執行,以剛才的1加到10為例。 While i<=10 do begin sum := sum + i; i := i +1; end; repeat迴圈while與repeat都是條件式迴圈,而二者不同是while是先判斷再執行,repeat是先執行再判斷。 repeat sum:=sum+i; i:=i+1; until i>10; Case多選一如果你的判斷是要多選一的話,可以使用case of的語法 case iMonth of 2,3,4: Showmessage(‘春季‘); 5..7: Showmessage(‘夏季‘); 8..10: Showmessage(‘秋季‘); 11..12,1: Showmessage(‘冬季‘); else Showmessage(‘月份有誤‘); end; 程序與函數程序(procedure)與函數(function)的不同在於有無傳回值。 var name : String; procedure TForm1.hello1(s: String); begin name := ‘hello ‘ + s; // 如果需要傳遞值需在外部宣告變數 end; function TForm1.hello2(s: String): String; begin result := ‘hello ‘ + s; // 回傳字串型態變數 end; procedure TForm1.Button1Click(Sender: TObject); var s:String; begin s:= ‘‘; hello1(‘codedata‘); // 直接呼叫procedure showmessage(name); s:= hello2(‘codedata‘); // 需要建立變數接回傳值 showmessage(s); end; 本週是用最簡單的方式告訴讀者們Delphi的基本語法,如果大家對於Delphi語法有興趣深入的話,可以參考免費Embarcadero的官方文件。當然筆者在後續的教學中,如果有使用未提過的語法或使用,也會在文中做說明。 後續 >> Delphi APP 開發入門(七)通知與雲端推播 |
Delphi APP 開發入門(六)Object Pascal 語法初探