Menus
There are several hooks in PCBoard where you can use a menu instead of the normal input. By using menus, you can help distribute the information presented to the caller so they do not become overwhelmed with the choices available at any one prompt. You can access doors, bulletins, script, and more from within the menu.
Creating A Menu
To create a menu, you need to create what is called an MNU file. To create this type of file, you need to use the MKPCBMNU program that is included with your package. To create or edit a MNU file, specify the MNU file to edit on the command line. For example, if you wanted to edit or create C:\PCB\MNU\MAIN.MNU, type the following at the DOS prompt:
MKPCBMNU C:\PCB\MNU\MAIN.MNU
If you do not specify a filename to edit, the usage screen will be shown to you which shows you how to specify a MNU file to edit.
If you specify a valid filename to edit or create, the MKPCBMNU program will be loaded.
If the filename you specify already exists, you will be able to edit the contents of that file. If the file does not exist, you will be creating a new MNU file.
You will see that the first screen has three fields. To access the rest of the fields, press F2 to toggle between the various configuration screens.
Title
In this field, enter the title or name of this menu. This will be used for the prompt after each menu is displayed. For example, if you enter a title of FILE, you will see the following prompt at the end of the menu:
FILE Menu Command ('MENU' for options)
The rest of the prompt can be configured to read however you wish by using MKPCBTXT.EXE to edit record #682 in your PCBTEXT file. For example, you may want for it to say
FILE Selection ('MENU' for options)
in which case you would edit record #682 in PCBTEXT to look as follows:
@OPTEXT@ Selection ('MENU' for options)
As you can see, the @OPTEXT@ in the prompt is replaced by whatever you enter as the title for the prompt.
Display File
This is the file you want to display for the menu. This file should list all of the options that are available in this menu. As with virtually any other file that PCBoard displays, you can make security, graphics, and language specific versions of this display file.
When a user is in novice mode, this file will be displayed each time before they are asked to make a selection. When in expert mode, the only way for a user to be able to view this menu is to type MENU when prompted for input.
Help File
Keeping in line with PCBoard's extensive online help system, you can have help files for each menu that you create. Simply enter the filename you wish to display when a ? is entered at your prompt for the menu. Instead of the ? a user could also enter H, HE, HEL, HELP unless you have replaced those commands in your menu.
Menu Prompts
There is a default prompt in PCBTEXT (record #678) that is used by all menus.
It may not meet your needs for every menu though. However, since it is used
by all menus, it cannot easily be modified by MKPCBTXT to handle different
situations without making it worthless for other menus. Because of this, you
can create different custom language prompts for each menu. MKPCBMNU allows
the editing of 32 language specific menu prompts.
The second screen in the menu editor (accessible by pressing F2) is where you define the multi-lingual prompts that you wish to use. Simply type in the way you want the input prompt to appear for each language defined.
You will notice the first entry automatically has an extension of DEFAULT.
This is the prompt displayed to the user if they have the default language.
If you leave this blank, PCBoard will use the prompt from record #682 in your
PCBTEXT file.
In a previous example, you were shown how to change the prompt from @OPTEXT@
Menu Command ('MENU' for options) to @OPTEXT@ Selection ('MENU' for options).
You could accomplish the same thing without modifying your PCBTEXT file.
Instead, change the default prompt on this screen to look like the following:
@OPTEXT@ Selection ('MENU' for options)
To add other language specific prompts, press ALT-I. In the extension field, type in the extension you would like to replace the prompt for. Press TAB to go to the MNU Prompt field and type in the prompt for that language. If a prompt cannot be found for the current language, the default prompt will be used.
Defining Options
The final configuration screen is where you define the menu options that will be available.
Keyword
This is the command you want to define. You can enter any command name up to 8 characters in length. This means you are not limited to single letter commands, but you may certainly use single letter commands if it will make it easier for your users.
Sec
In this field you need to enter the minimum security level required to access the command you are defining. You may enter any value between 0 and 255.
Type
Each menu option can be of a certain type. In other words, one menu option may execute a door program, while another may display a bulletin. The following list details each of the types you can assign to a command.
BLT This option type enables you to display any bulletin that is defined in the current conference. In the Parameters field, enter the number of the bulletin you wish to display.| |BYE This option is identical to using the BYE user command available in PCBoard. This option skips any warnings or questions at logoff. By default, this menu option is available in every menu you create, unless you override the command in your menu definition. | ||
CONF | This option type enables you to change the conference number. In the Parameters field, specify the conference name or number you wish to join. | |
DIR | You can display any of the file directories available in the current conference. Specify the directory number you wish to display in the Parameters field. | |
DIS | If you want to disable a menu option without actually deleting it from the list of options available, use this option. | |
DOOR | If you want to execute a door application from a menu, you may do so using this option type. Only the doors normally available in the current conference will be available for execution. Specify the door number or name to execute in the Parameters field of the option you are defining. | |
EXIT | While this option type is similar to QUIT, it is different because it will quit all active menus. | |
FILE | If you want to display a text file to the caller, you may do so using this option type. As with normal PCBoard display files, you can create security, graphics, and language specific versions of the file you are displaying to the caller. In the Parameters field, specify the path and filename to display. | |
GBYE | This option is identical to the G user command available in PCBoard. By default, this command is available in every menu that you create, unless you use define G to perform some other action in your menu. | |
MENU | If you have assigned a menu command to have this type, you can load another MNU file as specified in the Parameters field. This would effectively let you create a sub-menu type system that is very easy to navigate. | |
PPE | Using this option, you can execute any PPE file you wish. This only further enhances the options or tasks you can perform with each menu. | |
QUIT | To quit the current menu and return to the previous menu (if any), define a menu option that uses this option type. Remember that only the current menu will be exited. To exit all menus, use the EXIT option instead. | |
SCR | Execute a script file. The script number to execute should be specified in the Parameters field. For example, if you want to execute script #3 in the current conference for a particular menu option, set the type of the option to SCR and in the parameters field, enter 3. | |
SFNR | To increase the capability of MNU files, this option type enables you to stuff any text into the keyboard. The text to stuff comes from the file specified in the Parameters field. Stuffing the keyboard will make it appear the user typed in the text when in reality it is your menu. Once the stuffed text has been acted upon, the user will not be returned to the menu file. | |
SQNR | Stuff the keyboard with the text entered in the Parameters field. The text that is stuffed will not be displayed on the screen. Additionally, the user will not be returned to the menu once the stuffed text has been acted upon. | |
SSNR | Stuff the keyboard with the text entered in the Parameters field. Once the stuffted text has been acted upon, the user will not be returned to the menu. | |
STFF | Stuff the keyboard with the contents of the file specified in the Parameters field. Once the stuffed text has been acted upon, the user wiill be returned to the menu. | |
STFQ | Stuff the keyboard with the contents of the file specified in the Parameters field. The stuffed text will not be shown on the screen. | |
STFS | Stuff the keyboard with the text entered in the Parameters field. To represent the user pressing ENTER, use | M where ENTER would normally be used. Once the stuffed text has been acted upon, the user will be returned to the menu. |
---|---|---|
XPRT | Using this option, you can toggle expert mode status or explicitly state if you want expert mode on or off. In the Parameters field, simply enter ON, OFF, or TOGGLE based on the action that you wish to perform. |
Parameters
In this field, enter any parameters required for the option type
that you are defining. For example, if you use the STFF option type, you
need some way to specify the filename that you want to stuff the keyboard
with. In the Parameters field, enter the filename that you want to display.
The description for each option will inform you if you need to enter anything
in the Parameters field.
NOTE: There are some commands that are available with every menu even if you do not have them actually defined in your MNU file. The following lists all of the default commands in all menus:
?, H, HE, HEL, HELP | Displays the help file for this menu (if it exists) |
ME, MEN, MENU | Displays the menu file which shows menu options available |
Q | Quit the current menu and return to the previous menu (if applicable) |
X | Exit all menus. |
G | Logoff the system. Warnings will be displayed at logoff |
BYE | Logoff the system. Warnings will not be displayed. |
The only commands that you cannot change or create are the top two items in
the list which display the help files and display file for the current menu.
All the rest of the options have option types you can assign to other
commands.
Adding Menu
There are three way you can install a menu file into PCBoard. They are as follows:
- Menu display files (e.g., BRDM, CNFN)
- Most display files (e.g., WELCOME, NEWS)
- CMD.LST (PCBSetup | File Locations | Configuration Files)
- Virtually any PCBText Entry
Using these methods, you should be able to install a menu into virtually any area in your bulletin board system. This means you can install a menu file virtually anywhere in PCBoard. The following sections describe the various methods you can use to install a menu.
Menu Display Files
The most common place for you to insert a menu is when the user is going to be prompted for input. If you have a lot of conferences on your system, chances are that your users will have difficulty deciding the conference to join. By using menu files instead of a single display file, you can help your users find what they are after. The following lists some likely candidates for installing menus by adding a .MNU on the name of the menu display file:
BRDM (PCBSetup > Conference Configuration)
Displayed at the conference command prompt, but only when in novice mode, or when the MENU command is used.
CNFN (PCBSetup > File Locations | Display Files)
Displayed when a user uses the J user command.
DOORS (PCBSetup > Conference Configuration)
Displayed when a user uses the OPEN or DOOR user command.
BLT (PCBSetup > Conference Configuration)
Displayed when the B user command is executed.
SCRIPT (PCBSetup > Conference Configuration)
Displayed when the S user command is executed.
DIR (PCBSetup > Conference Configuration)
Displayed when the F user command is executed.
For any of these display files, you can create a menu file that will be used instead by adding a .MNU extension on the filename. For example, to create a menu for your conferences, follow these steps:
Look at the location of your CNFN file (PCBSetup | File Locations | Display Files). You may see C:\PCB\GEN\CNFN. In this case, you would create a MNU file called CNFN.MNU and store it in the C:\PCB\GEN\ subdirectory.
Use MKPCBMNU to create the C:\PCB\GEN\CNFN.MNU file. Follow the instructions for creating a menu as outlined previously. When you have finished defining your menu file, save it.
Now whenever you type in J and press ENTER you will notice your menu file is being used instead of the normal display file.
The most important thing to remember, is the menus are only used when the
normal display file would have been used. If a user were to type J;3 your
menu will never be used because the conference menu would not have normally
been displayed by PCBoard. Likewise, if you replace the BRDM file with a
BRDM.MNU, it will only be used when the BRDM file would have been normally
been displayed. This means that if a user is in expert mode, they will not
see the menu, because the main menu is not normally displayed to them.
However, if a user in expert types MENU, your menu file will be used.
CMD.LST (PCBSetup > File Locations > Configuration Files)
In the CMD.LST file you can add new commands to your system. The commands you define in this file will only be available from the conference command prompt. If you edit your CMD.LST file, you will see a screen which resembles the following:
File Locations Command Security PPE/MNU File -or- Keystroke Replacement -------------- -------- ---------------------------------------
1)
You can add a MNU file by specifying the command you want to use for the menu, the security level required to execute the command, and the actual location of your MNU file. For example, if you want to add a command called ORDER which will put the user into a menu system where you could help them make purchasing decisions, add the following entry:
File Locations Command Security PPE/MNU File -or- Keystroke Replacement -------------- -------- ---------------------------------------
1) ORDER 0 F:\PCB\MENUS\ORDER.MNU
PCBText Entry
Instead of displaying a PCBTEXT record, you can have use a menu file instead.
To use a menu file, begin the PCBTEXT record with a $ followed by the name of
the menu filename that you want to use. For additional information, refer to
the PCBText Utilities section in the Utilities chapter of this manual.