home *** CD-ROM | disk | FTP | other *** search
/ Programmer 7500 / MAX_PROGRAMMERS.iso / CLIPPER / MISC / FFA.ZIP / FL.SEQ < prev    next >
Encoding:
Text File  |  1987-12-29  |  1.3 KB  |  39 lines

  1. \ FL.SEQ        File selection.                         by Tom Zimmer
  2.  
  3. ONLY FORTH DEFINITIONS ALSO
  4.  
  5. defer getfile       ( --- <a1> f1 )     \ return a1 filename addr and
  6.  
  7. ' 0 is getfile                          \ Default to failed
  8.  
  9. : file>tib      ( a1 --- )
  10.                 count 2dup type space
  11.                 2dup true rot rot over + swap
  12.                 do      i c@ ascii . =
  13.                         if      drop false leave
  14.                         then
  15.                 loop    >r dup span ! dup #tib ! >in off
  16.                 tib swap cmove r>
  17.                 if      ascii . span @ tib + c!
  18.                         span incr #tib incr
  19.                 then    ;
  20.  
  21. : GFL           ( --- )
  22.                 >in @ span @ 1- >
  23.                 if      getfile 0=
  24.                         abort" No filename specified"
  25.                         file>tib
  26.                 then    ;
  27.  
  28. : FILE          ( --- )
  29.                 GFL BL WORD $HOPEN  ABORT" File Open Error!"
  30.                 ERRORLINE OFF           \ reset last line variable
  31.                 LOADLINE OFF            \ reset file offset
  32.                 INLEN OFF ;             \ Empty input buffer
  33.  
  34. ' FILE    ALIAS OPEN    ( --- )
  35. ' FILE    ALIAS FL      ( --- )
  36.  
  37. ONLY FORTH DEFINITIONS ALSO
  38.  
  39.