Dec 142017
 
Menu generator for Dbase III.
File DBMENU41.ZIP from The Programmer’s Corner in
Category Dbase Source Code
Menu generator for Dbase III.
File Name File Size Zip Size Zip Type
DBMENU.DOC 27800 9329 deflated
DBMENU.EXE 103271 48289 deflated
DBMENU.HLP 4653 2078 deflated

Download File DBMENU41.ZIP Here

Contents of the DBMENU.DOC file










BTSOFT Systems, Inc.
MicroTek Consulting Group, Inc.
Post Office Box 95
Hewlett, New York 11557-0095

Copyright 1987, 1988, BTSOFT Systems, Inc.

Written & Edited By: Bruce K. Taub

MicroTek Consulting Group, Inc. - BBS
MCGI BBS (516) 593-9332 24hrs/day 7 days/week
2400/1200/300 baud (N-8-1)


dBMENU dBASE III + Menu Application Generator
Version 4.1 - 09/15/88





dBMENU dBASE III + Menu Application Generator
Version 4.1 - 09/15/88

I. Acknowledgments

dBASE, dBASE II, dBASE III, and dBASE III PLUS are registered trademarks of
Ashton-Tate (Torrance,CA); FoxBASE and FoxBASE + are trademarks of Fox
Software (Perrysburg, OH); Clipper is a trademark of Nantucket Corporation
(Los Angeles, CA); dBCOMPILER and QuickSilver are trademarks of WordTech
Systems, Inc. (Orinda, CA); MS-DOS is a registered trademark of MicroSoft
Corp.; and PC-DOS is a registered trademark of IBM Corp.; IBM PC/XT/AT &
PS/2 are products of International Business Machines Corp. (IBM Corp.);
Turbo BASIC is a registered trademark of Borland International (Scotts
Valley, CA)

II. Introduction/Background

This program was developed to save countless hours of development time when
working in a dBase III+ environment. A key factor in developing a database
system is the ease of use to the end-user.

dBMENU will produce uniform application menus in dBASE III+ code which is
easily read, and will run error-free. When dBASE II, and later the dBASE
III series of databases were introduced, I used to spend many hours coding
my menus and various other routines. Over the course of time, I found fast
efficient ways of writing my code. The biggest problem I found, was either
to copy the code and change the variables, or to rewrite the module I was
working on.

The most complex menu this generator can produce would take a good
programmer a minimum of a half hour to write, never having seen the code
before. The dBASE III+ menu application generator was developed to cut down
the programming time while creating menus. Even without the use of this
instruction manual, you should be able to create a full blown menu within
3-5 minutes; assuming you have all the titles and module names set aside.

III. ShareWare

dBMENU is distributed through a unique marketing approach called shareware.
Shareware does not mean free software. Shareware is just a distribution
concept. All that this means is that we are allowing this piece of software
to be distributed freely. You can copy it for your friends or associates,
and conversely you can receive a copy from them. You are allowed to
try/evaluate this program to see if it meets your needs. If it does, and
you use this product, you should become a registered user. Shareware makes
it basis on the honor system.

IV. Registration

A. Single User License

You can register this program by sending a check or money order in the
amount of Twenty-Five US Dollars ($25.), along with your name, address, and
daytime telephone number to the address mentioned throughout this manual, or
in section IV C below (Registration Address).

B. Site License

A site license is also available for this product, a site license allows for
unlimited copies of this program to be run on multiple machines at a given
site. This license can be obtained by sending a check or money order in the
amount of One Hundred Fifty US Dollars ($150.), along with your name,
company, address, and business telephone number to the address mentioned
throughout this manual, or in section IV C (registration address) below.

C. Registration Address

BTSOFT Systems, Inc.
dBMENU Registration
Post Office Box 95
Hewlett, New York 11557-0095

Upon receiving your payment, you will be placed on our mailing list for all
future revisions and new product announcements. You will also be sent the
latest release of dBMENU with your own serial number. You will be informed
about undocumented software switches. Finally, for every copy of your
dBMENU which is registered, you will receive a $5.00 rebate.

