Overview of MENU
Using MENU
Summary of MENU Commands
Programming MENU.CPR Files
MENU.CPR Commands
MENU Programming Command Summary
MENU's Relationship to the ZCPR2 System
MENU Error Messages
MCHECK -- MENU.CPR Syntax Checker
:Overview of MENU

    MENՠ i� th� ZCPR� Menu-Oriente� Comman� Preprocessor��  I� �
act� a� � front-en� t� ZCPR2�� providin� � menu-oriente� use� �
interfac� t� ZCPR2��  It� functio� ca� b� represente� b�� th� �
following diagram:
                   ------    ------    ------    ------
                   |M   |    |Z   |    |B   |    |P   |
    User           | E  |    | C  |    | D  |    | g  |
    Menu      ---->|  N |--->|  P |--->|  O |--->|  m |
    Command        |   U|    |   R|    |   S|    |   s|
                   |    |    |   2|    |    |    |    |
                   ------    ------    ------    ------

    Th� "Use� Men� Command� i� � singl� characte� tha� th� use� �
strike� whic� instruct� MEN� t� perfor� � function��  Onc� MEN� �
begin� processin� thi� function�� i� build� � comman� lin� fo� �
ZCPR2�� optionall�� askin� th� use� fo� furthe� inpu� (suc� a� � �
fil� name)�� an� the� passe� th� comman� lin� t� ZCPR�� vi� th� �
Multipl� Comman� Lin� Buffer��  ZCPR� the� run� th� comman� line� �
and, when completed, returns to MENU.

    Hence�� i� � nutshell�� MEN� build� comman� line� base� o� �
simpl� inpu� fro� th� user��  Th� use� nee� neve� kno� wha� th� �
actua� comman� lin� is�  Th� comman� lin� itsel� i� alway� o� th� �
form:

         <command> <optional user input>;MENU <menu options>

    A� a� example� � comman� buil� b� MEN� t� ru� XDI� wit� use� �
inpu� fo� � fil� nam� specification�� coul� loo� lik� th� �
following:

         XDIR <user input>;MENU


    Whe� MEN� i� executed� i� look� fo� th� fil� MENU.CP� i� th� �
curren� directory��  I� i� find� one�� i� load� i� an� begin� �
processing.  If it does not find one, it simply exits.

    Th� MENU.CPҠ fil� ca� contai� u� t� 25�� menu� t� b� �
processe� b� MENU��  Th� defaul� conditio� fo� MEN� i� t� begi� �
processin� a� th� firs� men�� i� MENU.CPR�� bu� option� ar� �
availabl� t� selec� anothe� menu��  I� particular�� th� Men� �
Option� are:

         W    - Wait for User to Strike a Key before beginning
         nn   - Begin Processing at Menu nn

    The full MENU command line is structured as follows:

         MENU [W][nn]

