Contents of the DRMEN101.DOC file
DRMENGEN ver 1.01 CHANGES SEPT 5, 1988
- 'QUICK DOS' now calls COMMAND.COM if it is on the root directory
- Fixes generated code bug. Now when the Esc key is pressed to clear a
drop menu, the background colors are not changed.
- The *.CFG file have been extended for all color combinations and are
slightly modified. Ver 1.00 will not load *.CFG files saved in
ver 1.01. Ver 1.01 will load both versions of the *.CFG files.
- Corresctly saves procedure file for DBASE.
DRMENGEN ver 1.0 Sept 1, 1988
- SHAREWARE -
AUTHOR: BRIAN H HUNT
ADDRESS TILL: 10 NOV, 1988 2727 DUKE ST, APT 1310
ALEXANDRIA, VA 22314
Phone: (703) 751-6010
AFTER: 10 NOV, 1988 4750 GLENDALE AVE NE
SALEM, OR 97303
DRMENGEN is a dropdown menu shell generator for CLIPPER and DBASE III.
It is intuitive and easy to use. It permits the user to quickly re-edit
menu shells through the use of configuration data file written to disk as
well as the generated menus. A great deal of work went into this program, so
I ask of you to support the SHAREWARE concept and slip me a donation of
$ 25.00. With a donation, you will recieve future upgrades and source code.
DRMENGEN was compiled under CLIPPER. This is the first of several code
generators for the DBASE environment and if the shareware concept is
adequately supported, I will upload them also.
Inspiration for DRMENGEN came from Simon Poole's excellent Menu
generator for DBASE menus. I expanded on it significantly and tried to
make it as useful as I can for developers. I write a considerable amount
of code for Clipper developed applications at work and saw a need for a
code generator to help standardize program interfaces.
DRMENGEN.EXE The code generator - needs no other files to run
DRMENGEN.DOC This document
EXAMPLE.PRG A strip downed version of generated code to help
show general logic. Best printed out using
TEST1.CFG An example MENU configuration file that DRMENGEN
saves as well as generated code. To modify a
generated menu, just load the corosponding *.CFG
and quickly edit it, re-generate and re-compile
CLDR.BAT sample batch file for compiling with MSDOS linker
CURSON.OBJ called modules needed for compiling to turn
CURSOFF.OBJ cursor on or off
This program has been thoroughly tested for Clipper. Since, I use
Clipper entirely at work and do not use DBASE, the generated code has not
been tweeked for DBASE. However, where there are differences, DRMENGEN
writes the specific code for DBASE. My guess is that it might be too slow
for interpreter operation. The generated code works well on my Z-248 for
Clipper. I would appreciate any comments on DRMENGEN and the code it
TO USE DRMENGEN (Hard drive is best)
1. Load DRMENGEN
2. Either load a previously saved configuration file *.CFG by
selecting 'LOAD MENU DATA' under the 'FILES' menu or
select 'PARAMETERS' under the 'DESIGN' menu.
Once this is done, it doesn't matter what order you use to
create the menu shell. Your options are under the 'DESIGN' menu.
OPTIONS: 'DESIGN MENU'
PARAMETERS: 'PARAMETERS' Enter the name for the code to be generated -
DRMENGEN will add the '.PRG' extension. The menu data file
or configuration file will use the same name with a '.CFG'
extension. Answer 'Y' if for Clipper. If you type 'N'
DRMENGEN will write an additional file called MENUPROC.PRG
containing all the procedures called by the menu. They are
all written together when Clipper is enabled. Default
values are shown. Default name 'TEMPMAIN'.
The screen coordinates for Clipper and DBASE have 0,0 in the
upper left corner and 24,79 in the lower right corner. If
the MENULINE is 1, the menubar will be on the second line or
line 1 for Clipper. MENUWIDTH is the spacing from the first
character of one menu to the first character of the next
menu. The maximum number of displayed
characters is 80. MENUWIDTH * NUMBER MENUS must be <= 80.
DRMENGEN will make sure it is less than 80 and will reduce
MENUWIDTH if necessary.
Spacing between the MENULINE or MENUBAR and the drop menus
can be set.
HEADING: 'HEADING' Up to 5 lines of heading can be written here
depending on the position of the menubar. The menubar
or called menuline is set under 'PARAMETERS'.
MENUS: The selection 'MENUS' under the menu 'DESIGN' is use to fill
in the string variables to be displayed and the names of the
subroutines to be called, when selected. After setting
the menu parameters, this selection will enable you to give
names for each menu heading on the menubar and the number of
subroutines or options per heading (max 8 menus with 10
options each). After entering these values, DRMENGEN will
bring up each dropmenu, one at a time, so you can enter the
string variables for for the selection names and the names of
their corosponding subroutines. Values shown are default.
Item 0./Menu 0. is the default exit selection.
COLORS: This selection brings up a sample menu and allows you to
change colors simply by using the cursor keys. The colors
displayed when the Esc key is pressed will be saved to the
generated code. They can be changed.
TEST MENU: This selection brings up a complete working version of the
generated code before saving it. It allows you to view its
appearance as you make changes in any of the 'DESIGN'
selections. This displayed version is slower than what the
generated code will be.
Once a menu is initializing by first selecting 'PARAMETERS'
or loading a previously saved *.CFG file, you can change ALL
'DESIGN' items to include all PARAMETERS. Once you have what
you want, either save just the MENU DATA FILE (*.CFG) or
generate the menu. If you forget to save your menu, DRMENGEN
will save a configuration or menu data file called:
RESERVED VARIABLE NAMES:
DRMENGEN uses the following variable names and procedure names. Avoid
using these any where in your application:
SNUMMENUS SLINE MENUSET
SMENULINE SOFFSET MENUHEAD
SMENUWIDTH SNUM SDROP*
SNUMOPT SCNTR SSTART
SNUMOPT* SCHOICE SFINISH1
SSOPT SMCHOICE SFINISH2
SSSOPT** SKEYPRESS MESSOUT
SMOPT* SMENUMODE MESSOUT1
SCHCOL SDONE MESSOUT3
I hope you find this useful. Again, I would gladly entertain any
questions or comments you may have.
Brian H. Hunt
DBASE, DBASE III and DBASE III+ are registered trademarks of
CLIPPER is a registered trademark of Nantucket, Inc.