Procedure.s CC_encrypt(text.s, key, reverse = 0) ;if reverse <> 0 then reverse the encryption (decrypt) Protected i, *letter.Character, *resultLetter.Character, result.s = Space(Len(text)) If reverse: key = 26 - key: EndIf If key < 1 Or key > 25: ProcedureReturn: EndIf ;exit if key out of range *letter = @text: *resultLetter = @result While *letter\c Select *letter\c Case 'A' To 'Z' *resultLetter\c = ((*letter\c - 65 + key) % 26) + 65 Case 'a' To 'z' *resultLetter\c = ((*letter\c - 97 + key) % 26) + 97 Default *resultLetter\c = *letter\c EndSelect *letter + SizeOf(Character): *resultLetter + SizeOf(Character) Wend ProcedureReturn result EndProcedure