home *** CD-ROM | disk | FTP | other *** search
/ The Datafile PD-CD 1B / DATAFILE_PDCD1B.iso / _pocketbk / pocketbook / opl / parse__opl < prev    next >
Text File  |  1994-10-13  |  1KB  |  44 lines

  1. rem by Mark Esposito
  2. rem Pelican Software
  3. rem This procedure will disect a file
  4. rem name piece by piece. You can get the piece
  5. rem you want by sending the Complete file name
  6. rem with path and sending a number to designate
  7. rem the part of the filename you need
  8.  
  9. rem Example:  loadm "parse$"
  10. rem           Dinit"Load file"
  11. rem           Dfile fil$,"Enter:",1
  12. rem           if dialog
  13. rem           p$=parse$:(fil$,3)
  14. rem           print p$
  15. rem           endif
  16.  
  17. rem          p$ can be any part of the filename
  18. rem syntax:  parse$:(fil$,1) = filesystem (Loc::,Rem::C:,etc...)
  19. rem          parse$:(fil$,2) = Device (M:,A:,B:,C:)
  20. rem          parse$:(fil$,3) = Pathname (\Bank\cc)
  21. rem          parse$:(fil$,4) = Filename (w/o extension)
  22. rem          parse$:(fil$,5) = Extension (.odb,.opl)
  23. rem          parse$:(fil$,6) = Filename+Extension
  24. rem
  25. rem fil$ must have 128 bytes reserved
  26.  
  27. PROC parse$:(fil$,req%)
  28. local b%(6),p$(128),rel$(8),fsys$(8),dev$(2),path$(128),fn$(12),ext$(4)
  29. p$=parse$(fil$,rel$,b%())
  30. fsys$=mid$(p$,1,b%(2)-1)
  31. dev$=mid$(p$,b%(2),b%(3)-b%(2))
  32. path$=mid$(p$,b%(3),b%(4)-b%(3))
  33. fn$=mid$(p$,b%(4),b%(5)-b%(4))
  34. ext$=mid$(p$,b%(5),4)
  35. if req%=1 :Return fsys$
  36. elseif req%=2 :return dev$
  37. elseif req%=3 :return path$
  38. elseif req%=4 :return fn$
  39. elseif req%=5 :return ext$
  40. elseif req%=6 :return fn$+ext$
  41. rem Add your own combinations here
  42. endif
  43. ENDP
  44.