Crystal Reports Designer  

For/Next 迴圈範例 (Basic 語法)

以下是 Crystal Reports 字串處理功能更詳細的範例。Caesar Cipher 是一個簡單的編碼原則,傳統上認為是 Julius Caesar 所發明的。在這個編碼中,單字中的每個字母都會以字母表中其後的第五個字元來取代。例如,Jaws 會變成 Ofbx。請注意 w 是以 b 來取代,因為字母表中 w 之後沒有五個字母,所以就從頭算起。

這裡的公式就是將 Caesar Cipher 應用到 Xtreme 資料庫的 {Customer.Customer Name} 欄位中:

Rem The Caesar cipher
Dim inString 'The input string to encrypt
inString = {Customer.Customer Name}
Dim shift
shift = 5
formula = ""
Dim i
For i = 1 To Len(inString)
   Dim inC, outC
   inC = Mid(inString, i, 1)
   Dim isChar, isUCaseChar
   isChar = LCase(inC) In "a" To "z"
   isUCaseChar = isChar And (UCase (inC) = inC)
   inC = LCase(inC)
   If isChar Then
      Dim offset
      offset = (Asc(inC) + shift - Asc("a")) Mod _
               (Asc("z") - Asc("a") + 1)
      outC = Chr(offset + Asc("a"))
      If isUCaseChar Then outC = UCase(outC)
   Else
      outC = inC
   End If
   formula = formula & outC
Next i

上例中有一個多行的 If 陳述式套疊於 For/Next 迴圈的陳述式區塊中。這個 If 陳述式負責更換單一字元的細節。例如,將字母視為與標點符號和空白不同。特別是,標點符號和空白並不會進行編碼。控制結構可套疊於其他的控制結構中,而控制結構的陳述式區塊也可納入多個陳述式。

請參閱

結束 For/Next 迴圈