Dec 182017
 
Fast menu system for Hardisk.
File FASMEN41.ZIP from The Programmer’s Corner in
Category File Managers
Fast menu system for Hardisk.
File Name File Size Zip Size Zip Type
#CANCEL.BAT 511 166 deflated
#EDIT.BAT 511 300 deflated
#F01.BAT 511 294 deflated
#F02.BAT 511 311 deflated
#F03.BAT 1023 354 deflated
#F04.BAT 511 238 deflated
#F05.BAT 1535 431 deflated
#F06.BAT 511 244 deflated
#F07.BAT 1535 495 deflated
#F08.BAT 511 202 deflated
#F09.BAT 511 217 deflated
#F10#F01.BAT 511 178 deflated
#F10#F02.BAT 3583 783 deflated
#F10#F05.BAT 5119 704 deflated
#F10#F06.BAT 511 206 deflated
#FM.COM 8191 1360 deflated
#FMATR.COM 12068 3213 deflated
#FMBLD.EXE 40531 26614 deflated
#FMOPT.EXE 35196 24287 deflated
#TASK.COM 390 129 deflated
FASTMENU.DOC 23967 5963 deflated

Download File FASMEN41.ZIP Here

Contents of the FASTMENU.DOC file


FastMenu Version 4.1 Page 1




+=========================================+
|XXX| FastMenu Development System |XXX|
|XXX| Version 4.1 --- 27 Jul 1987 |XXX|
|XXX|=================================|XXX|
|XXX| Davy Crockett Productions |XXX|
|XXX| 5807 Cherrywood Lane, 104 |XXX|
|XXX| Greenbelt, Maryland 20770 |XXX|
+=========================================+



====================
=+= Introduction =+=
====================

FastMenu was developed as an alternative to MS-DOS
Batch file menus running on a network. These batch files
would display a menu option screen and then call a small
.COM program to accept a single keystroke and set the DOS
errorlevel value. Following this would be a series of "IF
ERRORLEVEL" statements with GOTO's to various option pro-
cessing statements within the same batch file. This method
proved to be incredibly slow (with response times measured
in minutes!).

An alternative had to be found! In addition, it had
to operate with the following restrictions:

1. First and foremost, it must be FAST!

2. It could use all available memory when executing but
must not keep anything resident when an application
was running.

3. It must be easy for a non-programmer type to modify.
(i.e. require only a rudimentary knowledge of batch
file generation.)



====================
=+= How It Works =+=
====================

In order to make it fast, the menu program does
direct loads to the video display RAM. This means it
requires an IBM compatible with either a color or monochrome
screen (FastMenu will automatically determine which type of
screen is active).


Davy Crockett Productions 27 July 1987









FastMenu Version 4.1 Page 2




When transferring control to a batch file to execute
the application, the FastMenu program stuffs the keyboard
buffer with the batch file name and then exits to MS-DOS to
run the batch file. This keeps nothing resident in memory
when the application is running. As a consequence, the
batch file must return control to FastMenu when it is fin-
ished processing.

Finally, I have built the FastMenu Development Sys-
tem (using the FastMenu) to make it easy for anyone to
develop their own menu systems. The Development System
includes options to generate a sample input file; edit the
input file; generate your menu; edit all of the associated
application batch files; and even install your menu system
on another disk drive. I have even included a sub-menu that
will help you select your favorite colors. (Note: the sys-
tem relies heavily on ANSI.SYS so be sure to include the
statement DEVICE=ANSI.SYS in your CONFIG.SYS file.)


====================
=+= Installation =+=
====================

All of the FastMenu Development System files begin
with the character "#" (pound sign). You may install
FastMenu by extracting all of the files in the archive to a
working disk or sub-directory. If you will not be working
with this disk or sub-directory as the default then you
should make sure that the PATH command points to this disk
or sub-directory.


====================
=+= What It Does =+=
====================

FastMenu is a two level menu system. This means
that the main menu contains 10 options which may be selected
by the ten function keys on the left side of the keyboard
(on IBM keyboards). Each of these options may be either a
"primary" option (executes an application batch file) or a
sub-menu option (simply displays another menu). Each
sub-menu option can only execute an application batch file
(i.e. options on a sub-menu can not go to another sub-menu).
If you require more than two menu levels, it is possible to
tie two menu systems together through the batch files.




Davy Crockett Productions 27 July 1987









FastMenu Version 4.1 Page 3




The "Esc" key is used to exit from a menu. When a
sub-menu is displayed, the Esc key will return the user to
the main menu. When the main menu is displayed the Esc key
will either exit immediately to MS-DOS or beep at the user
depending on the value of the EXIT=[ON/OFF] parameter in the
configuration file. If any key other than the Esc or an
active function key is pressed, the FastMenu will only beep
at the user.


====================
=+= How To Do It =+=
====================

Step #1: Initialize Options