D. Electronic Bulletin Board System (BBS)

BTSOFT Systems, Inc./MicroTek Consulting Group, Inc. maintains an electronic
bulletin board which is available to the general public for free. Users are
urged to subscribe which allows additional security privileges and download
time. There are many ShareWare/FreeWare and Public domain programs
available on the BBS, as well as a section for all the programs developed by
BTSOFT & MicroTek.

V. Programming Conventions

- No Double Quotes (") are acceptable as inputted text.
- All Data to be entered is alphanumeric.
- An Audible Beep is used to alert you to an error in input.

VI. Environment

This program requires the following to work properly:
IBM PC/XT/AT (or 100% Compatibles)
256K Random Access Memory (RAM)
MS-DOS 3.x+ -or- PC-DOS 3.x+
Disk Space Requirements Maximum Output File Sizes:
LightBar - 28k
Straight Menu - 24k

One of The Following dBASE type Environments:
dBASE III PLUS Ver: 1.1 (or compatible operating environment)
FoxBASE or FoxBASE +
Clipper
dBCOMPILER or QuickSilver

ENVIRONMENT SWITCHES

Revision 4.1 of the dBMENU Generator no longer has the online help facility
incorporated into the object code. The system now has an auxiliary help
file called dBMENU.HLP In order for the help to be available online, it must
either reside in the current directory where the Generator is being
executed, or an environment setting must point to the location of the help
file. If you intend to run the generator in multiple sub-directories,
include the following line in your AUTOEXEC.BAT file:

SET DBM=\location

"Location" must be a valid drive:\subdirectory where the DBMENU.HLP is
located.

VII. Technical Information

The dBMENU generator was written in BASIC and compiled using Borland's Turbo
BASIC compiler. There is no 80x87 support for this program. Due to file
size limitations (Borland), this system really can not be enhanced any more
than its present state. The menu generator was written on an IBM AT (8MHz)
w/80287 and has been tested on most of the major brand and clone PCs
(processors ranging from 8088 to 80386 and machines from original PCs to the
IBM PS/2 line) with out fault. This doesn't mean that the program won't
fail; however this program does not use any special BIOS calls which would
limit its use to a particular brand or type of PC.

dBMENU 4.1 is not disk-copy protected, and can be backed up as many times as
the user deems necessary. The system [dBMENU] has security embedded in the
code to prevent malicious users from changing the name of the program, the
version, and the author.

VIII. License Agreement

BTSOFT Systems, Inc. and MicroTek Consulting Group, Inc. (herein referred to
as BSI/MCGI), grants to the Purchaser and Purchaser accepts a
nontransferable and nonexclusive license to use, on a single computer
(unless the product is site licensed), dBMENU and accompanying materials
provided to Purchaser by BSI/MCGI. Purchaser is hereby licensed only to
read the program from its medium into the memory of a single computer solely
for the purpose of executing the program. BSI/MCGI shall have the right to
terminate this license if purchaser violates any of its provisions.
Purchaser agrees that dBMENU and accompanying materials are the property of
BSI/MCGI and that BSI/MCGI shall maintain title to and ownership of dBMENU
at all times.

BSI/MCGI warrants that all disks provided constitute an accurate duplication
of dBMENU and BSI/MCGI will replace any disks found to be defective within
30 days from date of purchase. BSI/MCGI will not honor this warranty where
a software product disk has been subjected to physical abuse, or used in

defective or non-compatible equipment. BSI/MCGI makes no warranties of any
kind, expressed or implied, with respect to the quality, performance,
accuracy, or fitness of dBMENU for any particular purpose. BSI/MCGI assumes
no responsibility for any decisions made or actions ht Menu - 24k taken on
the part of the Purchaser because of the use of dBMENU.

In no event shall BSI/MCGI, or any of its representatives, be liable for any
loss of profit or any other damages, including but not limited to special,
incidental, consequential or other damages, arising out of the use or
inability to use this product - even if BSI/MCGI or an authorized agent of
such has been advised of the possibility of such damages - or for any claim
by any other party. BSI/MCGI reserves the right to make changes,
enhancements and improvements to dBMENU at any time and without notice.
Acceptance (registration) of this software, or use of dBMENU for any period
beyond the thirty day (30) ShareWare agreement constitutes your assumed
acceptance of this agreement and subjects you to its contents.

IX. Running

This program can be run, stand-alone directly from DOS by typing "dBMENU",
or it can be run from within dBASE III PLUS by typing "!dBMENU" at the dot
prompt.

A. Loading

Options: dBMENU [?] [filename] [/C] [/Q] [/T] [/FB] [/NC]

Typing dBMENU at the DOS prompt will invoke the menu generator without any
special functions.

[?] By typing dBMENU ? at the DOS prompt, you will get a list of the current
options available when running the program.

[filename] The filename is any 8 characters which results in a legal DOS
file. No extensions are permissible. This filename is the output file
which dBMENU will write the code to.

[/C] This option will eliminate the bulk of the programming comments in the
.PRG file.

[/Q] This option will quit out of the Sample Menu which is displayed when
running dBMENU.

[/T] This option will eliminate all the extra text associates with the
ShareWare Agreement inside your output file.

[/FB] This switch tells the lightbar generator that you will be using
FoxBASE conventions. (Left Arrow Trapping, and available FoxBASE SYS
Commands).

[/NC] This switch eliminates the CLEAR statement which precedes a selected
DO. Combination Choices: These switches can be run alone or in combination
with one another. For example, you might want to shut off the sample
display and have the output sent to TEST

dBMENU Test /Q /FB

B. Sample/ShareWare Screens

The system will initially display a sample screen which simulates what the
output dBMENU code will do when running under dBASE III. This screen will
display for approximately 30 seconds. This screen can be overridden (as
mentioned before) by including /Q option on the command line. After the
Sample Screen is completed, the system will display the ShareWare agreement.
BSI/MCGI will not You may press any key to continue. If no key is
depressed, the system will automatically continue in approximately 25
seconds.

C. Program Name

This is the output filename to which the dBMENU Generator will store the
dBASE III+ code. The name must be a valid DOS filename with up to eight (8)
Characters Maximum. Do not include ".PRG" extension, as dBMENU will do this
for you automatically. If you want the program file to have any other
extension, at DOS you will have to rename it. If the program name exists in
the current directory you have two options:
Yes - Which will backup then existing file (.BAK), and create a new file.
No - Which will allow you to re-enter the Program filename.

The current file name will be displayed in the upper left corner of the
generator screen.

D. Author (Optional) [Text]

This option is useful for identifying person, group or team who used the
dBMENU program to setup this menu. You are allowed to enter up to 40
alphanumeric characters in this field.

Input File
If you want a particular Author's name to appear in each file that this
program generates, it is possible to write the person (team) name to a file
called AUTHOR.DBM and include it in the current directory where dBMENU is
being executed.

E. Purpose (Optional) [Text]

This option is useful for identifying purpose for creating this menu. You
are allowed to enter up to 40 alphanumeric characters in this field.

F. Notes (Optional) [Text]

This option allows up to ten (10) lines of programming notes. Each Line
allows for 60 alphanumeric characters. Depressing the Key on a
blank line will terminate this function and proceed to the next.

Input File
If you have certain notes which you want to appear in each file that this
program generates, it is possible to write the notes (up to 30 lines) in a
file called NOTES.DBM and include it in the current directory where dBMENU
is being executed.

G. Menu Number (Optional) [Text]

This option allows for up to 7 alphanumeric characters. This will be
displayed in the upper left-hand corner of the menu, next to the word
"Menu". Example:

Typing "1.23" will produce "Menu 1.23" on the Menu. Typing "Test" will
produce "Menu Test" on the Menu.

H. Upper Right Corner (Optional) [Text]

This will display 12 Alphanumeric characters in the upper right-hand corner
of the menu application. If you want, you can have certain dBASE functions
(such as date or time) displayed here. Regular text should just be typed as
such. dBASE Code starts with a percent sign (%). Example:

%DATE() -or- %TIME()

I. Menu Title [Text]

This required text will be centered and displayed in the upper center of the
menu application, will be double boxed, and can be a maximum of 48
Characters in length.

Input File
If you want a particular Title to appear in each file that this program
generates, it is possible to write the title to a file called TITLE.DBM and
include it in the current directory where dBMENU is being executed.

J. Menu Subtitle (Optional) [Text]

This section allows for two optional text lines which will be centered and
displayed in the upper center of the menu application, along with the title,
and will be included in the title box. If only one Subtitle is selected, it
will be displayed two lines below the main menu title. If both Subtitles
are used, they will be listed one below the other, with no blank lines
separating them.

Each of these subtitles can be a maximum of 48 Characters in length. If the
first subtitle is omitted, the system will automatically omit the second
subtitle.

K. LightBar/Straight Menu

LightBar will allow you cursor control as well as direct letter/number
selection of an option. A bar of light will display the current menu
selection in reverse video (in the colors you selected). The straight menu
takes up less memory, and only allows the user to make a choice by selecting
the letter or number for the given option. The cursor keys are disabled.

L. Color Selection

Since certain colors conflict with one another, the program has been
modified so that once a Background color is selected, it will be impossible
to make the Foreground, Boarder, or LightBar colors the same as the
background. Background Foreground Border Lines (Lines surrounding titles
and options.) LightBar (Not Available with Straight Menu Selection)

The system will not allow for the following selection/color combinations:
Foreground = Background
Background = Border
Background = LightBar

M. Force Selection Highlight (Not Available with Straight Menu)

There will be times where the on screen instructions for cursor movement
will be inappropriate if displayed in the LightBar Colors, or you just might
want black letters on a white background (white letters on black background
if the background is white.)

N. Level Letter

Since the majority of the generated application menu is based on variables
each menu, and sub-menu (nested menus) should have different nesting
letters. Duplicate nesting letters will cause previous menus to fail. H.
Upper Right Corner (Optional) [Text] A-Z are the only valid selections for
this option. Nested Level letter "A" allows a Company Name to be displayed
on the title screen. This is particularly useful for taking credit when
developing a dBase system. (See option O, below.)


O. Company Name (Optional)

You will be allowed to enter 40 alphanumeric characters for a company name.
This information will be centered on the bottom line of the menu
application. Example:

MicroTek Consulting Group, Inc.
will be displayed as
(c) MicroTek Consulting Group, Inc. - 1988

The year that follows the copyright notice is obtained from the system
date/clock.

If you want a particular Company's name to appear in each Nested Level "A"
file that this program generates, it is possible to write the company name
to a file called COMPANY.DBM and include it in the current directory where
dBMENU is being executed.

P. dBASE/FoxBASE Rules

There are some nuances (differences) between dBASE III+ and FoxBASE. This
system will keep track of the current application's name in a variable
called LSTPGM. FoxBase has a SYS() function to do this automatically, dBASE
does not; so if you are using dBASE, the system will hard code this variable
for you. If you have no intention of using dBASE, select oxBase,
otherwise, you will have to modify your output code.

Q. Options - Yes/No Selectors

1. Return to Previous Menu

This option should be selected if you are generating is a sub-menu. This
uses the dBASE III+ command to return to the previous routine. [RETURN] If
you select this option in your main menu, you will be dropped at the dBASE
III+ dot prompt.

2. Return to Master Menu

This option should be selected if you are generating is a sub-menu. This
uses the dBASE III+ command to return to the main program routine (top of
the menu nest). [RETURN TO MASTER] If you select this option in your main
menu, you will be dropped at the dBASE III+ dot prompt.

3. Exit to DOS

This option should be selected if the menu you are generating is either the
main menu or if it is a sub-menu. This option uses the dBASE III+ command
to Close All Databases and files, and Quit to DOS.

4. Option Explanation (Optional if Selected)

This part of the User Interface will display a box in the lower center of
the menu, and displays the text you wrote to describe this option. The text
changes with the cursor movement only.

5. dCode (Optional if Selected)

Up to nine lines of dBase III+ executable code.

R. Number of menu Options

The numberound if the of menu options is based on whether you selected: Exit
to DOS, Return To Previous Menu, and Option Explanations. If you select
none of these options you can have up to 26 selections in your menu
application; depending on how many selections you made, your choices will be
limited between 16 and 26 options. This screen will inform you what is the
maximum number of options to remain in the single column format (information
is on bottom of this menu screen).

S. Include Left Arrow Trap

If you selected enough options that requires the menu to be in a two column
format, you will be asked if you want to include a left arrow trap. As
stated in the April 1987 issue of the Ashton-Tate's TechNotes (Page 16), "In
dBASE III PLUS version 1.1, the INKEY() function does not trap Leftarrow."
For this reason, say Yes if you are using Runtime Module or Compiler other
than dBASE III+. (Compilers such as Clipper, FoxBase, QuickSilver, etc.;
and Runtime Modules/Replacements such as FoxBase Plus, etc.) If you are only
running under dBASE III PLUS say no to this question, or whenever the
left-arrow is depressed, the results will be unreliable.

T. Screen Information

When entering the Option Information, there is certain screen information
that you should be aware of, and they are:

1. dVariables

This information is located in the upper left corner of the menu generator.
"dVariables" are the amount of dBASE III+ variables that will be used by
your ".PRG" file.

2. dBytes

This information is located in the upper right corner of the menu generator.
"dBytes" are an approximate amount of dBASE III+ bytes that will be used by
your ".PRG" file.

3. Option Number

This is the number of the option you are currently working on. (This number
will increase as you enter more options.)

4. Options Remaining

This is the number of the remaining options, that the user will select from.
(This number will decrease as you enter more options.)

5. Escape to Abort

This function can be performed at any time during the dBMENU operation.
This will abort the program and return you to DOS. If and when you select
this option, the filename you were working on will be deleted.

U. Selection Letter/Number

This is the keyboard character that the user must depress to select the
associated text option. This is only one character in length. All
alphabetic characters will be converted Upper to Lower and Lower to Upper.
What this means is that if the user selects EITHER the upper or lower case
character, this option will be selected. REMEMBER: Only Alphabetic
characters will be converted.

V. Menu Option

The lower center of the menu, and displays the text you wrote to This is the
description that will appear next to the Letter, Number, Character that the
user must depress to select this option. If this is a single column format
that you can type up to 50 Alphanumeric characters. If this is a two (2)
column format then you can only type up to 22 characters.

- If you said es in option Q #1, you can not select the letter(s) "Rr",
as these have been reserved by the system to "Return to the Previous Menu"
- If you said es in option Q #2, you can not select the letter(s) "Mm",
as these have been reserved by the system to "Return to the Master Menu"
- If you said es in option Q #3, you can not select the letter(s) "Xx",
as these have been reserved by the system to "Exit To DOS"

W. Option Message (If Selected in section Q #4 above)

This section allows for up to 50 alphanumeric characters which will describe
or explain the associated Menu Option. Even if you select this option, you
do not have to type text. When using the lightbar menu, if the message text
is found, it is displayed only when the arrow keys are depressed, moving the
cursor to an option. If no text is found, the message box remains blank.

X. dCode (If Selected in section Q #5 above)

This section allows for up to 60 text (alphanumeric) characters which you
would want your menu to execute from dBase. This section is also optional,
and will allow for a maximum of 9 lines of executable code. Depressing
on a blank line will terminate the function of this option.

Y. [.PRG file] DO

This is the program file which would be executed should an associated option
be selected from your menu. This would be any VALID dBase III+ program
filename (any legal DOS filename) without the extension, since dBASE assumes
.PRG, and FoxBase assumes .FOX, etc. If you leave this section blank, the
system will code in a comment line to inform you where the "DO" statement
belongs for the associated menu option.

X. Advanced Options

A. Merged Code

This system provides the user the ability to incorporate standard or
"Canned" dBASE Code into your menu application. You might, for example,
have a security routine which applies to all the menus you create. This
routine can be inserted or merged into the menu at certain key "merge"
points. The code you wish to have merged into the menu must reside in a
file called:

MERGEx.DBM (x is the merge level)

There are eight (8) merge locations and, as mentioned above, the information
would be extracted from MERGE1.DBM through MERGE8.DBM. If you run the
dBMENU generator without using the switch setting [/C], the menu generat
or will identify these areas by commenting out the positions for the merged
text. Further reference to the MERGE data files can be found in Appendix B
of this manual.

XI. Appendix

Here is a reference list of all the data files that could potentially be
used by dBMENU. It is not necessary to have any or all of these files for
the system to function properly; however these files will aid the user in
creating an application menu.

A. REFERENCE DATA FILES

AUTHOR.DBM - One line - 40 alphanumeric
NOTES.DBM - 30 lines - 60 alphanumeric/line
TITLE.DBM - One line - 48 alphanumeric
COMPANY.DBM - One line - 40 alphanumeric

B. MERGED CODE DATA FILES
Level Location:

MERGE1.DBM - After Header Comments
MERGE2.DBM - Before Program Title Display
MERGE3.DBM - After Program Title Display
MERGE4.DBM - During Display Option Messages
MERGE5.DBM - During Keyboard Trapping
MERGE6.DBM - After Valid Key Selection
MERGE7.DBM - Before Performing Selected Menu Item
MERGE8.DBM - Last Line Before ENDDO of Menu Loop

License to Use Agreement

BTSOFT Systems, Inc. and MicroTek Consulting Group, Inc. (herein referred to
as BSI/MCGI), grants to the Purchaser and Purchaser accepts a
nontransferable and nonexclusive license to use, on a single computer,
dBMENU and accompanying materials provided to Purchaser by BSI/MCGI.
Purchaser is hereby licensed only to read the program from its medium into
the memory of a single computer solely for the purpose of executing the
program. BSI/MCGI shall have the right to terminate this license if
purchaser violates any of its provisions. Purchaser agrees that dBMENU and
accompanying materials are the property of BSI/MCGI and that BSI/MCGI shall
maintain title to and ownership of dBMENU at all times. BSI/MCGI warrants
that all disks provided constitute an accurate duplication of dBMENU and
BSI/MCGI will replace any disks found to be defective within 30 days from
date of purchase. BSI/MCGI will not honor this warranty where a software
product disk has been subjected to physical abuse, or used in defective or
non-compatible equipment. BSI/MCGI makes no warranties of any kind,
expressed or implied, with respect to the quality, performance, accuracy, or
fitness of dBMENU for any particular purpose. BSI/MCGI assumes no
responsibility for any decisions made or actions taken on the part of the
Purchaser because of the use of dBMENU. In no event shall BSI/MCGI, or any
of its representatives, be liable for any loss of profit or any other
damages, including but not limited to special, incidental, consequential or
other damages, arising out of the use or inability to use this product -
even if BSI/MCGI or an authorized agent of such has been advised of the
possibility of such damages - or for any claim by any other party. BSI/MCGI
reserves the right to make changes, enhancements and improvements to dBMENU
at any time and without notice. Purchaser whose signature appears below
agrees to the terms of the above License. However, even if you fail to
return this agreement, use of dBMENU for any period beyond the thirty day
(30) ShareWare agreement constitutes your assumed acceptance of this
agreement and subjects you to its contents.

Accepted by:

Date:

Return within 30 days to BTSOFT Systems, Inc., P.O. Box 95, Hewlett, NY
11557-0095 insure support of your purchase.



 December 14, 2017  Add comments

Leave a Reply