home *** CD-ROM | disk | FTP | other *** search
- MCMenu Docs
-
- Ver 0.000
- ^ bug fix
- ^^ minor rev
- ^ major rev
- Turbo Pascal 5.5
-
- Started Nov 18 1991
-
- Current Version 1.520 August 24 1992
-
- Written by: Tony Bigras Bigras@mala.bc.ca
-
- Public Domain, Absolutly NO liability accepted !
-
- Processes Novell type menu file.
- See Novell docs for info on menu structure.
-
- Advantages over Novell menu program:
- Uses 0K.
- Does not leave menufile open so menufile is not locked.
- Works off a hard drive, no network needed, So hard drive and network
- menus can have the same interface.
- Built in screen blanker while on the menu screen.
- Mouse support.
- Marks submenus for easy identification.
- Allows top and bottom wrap around.
- Can logout from menu.
- Can load TSRs.
- Can use environment variable 'MN' for menu name
- allowing all users to restart menu with 'MCMENU'.
- Can disable escape from menu.
- Has hooks for remote procedure calls from other stations.
- Improved AlphaKeying { Can you see the diference }
-
- Differences from Novell menu:
- No sorting of menu items, they appear in the order in file.
- Ignores Novell colour and location entries
- everything is standard colour and centred.
- Limited to 4000 lines in menu file.
- Limited to 21 items per menu 200 sub menus.
-
- NOTE uses Command Line { first } or Environment Var MN to name menu to use.
- If no file extension given assumes .MNU.
-
- Mouse support for microsoft mouse:
- Left button = RETURN
- Right button = ESC
- Up and down = up down keys
- No mouse pointer just key translation.
-
- Screen blanks after 5 minutes. First keystroke is eaten up when unblanking.
-
- If first character of last line in menu file is '!' then the last
- line is a control line. If last line is a control line the first
- '!' is discarded and the remainder of the line is scanned for the
- following characters.
- ! no escape
- R enable RPC
- L Log all program launches to S:\LOG\LOG.TXT
- M Have menu return to exit location rather than first item of first menu
-
- How it all works:
- The program processes the Novell menu and presents it to the user.
- When the user makes their choice the X.BAT file is created in
- the current directory. This contains the list of commands for
- the selected item. And the command program.path.progname menuname.
- The program then cleans up its environment
- in preparation for termination. Just before termination the
- keyboard buffer is cleared then stuffed with the char X and CR.
- upon exiting the program { and any batch file that called it }
- the batch file X.BAT is run. This way except for a few bytes
- for DOS data space for processing the batch file, no memory is
- used. The last line in the X.BAT re-runs MCMENU.
-
- Remote Procedure Calls:
- Only started in version 1.00
- Hooks will become functional in 2.0.
- Requires NetBIOS.
- Will eventually allow custom applications to
- use all pc resources on net to process their
- compute intensive routines while PCs sit on menu.
-
- Suggested applications include:
- Raytracing { Renderman Engine }
- Fractals { Demo under development }
-
- Please contact me re your requirements in this area.
-
- Known Problems:
- Screen blanker can interfere with Intel LanSkool if
- teacher broadcasts happen when MCMenu is running.
- This appears to be because LanSkool does not
- shut off the application it pops up over.
- The blanker in MCMenu is based on polled keyboard activity
- and is not an interrupt driven function.
-
- Version 0.902 enhancements over ver 0.800
- Multi level sub menu support 200 menus total, instead of single sub level.
- 4000 line max file size, up from 400
- Mouse response tuned.
- Bug fix re @VARS on first menu and stack overflow on subs.
- Menu identifers no longer case sensitive.
-
- Version 0.910
- 21 items per menu, up from 20.
- No wrap on Confirm Exit menu.
- SpaceBar no longer a down key on menu.
- AlphaKeying on menus.
- Better error messaging.
-
- Version 0.912
- Escape works from exit menu { before it really escaped!! }
- Fixed bug with discarded location info on subs showing in title
-
- Version 0.930
- Debug code taken out RPC test code taken out.
-
- Version 1.000
- First production release with source code.
-
- Version 1.001
- Bug fix of menu alpha keying.
-
- Version 1.002
- Bug fix of writing bat file to accomodate dos 5.0 as it wanted to
- continue reading past the end of the old batch file due to a
- writeln rather than a write.
-
- Version 1.010
- Added pathed menu program name to last line of batch file.
- DOS searchs for menu data file. IF DOS can't find it then
- search program DIR.
- This allows the program name to be changed and improves
- access to the menu program when users change directories.
-
- Version 1.011
- Changed error sound. Corrected spelling error in 'Tuesday'
-
- Version 1.500
- Application Logging option. Invoked with the 'L' control , this logs
- the item name when launched. Also records username from env var
- USRN if available. Currently hard coded to S:\LOG\LOG.TXT
- This directory must have Read Open Search and Wrtie rights
- and the LOG.TXT must be NONSharable RW
- Logs to a ASCII text file format one launch per line with date time.
-
- Version 1.510
- NoRerun parameter type control. The following !MC! at the begining
- of the last line in a item group will cause the extra batch line that
- reruns the menu not to be written. This is usefull when logging out
- as the error 'batchfile not found' does not occure, and is usefull
- as well for chaining to other menus as the new menu will not have
- a batch tail to process when it exits.
-
- Example : !MC! @LOGOUT
-
- A particularly handy use is to have a custom user menu set with
- the MN env var and to have that user run a shared menu from
- their menu by using !MC! MCMENU Z:SHARED.MNU
- The shared menu could return to the users menu
- by just using !MC! MCMENU which would use the MN env var
-
- Version 1.520
- Return to old menu selection option. Invoked with the 'M' control, this
- causes the menu to be reentered at the exit location item. This hack is
- done by having an extra command line parameter written to the rerun
- menu line. This 2nd parameter is a single string of 2 char
- representations of the menu cascade.
-
- Example: MCMENU C:\JUNK.MNU 020302
-
- This will go to item 2 on the first menu { which should be a submenu }
- and to item 3 on that menu { which should be a submenu } and then
- stop on item 2 which would be the item that was last run.
- This extra parameter is normall created by MCMENU when the 'M' control
- is active, but could be invoked off a inital menu startup command
- provided that the menu also contained the 'M' control
-
- Cosmetic change made to menus to provide white space on the
- right side. Maximum menu item width is now 74 chars from
- 75.
- ok