Crystal Reports  

Do 循环(Basic 语法)

Do 循环可用于不确定次数地执行语句的某个固定块。

四种不同类型的 Do 循环

Do 循环的类型 解释 示例
Do While ... Loop Do While ...Loop 对条件求值,如果条件为真,则对条件后面的语句求值。

完成上述操作后,再次对条件求值,如果条件为真,则再次对语句求值。

它不断重复该过程,直到条件为 false 时为止。

Do While condition
   statements
Loop
Do Until ...Loop Do Until ...Loop 与 Do While ...Loop 相似,不同的是它一直对语句求值直到条件为真,而不是当条件为真时对语句求值。
Do Until condition
   statements
Loop
Do ...Loop While Do ...Loop While 只对语句求值一次。

然后对条件求值,如果条件为真,则再对语句求值。该过程持续进行,直到条件为 false 时为止。

Do
   statements
Loop While condition
Do ...Loop Until 与 Do ...Loop While 相似,不同的是它对语句求值直到条件为真时为止。
Do
   statements
Loop Until condition
注意   Do 循环支持可立即跳出循环的 Exit Do 语句。Exit Do 语句与 For/Next 循环中的 Exit For 相似。

Do While ...Loop 公式示例

下例搜索输入字符串中数字第一次出现的位置。如果发现了数字,则返回该数字的位置,否则返回 -1。在此示例中,输入字符串被显式设置为字符串常量,但它也可被设置为等于“字符串”类型的数据库字段。

例如,对于输入字符串“The 7 Dwarves”,公式返回 5,即数字 7 的位置。

Dim inString
inString = "The 7 Dwarves"
Dim i, strLen
i = 1
strLen = Len (inString)
formula = -1
Do While i <= strLen And formula = -1
   Dim c As String
   c = Mid (inString, i, 1)
   If IsNumeric (c) Then formula = i
   i = i + 1
Loop

另请参见

While 循环