home *** CD-ROM | disk | FTP | other *** search
- RexxMenu - An OS/2 REXX utility for prompting user selection from a choice
- list. Useful for quick access to commonly used programs or calls,
- and for choosing options from among any file list.
-
- Written by Brent Noorda.
- Copyright 1992 Nombas
-
- This document applies to version 1.1 of RexxMenu.dll.
-
- RexxMenu is a Dynamic Link Library (DLL) which provides the OS/2 REXX
- programmer with the ability to get user input from a choice-list of options.
- EnviMenu.cmd and MenuPick.cmd are both REXX program files that can be
- called from the command line or batch file if you want to be
- protected from learning about the Rexx language.
-
- This utility is shareware. You are encouraged to freely copy and distribute
- all or part of it, provided that no fee is charged beyond normal media
- duplication and shipping costs, and that the entire contents of this
- distribution archive are included and referenced as separate shareware.
-
- For registration information see the end of this file, choose the Register
- option from ReadMe.cmd, or use the file Register.FRM.
-
- -------- New for version 1.1 from 1.01 and 1.0 ---------
-
- 1. The /HID <str> option has been added, so that "secret" or "password"
- options can be chosen from the menu but will not be displayed.
-
- 2. The EnviMenu.cmd utility has been added so that RexxMenu can be called from
- the command line or from a batch file. This is done so that no specific
- knowledge of REXX is required to create simple choice menus.
-
- 3. The MenuPick.cmd utility has been added for common selection of from a
- command-line list of options, as demonstrated in the Prompts.cmd
- batch file. Also for the REXXaphobic.
-
- ------------------ Installation ------------------------
-
- After unzipping RexxMenu.zip into a directory, you need only to run
- ReadMe.cmd, either from the command line or from the desktop. ReadMe.cmd
- uses RexxMenu to learn about, install, and register RexxMenu.
-
- -------------------- File List -------------------------
-
- ReadMe.cmd - Run this first. This REXX file uses RexxMenu to guide you
- through learning about, installing, and registering RexxMenu.
-
- RexxMenu.doc - what you are now reading
-
- RexxMenu.dll - Dynamic Link Library for calling RexxMenu and RexxMenuHelp
- from a rex file. ReadMe.cmd expects this file to be in the
- current directory, but to use RexxMenu.dll from any
- directory you must copy RexxMenu.dll into one of the
- directories in you LIBPATH environment setting (see the
- LIBPATH= line in your CONFIG.SYS). The Install option in
- ReadMe.cmd attempts to do this LIBPATH installation for you.
-
- Register.FRM - This form can be printed out to register your shareware
- version of RexxMenu. The Register option in ReadMe.cmd
- attempts to print this form for you.
-
- EnviMenu.cmd - Utility for setting an environment variable from a file-based
- menu list. This is RexxMenu.dll for those who only work
- from the command-line or from batch files, but are above
- learning about REXX.
-
- MenuPick.cmd - Like EnviMenu.cmd, this simple utility is a non-REXX shell
- for command-line or batch file menus, but this version takes
- the menu options in the command line, rather than from a
- batch file.
-
- AllInf.cmd - This sample REXX program builds a list of all the *.INF files
- on your disk and then uses RexxMenu to let you choose which
- *.INF file to VIEW.
-
- AttrMenu.cmd - This sample REXX program is similar to the ATTRIB.EXE command,
- but it uses RexxMenu to let you pick, one at a time, which
- file to apply the attribute change to.
-
- CDMenu.cmd - This sample REXX program uses RexxMenu to let you interactively
- traverse drives and directory trees.
-
- QuikMenR.cmd - This is a sample REXX file for a REXX program, which you might
- QuikMenE.cmd put on your desktop, for quickly accessing your commonly used
- programs or command files. With a couple of keystrokes or
- mouse-clicks your menu-chosen function is up and running.
-
- QuikMenR.cmd uses RexxMenu.dll directly, and is a REXX program.
- QuikMenE.cmd uses the EnviMenu utility, and is a batch file for
- performing almost identically to QuikMenR.cmd.
-
- I use QuikMenu many times a day, and this is the primary
- reason why I created RexxMenu. This sample is taken from my
- own desktop, and so not all of the options will work on your
- system, as they may rely on my particular configuration,
- program-set, and paths. QuikMenu can be easily modified for
- your own frequently-used functions.
-
- Solitair.cmd - Many times a program will save a single configuration, without
- consideration that you may want different configurations at
- different times or for different people; KLONDIKE (OS/2
- Solitaire applet) is such a program. Solitair.cmd is a
- sample REXX program that lets you choose and save a
- personal configuration for KLONDIKE. Now Joe, for example,
- will not mess up Julie's preferred mode of play.
-
- ViewInfo.cmd - This sample REXX file, which I frequently use, uses RexxMenu
- to choose from a fixed list of commonly-accessed .INF files
- for viewing.
-
- Prompts.cmd - This examples uses the MenuPick utility to select the environment
- window for an OS/2 or DOS command-line session.
-
- BRENT.SOL - These *.SOL Files are used by the Solitair.cmd demonstration
- JOE.SOL - program.
- JULIE.SOL -
- ZACHARY.SOL -
-
- ---------------- How to use RexxMenu -------------------
-
- If you can create a list of options in a file, then RexxMenu can prompt the
- user to choose an item from that list, using either the keyboard or a mouse.
-
- SYNTAX: <Choice> = RexxMenu(<File>,[OPTIONS])
- Where:
- File - Menu selections will be taken from this file after all leading and
- trailing whitespace, and all blank lines, have been ignored.
- Choice - User-selected option from File. If there is an error, no file
- options are available, or /ESC exit, then return NULL string "".
- OPTIONS are:
- /INIT,str - Initial Menu selection will be first match to str
- /SORT - All menu options will be alphabetically sorted.
- /PRE,str - Specifies that only lines in <File> that begin with <str> will be
- menu choices. The Prefix <str> will be ignored.
- /SUF,str - Specifies that only lines in <File> that end with <str> will be
- menu choices. The Suffix <str> will be ignored.
- /COM,str - Specifies that lines in <File> that immediately follow menu-
- option lines and that begin with <str> will be shown as comments
- when the menu option is chosen.
- /PROMPT,str - Specifies the prompt <str> for keyboard entry. Default is
- "Match:". If <str> is "NONE" then no prompt.
- /TIME,sec - Specifies <sec> seconds timeout for default selection if no
- initial action is taken.
- /ESC - Specify that if the ESCAPE key is pressed, then exit with
- NULL string; if no /ESC then a selection MUST be made.
- /HID,str - Specifies that menu selections beginning with <str> will not
- be displayed. These selections can only be found by typing them
- at the keyboard, not including <str>.
-
- A REXX file called MONTHDOC.CMD that uses most of these options may look
- something like this:
-
- /* MONTHDOC.CMD - REXXMENU EXAMPLE FILE TO CHOOSE A DOCUMENT TO EDIT FOR
- * A MONTH. EXAMPLE: JANUARY.DOC, FEBRUARY.DOC, ETC....
- * WILL BE LISTED ALPHABETICALLY JUST SO WE CAN USE THE
- * /SORT OPTION. THIS PROGRAM IS AN EXAMPLE OF WHEN A
- * REXXMENU REXX PROGRAM READS THE .CMD FILE ITSELF FOR
- * AN OPTION LIST.
- */
- CALL RxFuncAdd 'RexxMenu', 'RexxMenu', 'RexxMenu'
- MonthChoice = RexxMenu('MONTHDOC.CMD','/INIT','January',,
- '/SORT','/SUF','.1992:','/COM','/* ',,
- '/PROMPT','Pick a month for DOC editing:',,
- '/TIME','10','/ESC')
- if \ 0 = COMPARE(MonthChoice,'') then
- '@start /F e.exe' MonthChoice
- EXIT
-
- January.1992:
- /* Recover from New Years. Martin Luther King. 31 days.
- */
- February.1992:
- /* Short month.
- */
- March.1992:
- /* Long month. Watch out for lions.
- */
- April.1992:
- /* Short month. Keep a look out for may flowers.
- */
-
- ----------------- RexxMenu Examples --------------------
-
- Please try the included Examples for using RexxMenu (*.cmd files). Some are
- silly, and some are useful programs that I frequently use myself. These
- example programs are not optimized for speed (they often create temporary
- files wherever they happen to be) and possibly may not work in directory
- paths that contain the space character.
-
- I will be collecting RexxMenu sample programs from any willing registered
- RexxMenu users to use in future updates.
-
- ---------- RexxMenu Registration Information -----------
-
- Thank you for Registering your shareware copy of RexxMenu version 1.1. You
- may pay whatever amount you think RexxMenu is worth to you. I suggest $5 as
- a minimum amount for a clean conscience for an indivdual, especially if you
- find that you are making frequent use of RexxMenu. I would expect
- corporations with many RexxMenu users to pay proportionately more, of course.
- For any registration $10 or more, you will be notified that your registration
- has been accepted, and you will be notified of future bug-fixes, updates, and
- new uses (my own and other registered user's examples) for RexxMenu.
-
- All comments, suggestions, and bug reports are welcome, whether or not you
- are registered. Send to the address below, or contact Brent at:
- Internet: bsn@world.std.com or (617)391-5289
-
- Enclosed RexxMenu registration amount:
-
- [ ] $5 conscience-ware
- [ ] $10 support-ware
- [ ] Other amount $__________
-
- How did you obtain this program? (optional) ____________________
-
- ________________________________________________________________
-
- Name: __________________________________________________________
-
- Address: _______________________________________________________
-
- ________________________________________________________________
-
- ________________________________________________________________
- (add ZIPcode if applicable)
- Country: ___________________________
-
- Comments: ______________________________________________________
-
- ________________________________________________________________
-
- Mail To: Brent Noorda
- Nombas
- 36 Tainter Street
- Medford, MA 02155 USA
-