home *** CD-ROM | disk | FTP | other *** search
- 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¼á however¼á 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
-