home *** CD-ROM | disk | FTP | other *** search
/ ProfitPress Mega CDROM2 …eeware (MSDOS)(1992)(Eng) / ProfitPress-MegaCDROM2.B6I / BBS / RBBS_PC / MRG0619.ZIP / RSB50619.MRG < prev   
Encoding:
Text File  |  1990-06-23  |  2.5 KB  |  68 lines

  1. * ------------[ BLED merge (c) Ken Goosens ]-------------
  2. * Merge this against RBBSSUB5.BAS to produce RBBSSUB5.NEW
  3. * RBBSSUB5.BAS:  Date 5-21-1990  Size 88881 bytes
  4. * ------------[ Created 06-23-1990 23:40:38 ]------------
  5. * REPLACING old line(s) by new
  6. 63300 ' $SUBTITLE: 'BreakFileName - sub to split file name into components'
  7. ' $PAGE
  8. '
  9. '  NAME    -- BreakFileName
  10. '
  11. '  INPUTS  -- PARAMETER                    MEANING
  12. '             FileSpec$        FULL NAME OF FILE
  13. '             ForJoining       True IF WANT PARTS FORMATTED FOR
  14. '                                           FORMING FILE NAMES
  15. '  OUTPUTS -- DrvPath$         DRIVE AND PATH
  16. '             Prefix$          PREFIX OF FILE NAME
  17. '             Extension$       EXTENSION OF FILE NAME
  18. '
  19. ' (E.G. "C:\RBBS\ARCE.COM" HAS "C:\RBBS" AS DRIVE AND PATH,
  20. '                              "ARCE"    AS PREFIX OF THE FILE NAME, AND
  21. '                              "COM"     AS THE EXTENSION OF THE FILE NAME.
  22. '
  23. ' JOINED FORMAT IS C:\RBBS\,ARCE,.COM
  24. '
  25. '  PURPOSE -- To break a file name into its component parts
  26. '             of drive/path, prefix, and extension
  27. '
  28. '
  29.       SUB BreakFileName (FileSpec$,DrvPath$,Prefix$,Extension$,ForJoining) STATIC
  30.       CALL AllCaps (FileSpec$)
  31.       DrvPath$ = ""
  32.       Prefix$ = ""
  33.       Extension$ = ""
  34.       CALL TrimTrail (FileSpec$,"\")
  35.       WasL = LEN(FileSpec$)
  36.       IF WasL < 1 THEN _
  37.          EXIT SUB
  38.       CALL FindLast (FileSpec$,"\",WasX,WasY)
  39.       IF WasX < 1 THEN _
  40.          IF MID$(FileSpec$,2,1) = ":" THEN _
  41.             DrvPath$ = LEFT$(FileSpec$,1) : _
  42.             ZWasS = 3 _
  43.          ELSE ZWasS = 1 _
  44.       ELSE DrvPath$ = LEFT$(FileSpec$,WasX-1) : _
  45.            ZWasS = WasX + 1 : _
  46.            IF WasY = 1 THEN _
  47.               DrvPath$ = DrvPath$ + "\"
  48. * ------[ first line different ]------
  49.       WasX = INSTR(ZWasS,FileSpec$ + ".",".")                        ' EC061301
  50.       IF WasX < WasL THEN _
  51.          Extension$ = MID$(FileSpec$,WasX + 1)
  52.       IF ZWasS <= WasL THEN _
  53.          IF WasX >= ZWasS THEN _
  54.             Prefix$ = MID$(FileSpec$,ZWasS,WasX - ZWasS)
  55.       IF NOT ForJoining THEN _
  56.          EXIT SUB
  57.       IF LEN(DrvPath$) = 1 THEN _
  58.          IF DrvPath$ <> "\" THEN _
  59.             DrvPath$ = DrvPath$ + _
  60.                        ":"
  61.       IF INSTR(DrvPath$,"\") > 0 AND RIGHT$(DrvPath$,1) <> "\" THEN _
  62.          DrvPath$ = DrvPath$ + _
  63.                     "\"
  64.       IF LEN(Extension$) > 0 THEN _
  65.          Extension$ = "." + _
  66.                       Extension$
  67.       END SUB
  68.