home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Software Du Jour
/
SoftwareDuJour.iso
/
BUSINESS
/
DBASE
/
MEMBERS.ARC
/
MEMBERS.TXT
< prev
next >
Wrap
Text File
|
1986-10-20
|
10KB
|
213 lines
MEMBERS -- Membership Tracking Package
Code Documentation
(The following code documentation is provided in place the user
documentation normally found here.)
General Comments
----------------
Functionally, the MEMBERS program is very basic (maintain a mem-
bers list and print reports and labels from it). It is presented
as an example of a user-interface design. I have used this
design in several more complex applications and am pleased with
its performance. The menu control code, contained in MDMAIN and
MDPROC, is very easy to recycle and modify, allowing more time to
concentrate on specifics of the application. I have also found
that the design requires less user training than others I have
used. If you find any part if this program useful, you are wel-
come to use it under one condition, IMPROVE IT FIRST!.
Module Dispatch Structure
-------------------------
- * -------------------------
| | | |
| AM-1 MDKEYSET MDFIELDS
|
|- Edit ------------------------------------------
| | | | | |
| AM-2 MDMOD MDRECALL MDPACK MDINDEX
|
MDMAIN --|- Setup -------------------------------
| | | | |
| AM-3 MDMODQRY MDMODFRM MDMODLBL
|
|- Reports -------------------
| | | |
| AM-4 MDREPORT MDLABEL
|
- Help ----------------------
| | |
AM-5 MDSHODOC MDSHODOC
PRG File Notes
--------------
MDMAIN This is the master control program for the application.
It is responsible for environment initialization,
loading in-memory procedures (MDPROC), file checking &
verification (via MDGEN), error trap initialization
(ERRCHK) and menu control. All other modules are called
directly or indirectly by MDMAIN.
è
MDPROC This file holds the in-memory procedures used by
MEMBERS. There are three basic types of procedures in
this file:
- utility procs for color control, message display etc.
- menu decode and display procedures
- @ GET/SAY procs (placed here for speed mostly)
MDGEN This module is executed once by MDMAIN. It checks the
directory for various MEM, DBF, NDX files required by
the package. Where possible, missing files are
constructed by MDGEN.
ERRCHK This is the error trap module (executed via ON ERROR).
It attempts recovery from index file errors and printer
errors. All other errors are recorded along with other
program status in an ERR file. Non-recoverable errors
cause program execution to be terminated.
AM-1 This module displays a quick-help screen for pull-down
menu #1 (* menu).
MDKEYSET This module is a facility allowing the user to assign
text to function keys F2 thru F10. The function key
text is recorded in MDKEYS.DBF for subsequent sessions.
MDKEYINT This module reads MDKEYS.DBF and sets the function key
text accordingly. It is called by MDMAIN during startup
and by MDKEYSET.
MDFIELDS This module displays the name and description of each
field in the MEMBERS database. The information is
pulled from the GENMBR.DBF file which also holds
the field information necessary to create MEMBERS.DBF.
AM-2 This module displays a quick-help screen for pull-down
menu #2 (Edit menu).
MDMOD This module houses the Edit facility for the MEMBERS
database. It initially displays a setup screen which
allows the user to select an index file, and optionally
select a query (.QRY) file from those available on the
directory. When setup is complete, it displays the
Membership Information Form screen. At this point the
user is free to edit the displayed record or perform
any of the following via keys displayed at the bottom
of the screen:
PgUp - go to previous record
PgDn - go to next record
^Home - append a new blank record (and display it)
F1 - mark/un-mark record as deleted
^PgUp - search for a record based on the index file
selected.è ^End - return to menu
If a query file is selected, it is used to set up a
filter which limits the accessable records to those
matching the query specifications.
MDRECALL This module will recall all deleted records in the
MEMBERS database.
MDPACK This module packs the MEMBERS database.
MDINDEX This module re-constructs all index files. (Uses
original index commmands, not the reindex command.)
AM-3 This module displays a quick-help screen for pull-down
menu #3 (Setup menu).
MDMODQRY This module allows the dBase MODIFY QUERY facility to
be executed from the menu. It first displays a query
file selection screen showing any existing query files
on the directory. When the user has selected a new or
existing file, it opens MEMBERS.DBF (so fields are
accessable) and runs MODIFY QUERY [user's file]. When
the user exits MODIFY QUERY, the database is closed and
control is returned to MDMAIN.
MDMODFRM This module allows the dBase MODIFY REPORT facility to
be executed from the menu. It first displays a report
file selection screen showing any existing report files
on the directory. When the user has selected a new or
existing file, it opens MEMBERS.DBF (so fields are
accessable) and runs MODIFY REPORT [user's file]. When
the user exits MODIFY REPORT the database is closed and
control is returned to MDMAIN.
MDMODLBL This module allows the dBase MODIFY LABEL facility to
be executed from the menu. It first displays a label
file selection screen showing any existing label files
on the directory. When the user has selected a new or
existing file, it opens MEMBERS.DBF (so fields are
accessable) and runs MODIFY LABEL [user's file]. When
the user exits MODIFY LABEL, the database is closed and
control is returned to MDMAIN.
AM-4 This module displays a quick-help screen for pull-down
menu #4 (Reports menu).
MDREPORT This module houses the Report facility for the MEMBERS
database. It initially displays a setup screen which
allows the user to select the output device (Screen or
Printer), report order (index), report form file
(defaults to LIST80) and optionally select a query
file. When setup is complete, it sets up a filter (if a
query file was selected) and checks for an empty è report. If records are found, the report is printed on
the selected output device. Before the REPORT command
is executed, STOPRPT.PRG is set as the ON ESCAPE
processor and allows the user to abort the report by
pressing ESC.
MDLABEL This module houses the mailing label facility for the
MEMBERS database. It initially displays a setup screen
which allows the user to select the output device
(Screen or Printer), label order (index), label form
file (defaults to ONE-UP) and optionally select a query
file. When setup is complete, it sets up a filter (if a
query file was selected) and checks for an empty list.
If records are found, labels are printed on the
selected output device. Before the LABEL command is
executed, STOPRPT.PRG is set as the ON ESCAPE processor
and allows the user to abort label printing by pressing
ESC.
STOPRPT This is the ON ESCAPE processor which is activated bye
MDREPORT and MDLABEL. It intercepts ESC keystrokes
during report or label printing and cleanly returns
control to MDMAIN.
AM-5 This module displays a quick-help screen for pull-down
menu #5 (Help menu).
MDSHODOC This module searches the directory for MEMBERS.TXT and
either prints or displays it depending on the logical
call parameter.
Other Files
-----------
MEMBERS.BAT -- Batch file to start the application.
GENMBR.DBF -- "Template" for creating MEMBERS.DBF. Also holds
field descriptions.
MEMBERS.DBF -- Members Information Database.
MDKEYS.DBF -- Database which holds function key text.
MDVARS.MEM -- Holds public mem-vars. Generally used to save
anything needed from session to session. In
this application it "remembers" which pull-down
menu was active when the user exited the program.
EXPIRED.QRY -- An example query file (selects expired members).
RENEW.QRY -- Another example query file.
LIST80.FRM -- Report form for 80-column listing of member info.
ONE-UP.LBL -- Label format file for one-up labels.