home *** CD-ROM | disk | FTP | other *** search
/ Liren Large Software Subsidy 5 / 05.iso / a / a013 / 1.ddi / SOURCE.EXE / F_ENCODE.PRG < prev    next >
Encoding:
Text File  |  1991-01-25  |  1.1 KB  |  39 lines

  1. *****************************************************************
  2. FUNCTION ENCODE (in_string)
  3. *****************************************************************
  4.  
  5. * Encodes passed string. Ignores non-alphanumeric characters
  6.  
  7. * Copyright(c) 1991 -- James Occhiogrosso
  8.  
  9. # define ADJVAL  30
  10.  
  11. LOCAL counter := in_len := 0, next_char := out_string := ''
  12.  
  13. IF in_string != NIL
  14.  
  15.     * Trim passed string and convert letters to upper case
  16.     in_string := ALLTRIM(UPPER(in_string))
  17.     in_len := LEN(in_string)
  18.  
  19.     * Reverse it, add ADJVAL to each character and double it
  20.     FOR counter = 1 TO in_len
  21.  
  22.          * Get characters in reverse order
  23.          next_char = SUBSTR(in_string, counter * -1, 1)
  24.  
  25.          * Add character to return string if numeric,
  26.          * alphabetic, space, or underscore characters
  27.  
  28.          IF next_char == '.'.OR. next_char == '_'.OR. ;
  29.             ISDIGIT(next_char) .OR. ISALPHA(next_char)
  30.              out_string := out_string + ;
  31.                            CHR((ASC(next_char) + ADJVAL) * 2)
  32.          ENDIF
  33.     NEXT
  34. ENDIF
  35.  
  36. RETURN out_string
  37.  
  38.  
  39.