From the MS-DOS prompt, enter "#FM" and press the
"Enter" key. At this point the FastMenu Development System
main menu pops up. The first order of business is to set
the options, press F10. This brings up the FastMenu Utili-
ties sub-menu. Press F1 to initialize system options. F1
executes the #FMOPT program that will ask you for the name
of your editor program (e.g. EDLIN). This program will be
used to edit batch files and should be capable of loading
and saving straight ascii text. Next, the #FMOPT program
asks for a prefix letter to use to generate your menu
system. This letter will be used to generate the names for
all modules in the menu system you will be creating. After
setting the system options you will be returned to the
Utilities sub-menu.

Step #2: Generate Sample Input File

From the Utilities Menu press the F2 key. This will
execute a batch file that will generate a sample input file
for the #FMBLD program. After the sample file is created,
you will be returned to the main menu.

Step #3: Edit The Input File

At the main menu press F1. Your editor will be
invoked to edit the sample input file. Comments are denoted
by an asterisk "*" as the first character on a line. Com-
ments are ignored by the #FMBLD program. Build statements
begin with a keyword. Colors/Attributes are denoted with a
slash "/" and a 2 character attribute code following the
keyword. (Attributes are optional, defaults will be used if
they are not present.) Text for each keyword is separated
from the keyword (or attribute) by an equal sign.


Davy Crockett Productions 27 July 1987









FastMenu Version 4.1 Page 4




Keyword commands are explained in Appendix A.
Option F8 on the main menu can be used to select
color/attribute values. The order of keywords in the input
file is not important to the #FMBLD program.

Step #4: Build The Menu

Once you have specified all the titles,
colors/attributes, and text for your menu you may build the
menu. Press F2 on the main menu and it will execute the
#FMBLD program to generate your menu system. #FMBLD reads
the input file, copies the #FM.COM program and patches it
according to your specifications. All of the modules con-
tained in your menu system will be prefixed with an "@". In
addition to the menu (@?MENU.COM) you will find a complete
set of batch files for all of the primary options you have
specified (@?xx.BAT, @[email protected]?yy.BAT). Where the question mark
"?" will be replaced by the prefix letter that you entered
from the Initialize Options program and the "xx" and "yy"
are the numbers "01" through "10" representing the ten func-
tion keys.

You may execute the Build Your Menu option several
times. Each time the build program will check to see if any
batch files exist. If any batch file exists it will be left
alone. Otherwise a new dummy batch file will be created for
any options added to the original specifications. You must
manually erase any extraneous batch files left over from
options that have been removed from the input file.

Option F9 on the main menu may be used to examine
your generated menu program. The batch file transfers con-
trol to the generated menu. You can shift back and forth
between the main menu and any sub-menus to check out your
colors / attributes. However, if you execute any batch file
options, the FastMenu menu will beep at you several times as
it clears the keyboard buffer before continuing.

Step #5: Modify The Batch Files

All of the batch files are created to display the
option key pressed and then display a message stating that
this option has not been implemented yet. You must modify
each of the batch files to execute a particular application.
Options F3 and F5 on the main menu will allow you to do
this. F3 will use your editor to modify the main menu batch
files. F5 will modify sub-menu batch files. Remember you
must execute "@?MENU" at the end of each batch file to
return to the menu. You may include "F01" through "F10" on


Davy Crockett Productions 27 July 1987









FastMenu Version 4.1 Page 5



the command line to indicate that the menu should return
directly to the sub-menu indicated by that function key. If
the menu program can not recognize the parameter on the com-
mand line, or if that function key does not indicate a
sub-menu then the main menu screen is displayed. All batch
files are created to return to the same sub-menu from which
they were invoked.

Step #6: Install Your Menu

Once you are satisfied with your menu system (or
happen to be working in a RAM disk and simply want to take a
break for lunch) you can select option F7 on the main menu.
You will be asked for which drive to copy your menu system.
All of the files that begin with "@" will be copied to that
drive. In addition to the files you generate there will be
two new files, "@?CANCEL.BAT" and "@TASK.COM". The CANCEL
batch file is an easy way to exit from a batch file and
return to your menu (any initialization may be placed in
this batch file). The TASK program will accept a keystroke
and set the DOS error level value. Documentation for
@TASK.COM may be found in Appendix B of this documentation.
Feel free to use this program in your menu system.

Step #7: Register For Updates

From the main menu press the F10 key to move to the
Utilities menu. From there press F5 to generate a registra-
tion form. You will be returned to the Utilities menu.
Press F6 to edit the registration form. Fill out the regis-
tration form using your editor. Print the registration form
and send it (along with a check for $10, if you think
FastMenu is worth it) to the address on the top of the reg-
istration form.


















Davy Crockett Productions 27 July 1987









FastMenu Version 4.1 Page 6




==================
=+= Appendix A =+=
==================



TITLE
=====

TITLE[/ca]=title-text

The TITLE keyword specifies the title for your menu.
It may be optionally followed by a color/attribute value.
Maximum length of the title is 46 characters, any longer and
it is truncated with no error message. The title text is
centered on the top of the screen and will be the same on
all menu screens. Example:

TITLE/0D=[] FastMenu Title []
* |- Maximum Length: 46 Character -|


SUBTL
=====

SUBTL[/ca]=sub-title-text

