2.1.4 跳轉語句
Object Pascal的跳轉語句有if和case兩個。
2.1.4.1 if語句
if語句會計算一個表達式,並根據計算結果決定程序流程。在上文的例程中,根據ColorDialog.Execute的返回值,決定窗體的背景顏色。if保留字後跟隨一個生成Boolean值True或False的表達式。一般用“=”作為關系運算符,比較產生一個布爾型值。當表達式為True時,執行then後的語句。否則執行else後的代碼,if語句也可以不含else部分,表達式為False時自動跳到下一行程序。
if語句可以嵌套,當使用復合語句表達時,復合語句前後需加上begin…end。else保留字前不能加“;”,而且,編譯器會將else語句視為屬於最靠近的if語句。必要時,須使用begin…end保留字來強迫else部分屬於某一級的if語句。
2.1.4.2 case語句
case語句適用於被判斷的變量或屬性是整形、字符型、枚舉型或子界型時(LongInt除外)。用case語句進行邏輯跳轉比編寫復雜的if語句容易閱讀,而且程序代碼整形較快。
下面的例程顯示一個使用case語句的窗體:
建立如下的事件處理過程:
procedure TForm1.Button1Click(Sender: TObject);
var
Number : Integer;
begin
Number := StrToInt(Edit1.Text);
case Number of
1,3,5,7,9: Label2.Caption := '奇數';
0,2,4,6,8: Label2.Caption := '偶數';
10..100:
begin
Label2.Caption := '在10到100之間';
Form1.Color := clBlue;
end;
else
Label2.Caption := '大於100或為負數';
end;
end;
執行程序,當Edit1部件接受到一個值,並按動“OK”按鈕觸發程序後,Number便被賦值為用戶輸入的數值。case語句根據Number的值判斷該執行哪一條語句。象if語句一樣。case語句也有可選擇的else部分。case語句以end結尾。
2.1.5 循環語句
Object Pascal的循環語句有三種:repeat、while和for語句。
2.1.5.1 repeat語句
repeat語句會重復執行一行或一段語句直到某一