Introduction

Important Note: This document describes the old, stand-alone version of INMEMO that was used on AMOS computers beginning in 1984 or so. The document has been reformated into HMTL and CHM formats for easy access by A-Shell programmers, but the contents of the document have not been updated since approximately 2002.

When INMEMO The INMEMO subroutine provides an easy way for programmers to store and manipulate variable-length text structures. Although these structures may include light-bar menus, help screens, and lookup tables, the most common and traditional use is to include free form, expandable memo pads within file maintenance programs. Typically, this would be used in a program like customer maintenance, in which you have many fixed length fields describing and categorizing the customer, but in which you also want to leave room for some additional comments. This can be done by simply creating a comments field, of say, 60 characters. The trouble with this approach is that 60 characters is a very significant increase in the size of the file record, yet it is not nearly long enough for much in the way of meaningful comments. What the customer seems to always want is unlimited comment space; the programmers are always telling him they can't do that because of storage limitations that he doesn't understand. He sees it as a programming limitation, which it is.

 

INMEMO was designed specifically to make both the customer and the programmer happy by making it easy to satisfy the wishes of the former within the time constraints of the latter. It solves the problem of having to allocate a huge amount of disk space by pooling the comment space among all the records in the file, and by compressing spaces. Records that have no comments use no space, leaving more for those records which have a large number of comments. It solves the problem of manipulating a large amount of text by allowing you to define a rectangular area of any size (up to the size of the screen), by providing VUE-like editing controls, and by allowing memo text to be scrolled through a smaller window (if necessary). It solves the programming hassle by doing all of the file handling for the auxiliary file internally; all you have to do is open and close the file.