home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 18 REXX / 18-REXX.zip / rxhll.zip / IO.REX < prev    next >
OS/2 REXX Batch file  |  1993-12-14  |  1KB  |  62 lines

  1.  
  2. /* #include <io.rex> */
  3.  
  4. Close: procedure
  5.    /**
  6.    ***  Close a file I/O stream
  7.    **/
  8.    parse arg file
  9.    message = stream(file,c,'CLOSE')
  10.    if (message <> 'READY:') & (message <> '') then
  11.       do
  12.       say 'Error: Close failure on' file'.' message
  13.       exit
  14.       end
  15.    return file
  16.  
  17.  
  18. Exists: procedure
  19.    /**
  20.    *** Return a Boolean indicating whether the file exists or not
  21.    **/
  22.    arg file
  23.  
  24.    file = stream(file,c,'QUERY EXIST')
  25.    if (file = '') then
  26.       return 0
  27.    else
  28.       return 1
  29.  
  30.  
  31. Open: procedure
  32.    /**
  33.    *** Open a file for READ, WRITE, APPEND or RANDOM (read/write)
  34.    **/
  35.    parse arg file, rw
  36.    rw = translate(rw)
  37.  
  38.    select
  39.       when rw = 'WRITE' then
  40.          do
  41.          file_ = stream(file,c,'QUERY EXIST')
  42.          if file_ <> '' then
  43.             '@erase "'file'" 2> NUL'
  44.          end
  45.       when rw = 'APPEND' then
  46.          rw = 'WRITE'
  47.       when rw = 'READ' then
  48.          rw = 'READ'
  49.       when rw = 'RANDOM' then
  50.          rw = ''
  51.       otherwise
  52.          rw = 'READ'
  53.    end /* select */
  54.  
  55.    message = stream(file,c,'OPEN' rw)
  56.    if (message \= 'READY:') then
  57.       do
  58.       say 'Error: Open failure on' file'.' message
  59.       return message
  60.       end
  61.    return file
  62.