Crystal Reports Designer  

While 迴圈 (Crystal 語法)

While 迴圈可用來無限制地執行陳述式的固定區塊。

兩種 While 迴圈類型

迴圈類型 說明 範例
While ...Do While ...Do 迴圈負責驗算條件,如果條件為 True,則驗算 Do 後面的運算式。

驗算完成之後,它會再次驗算條件,如果條件為 True,便會再度驗算 Do 後面的運算式。

這個程序會繼續重複進行,直到條件為 False 時。

While condition Do
   expression
Do ...While 不論什麼情況之下,Do ...While 迴圈都會驗算運算式一次。

然後它會驗算條件,假如條件為 True,便會再次驗算運算式。這個程序會繼續重複進行,直到條件為 False 時。

Do
   expression
While condition
注意   While 迴圈可支援 Exit While 陳述式,立即從迴圈中退出。使用方法類似於 For 迴圈中的 Exit For。和 For 迴圈一樣,如果將 While 迴圈視為運算式,一定會傳回布林值 True。

While ...Do 迴圈範例

以下的範例會搜尋輸入字串中出現的第一個數字。假如找到數字,會傳回它在字串中的位置,否則會傳回 –1。在此範例中,將輸入字串明確地設定為字串常數,但是也可以將它設定為等於字串型別資料庫欄位。

例如,輸入字串「The 7 Dwarves」時,公式會傳回 5,也就是數字 7 的位置。

Local StringVar inString := "The 7 Dwarves";
Local NumberVar strLen := Length (inString);
Local NumberVar result := -1;
Local NumberVar i := 1;
While i <= strLen And result = -1 Do
(
   Local StringVar c := inString [i];
   If NumericText (c) Then
      result := i;
   i := i + 1;
);
result

請參閱

避免無限迴圈