/IF NOT DEFINED (INSTREAM_QRPGLEH) /DEFINE INSTREAM_QRPGLEH /IF DEFINED (LATE_BIND) d InStream ds qualified d setInStream * procptr d readStream * procptr d readLnStream * procptr d getLength * procptr /ENDIF /*===================================================================*/ /* INSTREAM */ /* lesen StreamFile */ /* analog zu FileInputStream */ /*-------------------------------------------------------------------*/ /IF DEFINED (LATE_BIND) D setInStream pr n EXTPROC(Instream.setInStream) /ELSE D setInStream pr n EXTPROC('INSTREAM_setInStream') /ENDIF /* opened streamfile is closed */ /* checks access and returns TRUE if exists, else FALSE */ D path 128a value d varying /*-------------------------------------------------------------------*/ /IF DEFINED (LATE_BIND) D readStream pr 1024a EXTPROC(InStream.readStream) d varying /ELSE D readStream pr 1024a EXTPROC('INSTREAM_readStream') d varying /ENDIF /* opens streamfile, if not opened and reads up to 1024 byte of data */ /* at end of data < 1024 byte are returned and file is closed */ /*-------------------------------------------------------------------*/ /IF DEFINED (LATE_BIND) D readLnStream pr 1024a EXTPROC(InStream.readLnStream) d varying /ELSE D readLnStream pr 1024a EXTPROC('INSTREAM_readLnStream') d varying /ENDIF /* reads one line of data (max1024 byte) */ /* returns zero byte at end of data */ /*-------------------------------------------------------------------*/ /IF DEFINED (LATE_BIND) D getLength pr 10i 0 EXTPROC(InStream.getLength) /ELSE D getLength pr 10i 0 EXTPROC('INSTREAM_getLength') /ENDIF /* get number of bytes provided by last read */ /* used to determine trailing blanks */ /*-------------------------------------------------------------------*/ /ENDIF