home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
ftp.barnyard.co.uk
/
2015.02.ftp.barnyard.co.uk.tar
/
ftp.barnyard.co.uk
/
cpm
/
walnut-creek-CDROM
/
CPM
/
UTILS
/
DIRUTL
/
MENU.DQC
/
MENU.DOC
Wrap
Text File
|
2000-06-30
|
7KB
|
199 lines
Menu 25 November 1982
Menu is a general purpose menu processor for CP/M. It can join
programs and systems written in various languages together into a
single coherent menu-driven structure. Menu is invoked from CP/M
by typing:
menu <menufile>
where <menufile> is expected to be a file whose file name ends in
the extension '.MNU'. The '.MNU' extension does not need to be
given. The <menufile> must consist of lines describing a screen
to be displayed, a set of single-character responses to that
screen, and a command line for each response. The associated
command line is executed by Menu when the user has made a
permissible response.
The menu file consists of two main sections. First, the screen to
be displayed. Second, the allowed responses to the menu and CP/M
command lines for these responses.
The first lines in the menu file are simply the screen to be
displayed. The first line will usually be a series of characters
to clear the screen. The next lines are an image of the menu
screen.
These image lines are followed by a single period ('.') on a line
by itself. This line is not displayed; it is only used to end the
screen image. The cursor is left on the screen at the end of the
last screen line; that is, at the character position immediately
following the last character in the line before the line
containing a single period.
The last section is a series of lines describing the responses
allowed and the CP/M command lines to be executed based on those
responses. Each line consists of three fields. These are a
response character, a return character and a CP/M command line.
The response character is a single character representing one of
the allowable responses. This is the character to be typed by the
user to select that particular response. Upper and lower case
response characters are treated as if they were all the same
case. A blank can be used to represent a response of just a
<RETURN>.
The response character is followed by a return character. This is
a '<' if the system is to return to this particular menu
immediately after executing the CP/M command line. If the system
should not automatically return to this menu, the character
following the allowable response character is a '>'.
- 1 -
Menu 25 November 1982
The rest of the line, that portion following the '>' or '<', is
the CP/M command line to be invoked if the response character
which began this line is the actual character selected. For
readability, blanks may be used freely after the response
character as well as the '<' and '>' characters.
For example :
=======================================================
<< End of Period Processing >>
< 1 > End of Day
< 2 > End of Week
< 3 > End of Month
< 4 > End of Year
< 5 > Return to Master Menu
Your Selection ?
.
1 < ENDDAY
2 < ENDWEEK
3 < ENDMONTH
4 < ENDYEAR
5 > MASTMENU
=======================================================
Everything from
"<< End of Period Processing >>"
through
"Your Selection ? "
would appear on the screen. The cursor would appear just after
the '?' in "Your Selection ? ".
The user may then choose one of the selections. The allowable
responses in this example are the characters '1', '2', '3', '4',
and '5'. Menu will not accept anything other than one of these
characters or a ^C.
If '1', '2', '3' or '4' is typed, the programs 'ENDDAY.COM',
'ENDWEEK.COM', 'ENDMONTH.COM' and 'ENDYEAR.COM', respectively,
- 2 -
Menu 25 November 1982
would be executed. For each of these, this menu would appear
again after the selected program is finished. If option '5' is
chosen, the program 'MASTMENU.COM' is called, and will not
return.
Menus can, of course, invoke other menus for a heirarchical menu
structure.
Since Menu uses CP/M's submit facility, the system drive must not
be write protected. Using the submit facility also means that if
CP/M detects a character at the console while preparing to
process a submitted command line, the entire submitted batch will
be aborted. There seems to be no way to stop this, short of
patching CP/M. To avoid this hole as much as possible, Menu will
execute CP/M command lines directly, and will use the submit
facility only to return to a menu afterwards. Menu may itself be
called within a submit file without disturbing the ongoing
submitted process. However, the standard CP/M program Submit will
make it impossible to return to any previous menus.
For information or to report bugs, contact:
Concept Development Systems
Compuserve (Micronet) #70235,403
- 3 -