Progress.IO.MemoryInputStream class

This class is responsible for reading data from memory. It acts as a wrapper for MEMPTR read operations.

Progress.IO.MemoryInputStream extends Progress.IO.InputStream:

MemInputStream

As with other input stream classes, the MemoryInputputStream class maintains its own internal read position and eliminates the need to keep track of MEMPTR read positions.

Serializable:

No

Constructor

PUBLIC MemoryInputStream ( INPUT mos AS Progress.IO.MemoryOutputStream )
PUBLIC MemoryInputStream ( INPUT mem AS MEMPTR )
mos
An initialized MemoryOutputStream object that this input stream object will operate on.
mem
An initialized MEMPTR variable that this input stream object will operate on.

Super Class

Progress.IO.InputStream class

Interfaces

This class does not implement an interface.

Public Properties

Public Methods

Public Events

This class does not define events.

Examples

READ & Write decimal and integer methods
DEFINE VARIABLE testDate AS DATE INITIAL "4/10/56".
DEFINE VARIABLE testDouble AS DECIMAL INITIAL 42.42.
DEFINE VARIABLE testFloat AS DECIMAL INITIAL 42.42.
DEFINE VARIABLE testLong AS INTEGER INITIAL 42.
DEFINE VARIABLE testShort AS INTEGER INITIAL 42.
DEFINE VARIABLE testString AS CHARACTER INITIAL "Progress".
                
DEFINE VAR InMs AS Progress.io.MemoryInputStream.

outMs  = NEW Progress.io.MemoryOutputStream().
outMs:WriteLong(INTEGER( testDate )).
outMs:WriteDouble(testDouble).
outMs:WriteFloat( testFLOAT).
outMs:WriteLong(testLONG).
outMs:WriteShort(testSHORT).
outMs:Write(testString).   
InMs = NEW Progress.io.MemoryInputStream(INPUT outMs:Data ). 

MESSAGE   
 InMs:ReadLong()    SKIP
 InMs:ReadDouble()  SKIP
 InMs:ReadFloat()   SKIP
 InMs:ReadLong()    SKIP
 InMs:ReadShort()   SKIP
 InMs:ReadString()  VIEW-AS ALERT-BOX.
Read & Write string methods
DEFINE VAR InMs1   AS Progress.io.MemoryInputStream. 
DEFINE VAR InMs2   AS Progress.io.MemoryInputStream. 
DEFINE VAR outMs   AS Progress.io.MemoryOutputStream. 
DEFINE VAR len     AS INT64.
DEFINE VAR ret     AS INT64.
DEFINE VAR ch      AS CHAR.
DEFINE VAR lc1     AS CHAR.

outMs  = NEW Progress.io.MemoryOutputStream().
outMs:Write("PROGRESS1",YES).
outMs:Write("PROGRESSx2",YES).

InMs1 = NEW Progress.io.MemoryInputStream(INPUT outMs). 
MESSAGE InMs1:ReadSTRING() VIEW-AS ALERT-BOX.
MESSAGE InMs1:ReadLONGCHAR() VIEW-AS ALERT-BOX.

See also

OpenEdge Development: Programming Interfaces for more information about MEMPTR.

Progress.IO.MemoryOutputStream class