幾乎所有的語言都包含三種程序流程控制方法:
• 順序,按照程序語句的順序執行。
• 條件分支,根據不同的條件執行不同的語句。
• 循環,由特定條件決定某些語句重復執行的次數。
• 跳轉
下面我們先來看看條件分支結構(if和case)
條件分支
if語句主要來檢測一個條件,並根據這個條件是True或者False來執行一段代碼;
var
I: Integer;
FileGood: Boolean;
begin
FileGood := True;
if FileGood then { 簡潔的寫法,判斷FileGood是否為True}
ShowMessage('True');
{ 上面的寫法等同於下面}
if FileGood = True then ShowMessage('True');
if I > 0 then { 如果I大於0}
DoSomething1
else if I < 0 then { 如果I小於0,else if塊不是必須的}
DoSomething2
else { 如果是其他條件,通常來實現默認的處理,else塊也不是必須的}
DoSomething;
end;
注意:使用if分支語句時else(包括else if)關鍵字之前的語句都不能包含“;”,因為整個if …then…else段被看成是一整條語句。
case語句可以看成是if語句的發展,它可以根據一個表達式的結果使程序執行多個代碼塊中的某一個代碼塊,此表達式的類型只能是有序類型變量作為條件因子,其他的如字符串則是行不通的。
var
I: Integer;
begin
case I of
1: { 如果 I = 1}
DoSomething1;
2, 3: { 如果 I = 2或者3,相當於if I in [2, 3]}
DoSomething2;
4..10: { 如果 I在4到10范圍內(含4和10)}
DoSomething3;
else { 如果是其他條件,通常用來實現默認處理,else塊也不是必須的}
DoSomething;
end; www.2cto.com
end;
Q:什麼是有序類型(Ordinal)?
A:有序,是說變量的取值是有序的,那麼對於這樣的變量,我們可以稱為有序變量。有序變量取值必須落在既定的范圍內,不能越界;如果強行越界,將會得到錯誤的運算結果。有序類型包括以下幾種類型:
Integer、Cardinal、Shortint、Smallint、Longint、Int64、Byte、Word、Longword(DWORD)、Character(Char)、Boolean、Enumerated(枚舉類型)和Subrange(子界類型)。
摘自 瓢蟲Monster