The SUBTL keyword specifies a sub-title for your
menu. It may be optionally followed by a color/attribute
value. Maximum length of the sub-title is 46 characters,
any longer and it is truncated with no error message. The
sub-title text is centered on the top of the screen on the
line immediately below the title and it will be the same on
all menu screens. Example:

SUBTL/0D=[] FastMenu Sub-Title []
* |- Maximum Length: 46 Character -|


EXIT
====

EXIT=ON|OFF

The EXIT keyword tells the menu whether or not it is
allowed to exit to MS-DOS (from the main menu) by simply
pressing the Esc key. When EXIT=ON is specified, users may
exit with the Esc key. When EXIT=OFF is specified you must
include a batch file that will allow users to exit to


Davy Crockett Productions 27 July 1987









FastMenu Version 4.1 Page 7



MS-DOS. If you specify EXIT=OFF and do not include a batch
file to exit then the only way to exit from the FastMenu is
to choose an option and then press Crtl-C to terminate the
batch file execution. Example:

EXIT=ON
* (Allow exit with Esc key.)


TEXT
====

TEXT/ca

The TEXT keyword only specifies a color or attribute
for the function key text. If the default is satisfactory
then you do not need to include this card. Example:

TEXT/70
* (Default color of Black on White)
* (Reverse Video on Monochrome)


BORDER
======

BORDER/ca

The BORDER keyword only specifies a color or attri-
bute for the menu border and general background for your
menu. If the default is satisfactory then you do not need
to include this card. Example:

BORDER/06
* (Default color of Brown on Black)
* (Normal display on Monochrome)


BLOCK
=====

BLOCK/ca

The BLOCK keyword only specifies a color or attri-
bute for the two graphics blocks at the top of the menu. If
the default is satisfactory then you do not need to include
this card. Example:





Davy Crockett Productions 27 July 1987









FastMenu Version 4.1 Page 8




BLOCK/05
* (default color of Magenta on Black)
* (Normal display on Monochrome)


HEAD
====

HEAD[/ca]=main-menu-header-text

The HEAD keyword specifies header text for the main
menu (and optionally a color / attribute). Headers are cen-
tered on the screen below the title and subtitle for the
menu. This heading will only appear on the screen when the
main menu is displayed. Example:

HEAD=[] FastMenu Development System []
* |---- Maximum Length: 70 Characters ----|


Fxx
===

Fxx=function-key-text

The Fxx keywords specify the function key text for
the main menu options. The characters "xx" should be
replaced with "01" through "10" to correspond to the F1
through F10 function keys. Do not include an Fxx record for
un-used function keys. Do include an Fxx record for
sub-menu function keys. This text is displayed with the
color / attribute specified on the TEXT keyword record (i.e.
you can not include a color / attribute with this keyword).
Examples:

* |--- Max. Length: 30 Char ---|
F01=Edit Input File >>>==========>
F08=<====<<< Color Reference Guide
* |--- Max. Length: 30 Char ---|












Davy Crockett Productions 27 July 1987









FastMenu Version 4.1 Page 9




FxxHEAD
=======

FxxHEAD[/ca]=sub-menu-header-text

The FxxHEAD keyword specifies header text for a
sub-menu (and optionally a color / attribute). The charac-
ters "xx" should be replaced with "01" through "10" to cor-
respond to the F1 through F10 function keys. Do not include
an FxxHEAD record for primary or un-used function keys.
Headers are centered on the screen below the title and sub-
title for the menu. This heading will only appear on the
screen when the sub-menu for function key Fxx is displayed.
Example:

F10HEAD=[] FastMenu Utilities Sub-Menu []
* |---- Maximum Length: 70 Characters ----|


FyyFxx
======

FyyFxx=function-key-text

The FyyFxx keywords specify the function key text
for sub-menu function keys. The characters "yy" and "xx"
should be replaced with "01" through "10" to correspond to
the F1 through F10 function keys. The "yy" indicates the
main menu function key and the "xx" indicates the sub-menu
function key used to access this option. Do not include an
FyyFxx record for un-used function key options. This text
is displayed with the color / attribute specified on the
TEXT keyword record (i.e. you can not include a color /
attribute with this keyword). Example:

* |--- Max. Length: 30 Char ---|
F08F01=BLACK Background >>>=======>
F08F02=<=======<<< Background RED
* |--- Max. Length: 30 Char ---|












Davy Crockett Productions 27 July 1987









FastMenu Version 4.1 Page 10




==================
=+= Appendix B =+=
==================



@TASK.COM
=========


@TASK [prompt] [$valid-responses]

This little program will display a prompt and wait
for a single key entry from the keyboard. It then sets the
DOS errorlevel to the ascii value of the key and returns to
DOS. Both [prompt] and [$valid-responses] are optional. If
a prompt is not supplied, @TASK simply waits for a key to be
pressed and returns the ASCII code. The valid responses
must begin with a "$". If a string of valid responses is
not supplied, @TASK will accept any key pressed and return
the code. Both the valid responses and any input from the
keyboard is converted to upper case. Beware of
valid-response characters that will be interpreted by DOS as
re-direction of standard input or standard output.



























Davy Crockett Productions 27 July 1987











 December 18, 2017  Add comments

Leave a Reply