以下是 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 陳述式負責更換單一字元的細節。例如,將字母視為與標點符號和空白不同。特別是,標點符號和空白並不會進行編碼。控制結構可套疊於其他的控制結構中,而控制結構的陳述式區塊也可納入多個陳述式。