MMO_RAW

Flag MMO_RAW may be combined with MMO_UWE (update without edit) to save the string contents of the TEXT parameter in a raw state, and with MMO_OTX (output to text) to retrieve the raw data into the TEXT parameter. In this mode, there is no formatting: no line breaking, no special interpretation of space compression, invisible headers, etc. Nor does it pay any attention to the coordinates or VSPEC specification.

The new raw mode is mainly intended to allow applications to tap into the variable-length storage capabilities of INMEMO, independent of the memo display and editing capabilities. In particular, it could be useful as a storage system for XTEXT.

Examples

! save TEXT$ (any length) raw to file TEST.MMO, return LINK

xcall INMEMO, MMO_UWE+MMO_RAW+MMO_SIL, TEXT$, "TEST.MMO", 0, 0, 0, 0, link, XPOS, VSPEC, MMOCLR, EXTCTL

 

! retrieve memo from LINK into TEXT$

xcall INMEMO, MMO_OTX+MMO_RAW+MMO_SIL, TEXT$, "TEST.MMO", 0, 0, 0, 0, LINK, XPOS, VSPEC, MMOCLR, EXTCTL

 

Note that the string retrieved from the file will be truncated to fit the TEXT$ destination variable. If using a dynamic string (S,0), you must pre-initialize it to a suitable max size, e.g. TEXT$ = FILL$(" ",MAX_MEMO).

See MMOSYM.DEF and MMOSYM.BSI for the flag definition. Also see THE sample program XTXMMO2 in EXLIB:[908,40] which demostrates the feature in conjunction with XTEXT.