home *** CD-ROM | disk | FTP | other *** search
- *****************************************************************
- FUNCTION ENCODE (in_string)
- *****************************************************************
-
- * Encodes passed string. Ignores non-alphanumeric characters
-
- * Copyright(c) 1991 -- James Occhiogrosso
-
- # define ADJVAL 30
-
- LOCAL counter := in_len := 0, next_char := out_string := ''
-
- IF in_string != NIL
-
- * Trim passed string and convert letters to upper case
- in_string := ALLTRIM(UPPER(in_string))
- in_len := LEN(in_string)
-
- * Reverse it, add ADJVAL to each character and double it
- FOR counter = 1 TO in_len
-
- * Get characters in reverse order
- next_char = SUBSTR(in_string, counter * -1, 1)
-
- * Add character to return string if numeric,
- * alphabetic, space, or underscore characters
-
- IF next_char == '.'.OR. next_char == '_'.OR. ;
- ISDIGIT(next_char) .OR. ISALPHA(next_char)
- out_string := out_string + ;
- CHR((ASC(next_char) + ADJVAL) * 2)
- ENDIF
- NEXT
- ENDIF
-
- RETURN out_string
-
-
-