Option� ar� enclose� i� [� bu� mus� b� place� i� th� orde� �
specified, i.e., W, if present, must be first.

    I� th� Wai� Optio� i� used�� i� i� alway� first�  Th� numbe� �
follow� Wai� immediately�� an� ther� ar� n� space� betwee� them�

         MEN� �              <-- Wai� an� Star� a� Firs� Menu
         MENU W4             <-- Wait and Start at 4th Menu
         MENU 4              <-- Start at 4th Menu

    Th� use� an� men� programme� nee� no� b� concerne� wit� thi� �
mos� o� th� time�  Menu� shoul� b� se� u� t� star� wit� th� firs� �
men� b� default�� s� tha� onl� th� comman� "MENU� i� necessar� t� �
invok� th� desire� menu��  Th� option� describe� abov� ar� use� �
primaril�� b� MEN� itsel� whe� i� build� th� comman� lin� s� tha� �
th� use� wil� retur� wit� a� optiona� wai� an� t� th� men�� tha� �
h� jus� cam� from��  Hence�� i� th� use� wa� i� th� 4t� menu� �
selecte� th� � comman� (fo� XDIR)�� an� th� Men� Programme� ha� �
se� u� th� XDI� comman� t� wai� o� retur� s� th� use� coul� tak� �
hi� tim� an� loo� a� th� director� display�� the� MENՠ woul� �
appen� th� comman� "MEN� W4� t� th� en� o� th� comman� lin� i� �
builds.

    MENՠ itsel� i� � CO� file�� lik� an� othe� progra� unde� �
ZCPR2�  Unlik� mos� othe� programs� however� i� generate� comman� �
line� t� b� execute� b� ZCPR� an� append� � MEN� comman� t� th� �
en� o� eac� o� th� comman� line� i� generate� s� tha� ZCPR�� wil� �
return to MENU when finished.  In this way a loop is set up:

                   -->--+->- MENU ->- ZCPR2 ->-+
                        ^                      v
                        |                      |
                        +-<- Command Line -<---+

    Onl�� MENՠ itsel� ca� terminat� thi� loop��  I� th� MEN� �
programme� wishes�� h� ca� se� u� th� MENU.CP� fil� s� tha� thi� �
loo� wil� neve� b� exited�� o� h� ca� se� u� th� fil� t� allo� �
anyon� t� exi� a� an� tim� o� jus� � specia� perso� wh� know� � �
passwor� t� exi� whe� h� wishe� to��  Ther� i� � lo� o� �
flexibilit�� designe� int� th� system�� an� i� wil� b� discusse� �
later in the section on programming MENU.CPR files.

    I� � nutshell�� then�� � MENU.CP� fil� ca� b� se� u� t� �
execut� an� ZCPR� comman� o� sequenc� o� commands��  Th� MENU.CP� �
fil� ca� als� b� se� u� t� no� allo� th� use� t� leav� MENU�� t� �
allo�� hi� t� leav� MEN� a� will�� o� t� allo� hi� t� leav� MEN� �
onl� i� h� know� � password.

    Thi� HEL� fil� i� divide� int� tw� basi� parts��  Th� inf� �
section� o� "Usin� MENU� an� "Summar� o� MENՠ Commands�� ar� �
designe� t� b� rea� b� � perso� wantin� t� us� MENՠ bu� no� �
wantin� t� lear� ho� MEN� work� o� ho� t� progra� it��  Thes� �
section� describ� ho� t� mov� fro� on� men� t� another�� ho�� t� �
issu� MENՠ commands�� an� ho� t� leav� MEN� i� th� optio� i� �
presente� t� him.

    Th堠 othe� section� o� thi� HELР fil� describ堠 th� �
programmin� aspect� o� MEN� an� ar� intende� t� b� use� a� a� �
onlin� referenc� fo� th� MENՠ programmer��  Th� MENՠ comman� �
programmin� summar�� i� especiall� usefu� i� tha� i� provide� � �
summar�� o� th� command� whic� th� MEN� programme� ma�� issu� t� �
MEN� withi� � MENU.CPR.
:Using MENU

    When you first invoke MENU, one of three things will happen:

         1�� �� MENՠ wil� appea� an� b� page� u� t� fil� th�
              screen� � comman� promp� wil� appea� a� th� botto�
              o� th� menu

         2�� � MEN� wil� appea� an� no� b� page� u� t� fil� th�
              screen� � comman� promp� wil� appea� a� th� botto�
              o� th� menu

         3�� � comman� promp� wil� appea� wit� n� men� (thi� i�
              called the Expert Mode)

    I� a� an� tim� you� Men� Displa� i� garble� o� yo� wan� t� �
se� th� curren� Men� (a� sometime� happen� whe� yo� ar� i� Exper� �
Mode)� jus� strik� th� RETUR� key�  Th� RETUR� ke� refreshe� you� �
menu at all times.


    Th� promp� whic� appear� a� th� botto� o� you� Men� displa� �
has the following general form:

Command (<CR>=Menu,^C=ZCPR2,*=1st Menu,<=Prev Menu,>=Next Menu) -

    A� � mentione� i� th� introduction�� ther� ca� b� u� t� 25� �
menu� i� on� MENU.CP� file��  Th� MEN� comman� promp� varie� t� �
reflec� this�  Fo� instance� i� onl� on� Men� wa� presen� an� yo� �
wer� no� give� th� optio� t� abor� ou� o� MEN� t� ZCPR2� the� th� �
Men� Comman� promp� woul� tak� it� simples� form� lookin� like:

Command (<CR>=Menu) -

    Yo�� ca� strik� th� RETUR� ke� a� thi� tim� t� refres� th� �
Men�� Displa� o� yo� ca� strik� th� characte� o� � Men�� Option�  �
Thes� ar� you� onl� choices�� an� strikin� � characte� whic� i� �
no� th� RETURРke�� o� � men� optio� result� i� th� messag� �
"Invalid Command" being displayed.

    I� th� MENU.CP� programme� gav� yo� th� optio� t� exi� t� �
ZCPR� an� ther� i� onl� on� Men� i� th� MENU.CP� file�� the� you� �
comman� lin� wil� loo� lik� this:

Command (<CR>=Menu,^C=ZCPR2) -

    Yo�� no� hav� th� additiona� optio� o� abortin� t� ZCPR�� b� �
strikin� Control-� (hol� dow� o� th� Control�� o� CTRL�� ke�� an� �
strik� th� lette� C)��  Thi� wil� retur� yo� t� ZCPR� an� exi� �
MENU�� leavin� yo� wit� th� abilit� t� issu� an� availabl� ZCPR� �
command.

    On� brie� not� o� optio� letter� befor� goin� on�  I� on� o� �
you� option� i� � lette� i� th� rang� fro� � t� Z�� the� cas� i� �
no� significant�� an� yo�� ca� invok� th� optio� A�� say�� b� �
striking an upper- or lower-case A.


    I� ther� i� mor� tha� on� men� i� you� MENU.CPҠ file�� th� �
comman� lin� option� becom� slightl� mor� complex�� bu� the� ar� �
stil� quit� eas� t� follow.

    I� th� followin� examples�� � a� assumin� tha� th� optio� t� �
exi� t� ZCPR� i� off� s� th� "^C=ZCPR2� optio� wil� NO� appear.

    I� yo� ar� a� th� firs� men� i� th� file�� you� comman� lin� �
wil� loo� lik� th� following:

Command (<CR>=Menu,>=Next Menu) -

    T� advanc� t� th� nex� menu�� yo� ca� strik� th� ">� o� th� �
".� character��  O� mos� keyboards�� ">� i� th� shif� o� th� "."� �
s� MEN� allow� yo� t� mov� easil� withou� havin� t� worr�� abou� �
shifting the keyboard all the time.


    I� yo� ar� a� th� las� men� i� th� file�� you� comman� lin� �
will look like the following:

Command (<CR>=Menu,*=1st Menu,<=Prev Menu) -

    Thi� allow� yo� t� strik� th� "*� characte� t� jum� bac� t� �
th� firs� men� i� you� MENU.CP� file��  I� "<� o� ",� i� stuc� �
("<� i� usuall� th� shif� o� th� ",")�� the� yo� wil� bac� u� on� �
menu to the previous menu in the file.

    I� yo�� ar� somewher� i� th� middl� o� th� MENU.CPҠ file� �
you� comman� lin� will� a� on� woul� expect� loo� lik� this:

Command (<CR>=Menu,*=1st Menu,<=Prev Menu,>=Next Menu) -

    Again�� "*�� wil� g� directl� t� th� firs� menu�� "<� o� ",� �
wil� g� t� th� previou� menu�� an� ">� o� ".� wil� g� t� th� nex� �
menu.  Striking the RETURN key will refresh the menu display.

    On� las� optio� yo� hav� unde� MEN� involve� acces� t� � �
Syste� Menu��  Thi� men� i� specia� i� tha� ther� i� onl� on� wa� �
to get to it -- via the "$" command.

    Th� Syste� Men� i� intende� t� giv� privelege� user� acces� �
t� specia� command� tha� th� res� o� th� user� can'� run��  I� � �
Syste� Men� i� available�� MEN� wil� respon� t� th� "$�� comman� �
with the prompt:

         Pass?

    Yo� ar� give� on� chanc� t� typ� i� th� correc� passwor� t� �
ente� th� Syste� Menu��  I� yo� ar� wrong� th� messag� "Pas� Err� �
wil� appea� an� yo� wil� b� returne� t� th� men� yo� cam� from�  �
I� yo� ar� correct�� yo� wil� ente� th� Syste� Menu�  Physically� �
th� Syste� Men� i� alway� th� las� men� i� th� file�� an� it� �
command prompt is:

Command (<CR>=Menu,*=1st Menu,<=Prev Menu) -

    I� yo� ar� a� th� men� jus� befor� th� Syste� Menu�� th� ">� �
wil� no� functio� t� allo� yo� t� ente� it�� eve� th� ther� �
technicall� i� � "Nex� Menu"�  Th� ">� optio� i� th� comman� lin� �
wil� no� appear��  A� � state� before�� th� onl� wa� t� ente� � �
System Menu is thru the "$" command.

    So� i� summary� movin� abou� withi� MEN� i� quit� easy�  "*� �
move� yo� t� th� firs� menu� "<� t� th� previou� menu� ">� t� th� �
nex� menu� an� "$� t� th� Syste� Menu.

:Summary of MENU Commands

    The full Menu Command Line looks like the following:

Command (<CR>=Menu,^C=ZCPR2,*=1st Menu,<=Prev Menu,>=Last Menu) -

    The Menu Commands are:

         Command   Function

         <CR>      Refresh Menu Display (RETURN Key)
         ^C        Exit to ZCPR2 (Control-C)
         *         Jump to the First Menu
         < or ,    Jump to the Previous Menu
         > or .    Jump to the Next Menu
         $         Jump to the System Menu (Password Required)
         other     Menu Option or Invalid Command; letters are
                        automatically capitalized, so a=A

:Programming MENU.CPR Files

    Th� MENU.CP� fil� i� simpl� � tex� fil� whic� ma� b� create� �
wit� an� conventiona� CP/͠ editor�� includin� WordStar��  MEN� �
ignore� th� Mos� Significan� Bi� o� al� bytes�� s� editor� lik� �
WordStar� whic� occasionall� se� thi� bit� ca� b� used.

    Al� MENU.CPҠ file� hav� th� sam� genera� structure��  Th� �
firs� lin� i� eithe� � globa� optio� lin� o� th� beginnin� o� � �
men�� display��  I� � globa� optio� line�� i� begin� wit� th� �
characte� "-"�� an� thi� characte� i� immediatel�� followe� b� �
globa� optio� characters��  Th� globa� optio� line�� the� look� �
lik� this:

-options


    Afte� th� globa� optio� line�� i� any� come� th� firs� menu�  �
Each menu is structured as follows:
                        #options
                             <Text of Menu Display>
                        #
                        menu commands

    The following are two sample Menu File structures:

              -options                 #options
              #options                      <Text>
                   <Text>              #
              #                        commands
              commands                 ##
              #options
                   <Text>
              #
              commands
              ##

    Ther� ar� onl� fiv� optio� characters��  I� usin� them� cas� �
is not significant.  These option characters are:

         Option    Function
            C      Display Command Line to User
            D      Display Menu to User
            P      Page Out Menu Display
            X      Allow User to Exit to CP/M

    Th� � optio� display� th� comman� lin� buil� b� MEN� t� th� �
user��  Thi� optio� i� primaril� intende� fo� debuggin� purposes� �
t� allo� th� programme� t� se� wha� command� ar� bein� built�  I� �
i� instructiv� t� th� user� however� an� ma� b� employe� fo� tha� �
purpose as well.

    Th� � optio� display� th� men� t� th� user��  I� th� displa� �
functio� i� no� turne� on�� w� ar� i� Exper� Mode�� an� th� �
command� ar� availabl� withou� � men�� display��  RETURN�� o� �
course, can be used to invoke the display if necessary.

    Th� Р optio� page� ou� th� men� displa� i� i� i� invoked�  �
I� th� pag� functio� i� engaged�� the� th� MEN� progra� output� �
<CRLF�� combination� unti� 2� line� hav� bee� printe� o� th� �
screen�  Thi� i� somewha� mor� attractiv� an� eliminate� ol� tex� �
fro� previou� commands�� allowin� th� use� t� concentrat� o� hi� �
curren� se� o� options��  However�� i� i� annoyin� i� th� use� i� �
accessin� th� system�� say� a� 30� bau� vi� � dia� up�  I� i� fo� �
thi� reaso� tha� � gav� th� MEN� programme� th� optio� t� tur� �
this option off.

    Finally� th� � optio� enable� th� facilit� whic� permit� th� �
user to type ^C and return to ZCPR2.


    Whe� MEN� firs� come� up� al� option� ar� turne� off:

         C is OFF -- no command display to user
         D is OFF -- no menu display to user
         P is OFF -- no menu display paging
         X is OFF -- user cannot exit to CP/M

    Th� globa� option� line�� which�� i� present�� i� th� firs� �
lin� o� th� file�� turn� o� thes� option� fo� th� cours� o� th� �
session in general.  That is, if a global options line like

         -DPx

i� use� (not� cas� i� insignificant)�� the� men� display� paging� �
an� exi� t� ZCPR� wil� b� availabl� fo� al� menus��  Th� globa� �
options line affects all menus.


    Th� globa� option� line�� then�� turn� o� th� indicate� �
option� fo� al� menu� i� general��  However� th� sam� option� ma� �
b� presente� o� th� firs� lin� o� eac� men� immediatel� afte� th� �
"#�� characte� t� temporaril� complemen� th� curren� optio� fo� �
onl� tha� menu.

    I� a� optio� i� NO� include� i� th� globa� option� line�� i� �
i� turne� OF� fo� al� menu� i� general�  Th� default� selecte� b� �
usin� th� globa� option� lin� ar� overridde� o� � per-men� basi� �
b� th� loca� men� options.

    Example:


         -dpx
         #x
              This menu is displayed and paged, but no
              exit to ZCPR2 is permitted
         #
         commands
         #dx
              This menu is not displayed and the user may not
              exit to ZCPR2.
         #
         commands
         #c
              Thi� men� i� displayed� paged� an� th� use� ma�
              exit to ZCPR2.  Additionally, the MENU-generated
              commands are printed to the user.
         #
         commands
         ##

    So�� an�� optio� tha� ma� appea� o� th� globa� option� lin� �
ma� als� appea� o� th� option� lin� fo� � particula� menu��  Th� �
reverse�� ho
wever�� i� no� true��  Th� men� option� lin� support� �
on� additiona� option�� viz�� "$"��  Thi� optio� declare� th� �
following menu to be a System Menu.

    I� programmin� � MENU.CP� file�� yo� MUS� plac� th� Syste� �
Men� a� th� las� men� i� th� file�  T� d� otherwis� i� flagge� a� �
a� error�  Th� followin� illustrate� � MENU.CP� fil� containin� � �
Syste� Menu:
         -dp
         #
              Thi� men� i� displaye� an� paged� bu� th� use� ma�
              not exit to ZCPR2.
         #
         commands
         #$x
              This is a System Menu, and it is displayed, paged,
              and the user may exit to ZCPR2.
         ##

    I� � men�� i� � Syste� Menu�� th� "$�� characte� mus� �
immediatel� follo� th� "#"�  I� th� cas� o� th� lette� option� i� �
bot� th� globa� an� loca� cases�� th� orde� i� no� importan� �
("dpx� mean� th� sam� a� "xpd").

    GENIN� i� use� t� defin� th� passwor� use� t� ente� � Syste� �
Menu��  Thi� i� th� Privilege� Use� Passwor� i� th� GENINӠ Menu�  �
Not� tha� thi� passwor� ca� b� upper- an� lower-case� an� cas� i� �
significant.

    Thi� informatio� sectio� ha� describe� th� structur� o� th� �
MENU.CP� fil� an� ho� t� se� u� a� man� menu� a� desired��  Wha� �
ha� no� bee� discusse� i� th� natur� o� th� command� followin� �
the menu displays.  This is discussed in the next section.


:MENU.CPR Commands

    Th� command� i� th� MENU.CP� fil� follo�� ar� relativel� �
simpl� structure�  Eac� comman� occupie� onl� on� line� an� blan� �
line� i� th� comman� grou� ar� no� permitted��  Th� comman� lin� �
is structured as follows:

         l[o][command]["Prompt]

where:
         l is the single character used to invoke the command
              note that it may be upper- or lower-case
         o is an opening option, which is one of:
              :nn -- go to Menu nn
              !   -- have MENU wait when the command is finished
         command is an optional ZCPR2 command; note that if
              the option is ":nn", then a command here makes no
              sense
         "Prompt is a command to MENU to print a prompt and wait
              for user input to fill out the command line


    Th� ":nn� optio� tell� MEN� t� mov� t� � differen� men�� i� �
the MENU.CPR file.  The first menu is number 1.  Example:

         -dpx
         #
              1st Menu:  A - Goto Menu 2     3 - Goto Menu 3
         #
         a:2
         3:3
         #
                   2nd Menu Command: 3 - Goto Menu 3
         #
         3:3
         #x
                   3rd Menu Command: 2 - Goto Menu 2
         #
         2:2
         ##

    I� th� firs� menu� th� use� ma� strike:

         "a� o� "A� t� got� Men� 2
         "3� t� got� Men� 3
         ">�� o� ".� t� got� th� nex� men� (Men� 2)
         ^� t� got� ZCPR2

    In the second menu, the user may strike:

         "3" to goto Menu 3
         "*" or "<" or "," to goto Menu 1
         ">" or "." to goto Menu 3
         ^C to goto ZCPR2

    In the third menu, the user may strike:

         "2" or "<" or "," to goto Menu 2
         "*" to goto Menu 1


    Th� "!�� optio� place� � "W� i� th� MENՠ comman� lin� �
(remembe� fro� before?)��  Thi� cause� MEN� t� paus� an� as� th� �
use� t� "Strik� An� Key� befor� continuing��  I� thi� way�� i� � �
comman� generate� informatio� t� b� rea� b� th� use� befor� MEN� �
clear� hi� screen�� th� "!� optio� ma� b� use� t� giv� th� use� �
al� th� tim� h� want� t� rea� thi� display.

    Th� "Promp� suffi�� cause� MEN� t� accep� � tai� t� th� �
comman� lin� i� i� buildin� s� tha� th� use� ca� inpu� argument� �
for the command.  The Prompt is simply text to prompt the user.

    Examples:


         -dxp
         #
              A - Run XDIR without Pause or Input
              B - Run XDIR and Pause before Returning to MENU
              C - Run XDIR, Allow User Input, and Pause before
                   Returning to MENU
              Z - Run Any ZCPR2 Command and Pause before
                   Returning to MENU

         #
         z!"Enter Command Line --
         axdir
         b!xdir
         c!xdir "Enter Ambiguous File Name --
         ##

    Not� th� Spac� righ� befor� th� "Promp� form�  Thi� spac� i� �
significan� t� kee� th� comman� an� use� inpu� fro� runnin� �
together�  W� wan� thi� "ru� together� fo� th� � command.

    Yo�� ca� hav� a� man� command� a� th� printabl� ASCI� �
characte� se� (withou� lower-cas� letter� an� th� MENՠ comman� �
characters� wil� allow��  You� text�� however� fo� eac� men� mus� �
b� abl� t� fi� o� � scree� wit� th� comman� promp� a� th� bottom�  �
Thi� typicall� mean� tha� th� tex� canno� excee� 2� lines.

    MENՠ fit� i� nicel� t� th� ZCPR� Syste� o� programs��  Th� �
informatio� sectio� o� "MENU'� Relationshi� t� th� ZCPR�� System� �
explain� ho� MEN� an� th� othe� ZCPR� program� wor� together.

    ɠ hav� no� discusse� erro� message� yo� ca� encounte� unde� �
MEN� i� thi� informatio� section��  Tha� come� late� i� th� Erro� �
Message section.

:MENU Programming Command Summary

    Eac� MEN� comman� occupie� onl� on� line� an� blan� line� i� �
th� comman� grou� ar� no� permitted��  Th� comman� lin� i� �
structure� a� follows:

         l[o][command]["Prompt]

where:
         l is the single character used to invoke the command
              note that it may be upper- or lower-case
         o is an opening option, which is one of:
              :nn -- go to Menu nn
              !   -- have MENU wait when the command is finished
         command is an optional ZCPR2 command; note that if
              the option is ":nn", then a command here makes no
              sense
         "Prompt is a command to MENU to print a prompt and wait
              for user input to fill out the command line


    The MENU commands are:

         Command   Function

         :nn       Goto Menu nn, where the first menu is Menu 1
         !         Wait after command line is executed before
                        processing the menu
         "Prompt   Prompt the user for input and accept it

    Th� followin� ASCI� character� ma� NO� b� use� a� command� �
since they are used elsewhere:

         <SPACE>   #    %    ,    .    <    >    *    <DEL>

         <Any Char Less than Space>

:MENU's Relationship to the ZCPR2 System

    MENU�� lik� mos� o� th� ZCPR� utilities�� interact� wit� th� �
syste� a� � whol� an� canno� b� use� wit� system� othe� tha� �
ZCPR2��  I� particular�� MEN� require� th� ZCPR� Multipl� Comman� �
Lin� Buffe� facilit� t� b� availabl� t� i� an� canno� ru� withou� �
it��  I� chain� t� othe� command� an� t� itsel� thr�� thi� �
facility.

    MEN� i� installe� b� GENINS�  GENIN� i� use� t� instal� MEN� �
an� se� th� parameter� fo� wher� th� Multipl� Comman� Lin� Buffe� �
i� locate� an� wha� th� passwor� fo� enterin� � Syste� Men� is.


    Also�� C� (Chang� Directory� an� STARTU� (or� S� fo� CD� ca� �
com� int� pla� wit� MENU�  Whe� C� log� int� t� ne� directory� i� �
look� fo� th� fil� ST.CO� an� execute� i� i� ther� i� one�  S� i� �
simpl�� STARTUРrenamed�� an� STARTU� wil� loa� th� Multipl� �
Command Line Buffer with a command line and then terminate.

    Fro� th� poin� o� vie� o� MENU�� th� comman� loade� b�� S� �
coul� b� MENU�  Th� effec� o� thi� i� t� automaticall� ente� MEN� �
when the user employs CD to enter a given directory.

    Hence�� b�� usin� CD�� � use� ca� ente� � director�� an� �
suddenl�� fin� himsel� i� � men� instea� o� a� th� ZCPR�� comman� �
level��  Thi� i� goo� fo� application� wher� � director� i� se� �
asid� fo� � specifi� purpos� an� onl� certai� operation� ar� t� �
b� performe� i� it�� suc� a� catalogin� disk� o� handlin� �
accounts��  Also�� wit� CD'� passwor� facility� i� thi� director� �
i� � Syste� Directory�� th� use� woul� hav� t� giv� � passwor� t� �
enter it.


    No�� tha� MEN� i� runnin� fo� th� directory�� � MEN� comman� �
coul� b� anothe� C� t� anothe� directory��  O� i� coul� simpl� b� �
a DU: form.  Example:

         #dp
              A - Enter ZCPR Directory
              B - Enter A0:
         #
         acd zcpr
         ba0:
         #

    Here�� i� � i� issued�� the� C� wil� mov� int� ZCPR�� an� �
execut� ST.CO� i� ther� i� on� there��  I� � i� issued�� th� use� �
i� logge� int� A0:��  MEN� i� th� nex� comman� i� bot� case� �
(comman� line� ar� "C� ZCPR;MENU�� an� "A0:;MENU")�� s� MEN� �
automaticall� reinvoke� an� look� fo� MENU.CPR��  I� i� find� it� �
w� ar� i� anothe� MEN� system� and� i� i� doesn't� w� ar� bac� t� �
ZCPR2 command level.

    Unde� th� � option�� i� C� find� ST.COM�� S� wil� overwrit� �
th� res� o� th� comman� line� thereb� throwin� awa� th� nex� MEN� �
command and giving us something totally different to work with.

    Unde� th� � option� w� wil� ru� MEN� nex� an� simpl� exi� i� �
a MENU.CPR file is not found.

:MENU Error Messages

    I� orde� t� mak� MEN� a� smal� a� possibl� (i� i� unde� 2� �
byte� i� size)�� � hav� reduce� th� erro� message� t� � minimum�  �
Instead�� MENՠ provide� � minimu� indicatio� tha� somethin� i� �
wrong and aborts.

    Th� progra� MCHEC� i� designe� t� tel� yo� mor� specificall� �
wha� i� wrong�  MCHEC� i� � MENU.CP� Synta� Checker� an� i� look� �
fo� al� sort� o� erro� condition� tha� ca� occu� i� � MENU.CP� �
file.  MCHECK is discussed in the next information section.

    MEN� provide� th� followin� minima� erro� messages:

         Message             Meaning

         Full                Memory is Full
         Invalid Option      User Command is in Error
         Pass Err            Invalid Password Given
         Str Err             MENU.CPR File Structure Error

:MCHECK -- MENU.CPR Syntax Checker

    MCHECˠ shoul� catc� an� error� mad� i� � MENU.CP� fil� b� � �
programmer��  I� i� no� guaranteed�� bu� ha� bee� teste� quit� �
thoroughly.

    MCHECK accepts command lines of the following forms:

         MCHECK or MCHECK //      <-- Print Internal Help
         MCHECK dir:filename      <-- Check "filename.CPR"
         MCHECK dir:filename.typ  <-- Check "filename.typ"

    Th� DIR�� prefi�� ma� b� use� wit� th� fil� names��  I� i� �
optional�  A� � DIR� prefix� thi� accept� th� DU� for� o� � name� �
directory.


    MCHECK gives you the "standard" opening error messages:

         Error in Disk or User Number -- Aborting
              DIR: form was not acceptable

         Error in Opening File -- Aborting
              Problem with file

         TPA Overflow -- MENU.CPR File is Too Big -- Aborting
              It could be too big for MENU also (Full error of
                   MENU)

    I� the� start� processin� th� MENU.CP� fil� i� non� o� thes� �
error� occur��  MCHEC� print� th� lin� numbe� an� erro� messag� �
fo� eac� erro� encountered��  I� als� print� comment� a� i� i� �
running along.


    Non-error comments printed by MCHECK include:

         ** Global Options Detected **
              There are global options in the file

         ** Menu Number nnn
              It is beginning the indicated menu

         ** End of Menu Check **
         No Errors Detected -or- nnnnn Errors Detected
              Done and Error Count


    Fatal Errors which cause MCHECK to stop processing are:

         Error -- New Menu Expected, But # NOT Found -- Aborting
              Like it says; it gives a line number to help you
                   find the problem

         Error -- Premature EOF Encountered -- Aborting
              The file did not end with ##


    Non-Fatal Errors for MCHECK (fatal for MENU, tho) are:

         Error -- Invalid Option:
              Invalid option in global or local option line

         Error -- Menu Number Out of Range
              A ":nn" option referenced a number out of range


    Th� followin� i� � sampl� ru� o� MCHEC� o� � goo� MENU.CP� �
file:


B7>mcheck zcpr:menu.cpr
MCHECK  Version 1.1

Line Comment/Error Message
---- ---------------------
   1 ** Global Options Detected **
   2 ** Menu Number   0
  17 ** Menu Number   1
  28 ** Menu Number   2
  39 ** Menu Number   3
  48 ** Menu Number   4
  57 ** End of Menu Check **
       No Errors Detected