home *** CD-ROM | disk | FTP | other *** search
/ Media Share 9 / MEDIASHARE_09.ISO / clarion / dirdemo.zip / PREPATH.CLA < prev   
Text File  |  1990-03-21  |  750b  |  27 lines

  1.          MEMBER()                 !PREPATH.CLA
  2.                          ! RETURNS ONE PATH UP
  3. PRE_PATH     FUNCTION(INP_PATH)
  4.  
  5. INP_PATH     STRING(60)
  6. RET_STRING   STRING(60)
  7.  
  8.   CODE
  9.     I# = LEN(CLIP(INP_PATH))
  10.  
  11.     LOOP X# = 1 TO I#                 ! BACK UP UNTIL \
  12.       IF SUB( CLIP(INP_PATH), -X#, 1 ) = '\'
  13.     BREAK
  14.       .      ! END IF SUB( CLIP(INP_PATH), -X#, 1 ) = '\'
  15.     .    ! END LOOP X# = 1 TO I#
  16.  
  17.     RET_STRING = SUB(INP_PATH, 1, LEN(CLIP(INP_PATH)) - (X# - 1) )
  18.  
  19.     IF LEN(CLIP(RET_STRING)) <> 3 AND SUB( CLIP(RET_STRING), -1, 1) = '\'
  20.       RET_STRING = SUB(RET_STRING, 1, LEN(CLIP(RET_STRING)) - 1 )
  21.     .    !IF LEN(CLIP(RET_STRING)) <> 3 AND SUB( CLIP(RET_STRING), -1, 1) = '\'
  22.  
  23.                          !MAKE SURE NO TRAILING \
  24.                          !UNLESS ROOT
  25.  
  26.     RETURN(RET_STRING)
  27.