			      --------
			      BMNU.HLP
			      --------

BMNU stands for Batch MeNU and is a tool for creating batch file menu
systems.  BMNU is different from my other menu package (see MNU.ZIP).
BMNU reads a menu definition stored in an ASCII file and displays the
menu based upon this definition.  Once a choice has been made (RETURN
key pressed), BMNU returns a code that can be picked up by ERRORLEVEL
from within a batch file.  BMNU is very simple to use for novice com-
puter users but is not as flexible or powerful as MNU.  Source code
is available for 15 dollars.  Although BMNU was written using Borland
C++ 3.1, this is a C program.  Please specify the disk size required
when placing an order (5-1/4 or 3-1/2 inch).  My address follows this
documentation.  You will receive the source and project files (BMNU.C
and BMNU.PRJ) in addition to the support libraries and their header
files.

The BMNU package consists of the following files: BMNU.HLP, BMNU.EXE,
MAINMENU.MNU, UTIL.MNU, and PROGS.BAT.  PROGS.BAT shows how BMNU can
be used to construct a batch file menu system.  Menu definitions are
contained in MAINMENU.MNU and UTIL.MNU.  Make sure that BMNU.EXE can
be located on your PATH before running PROGS.BAT.  A startup message
is displayed when you run BMNU.  It mentions that typing BMNU ? or
BMNU /? will display documentation.

BMNU.EXE takes a single filespec argument that identifies a menu def-
intion file.  A menu definition file consists of several ENGLISH-like
instructions.  BMNU.EXE reads this file and interprets these instruc-
tions before displaying the menu.  BMNU will display an error message
if it reads an instruction that does not make sense (bad syntax) or a
value is out of range.

The following instructions are available.

þ comment

A comment is used to clarify an instruction.  A semicolon indicates a
comment.  Everything from the semicolon to end of line is ignored.

þ ATTR: define screen attribute

Syntax: ATTR (BD | BK | CH | HC | TL) xx

The menu screen can be "snazzied up" by specifying attributes.  Color
and screen blinking are defined by an attribute.  Attributes for bor-
ders (BD), the background (BK), choices (CH), the highlighted choice
(HC), and title (TL) may be specified.  The "xx" consists of two con-
secutive hexadecimal digits: a hex digit has value 0-9 or A-F (10-15)
and each hex digit is four bits long.  An attribute is interpreted as
follows.

xx: Bbbbffff

The most significant bit of the left-most digit (B) controls blinking
and is set to one if blinking is desired.  Three b-bits follow.  They
define the background color as follows.

000 - BLACK
001 - BLUE
010 - GREEN
011 - CYAN
100 - RED
101 - MAGENTA
110 - BROWN
111 - LIGHT GRAY

The second hex digit consists of four f-bits.  They define the fore-
ground color.

0000 - BLACK
0001 - BLUE
0010 - GREEN
0011 - CYAN
0100 - RED
0101 - MAGENTA
0110 - BROWN
0111 - LIGHT GRAY
1000 - DARK GRAY
1001 - LIGHT BLUE
1010 - LIGHT GREEN
1011 - LIGHT CYAN
1100 - LIGHT RED
1101 - LIGHT MAGENTA
1110 - YELLOW
1111 - WHITE

þ OPTION: define option to be included in menu

Syntax: OPTION "option"

The number of characters between the " characters must not exceed 70.

þ STYLE: define background style

Syntax: STYLE x

The x argument is a digit from 0-3 inclusive.  A value of 0 defines a
nongrainy background.  A value of 1 defines a lightgrainy background.
A value of 2 defines a medium grained background.  A value of 3 spec-
ifies a course grained background.

þ TITLE: define menu title

Syntax: TITLE "title"

The number of characters between the " characters must not exceed 70.

If an error is detected in the source file, the line number where the
error occurred and a suitable error message is output to the standard
error device and 255 is returned to DOS.  The IF ERRORLEVEL command
can check this value so that the batch file can exit gracefully.

BMNU supports a mouse.  A choice can be selected by moving the mouse
cursor overtop of the choice and pressing the left mouse button.  The
right mouse button or the F1 key brings up help.

Geoff Friesen
Box 94
Dauphin, MB
Canada R7N 2T9
