if 依據布林運算式決定流程。then 後接真分支,else 為假分支(可省略)。巢狀 if 需用 begin...end 明確界定範圍,else 前不可加分號,編譯器將 else 歸屬最近的 if。
適用於序數型別(整數、字元、列舉、子界),比複雜 if 更清晰、效能更佳。語法:
case Number of
1,3,5,7,9: Label2.Caption := '奇數';
0,2,4,6,8: Label2.Caption := '偶數';
10..100: begin ... end;
else Label2.Caption := '大於100或為負數';
end;
else 為可選預設分支,end 結束。
| 類型 | 特點 | 適用場景 |
|---|---|---|
| repeat-until | 後測試,至少執行一次 | 不確定次數,但保證至少一次 |
| while-do | 前測試,可能零次 | 不確定次數,可能完全不執行 |
| for-to/downto | 固定次數,控制變數為序數型 | 已知迴圈次數,效率最高 |
範例:for i := 1 to 5 do WriteLn(i);
Object Pascal 程式由「宣告區」(可選)與「語句區」組成。宣告區包含型別、變數、常數、標號、子程序宣告;語句區為可執行邏輯。Delphi 中最常見的模組是事件處理程序:
procedure TForm1.Button1Click(Sender: TObject);
var
Name: string; // 宣告區
begin // 語句區
Name := Edit1.Text;
Edit2.Text := 'Welcome to Delphi ' + Name;
end;
單元(unit)也是大型程式模組:interface 為宣告區,implementation 含事件處理器等語句區,以 end. 結束。模組可巢狀包含,形成層次結構,利於結構化與資料保護。