DEVDMO - Software Developer's Demonstration of GLUE/BASIC/DART interactions.
By Creed Erickson, DMSI

The DEVDMO system is a "do nothing" system that simply exists for it's own
gratification. However, the techniques and methods used are great examples
of how to exploit some of the less obvious aspects of the GLUE menu system,
DART, ESP, and AlphaBASIC. The intent here is to provide the serious
software developer with examples of how to bind BASIC, DART, ESP, and GLUE
into a integrated, powerful system.

To help you step through the examples I have included the following notes
on the DEVDMO.GLU menu file. The rest of the system is reasonably self-evident
once this front end menu is understood.

Files included:

       DEVDMO.BAS      DEVDMO.GLU      DEVDRP.SCR
       DEVDMO.DRT      DEVDM2.GLU      DEVDMO.TXT <- You're reading this one.
       DEVDRP.DRT      DEVDMO.SCR



                            NOTES ON DEVDMO.GLU

Selection #1    This is an example of a "dual-mode" selection. This option
               may  be selected by either entering it's selection number
               or by pressing the EDIT (F1) function key. When this
               selection is activated several key files are located. If
               these files do not exist they are built. Control is then
               passed to the DEVDMO.BAS program. This selection is an
               example of how a GLUE menu can utilize the AMOS command set
               to achieve sophisticated file manipulation via LOOKUPs.


Selection #2    This option may also be selected by either entering an
               option number (2) or pressing a function key (LIST or F10).
               When activated, this selection does quite a number of
               things. First, any previous report list file is erased.
               Then the interactive basic interpreter is invoked to build
               a file of terminal input keystrokes called "DEVDMO.TIP".
               This file name is set into the indirect input file
               specification using the SETUSR xcall subroutine. Basic is
               exited and the DART report DEVDRP is invoked. All terminal
               input is taken from the indirect input file which has been
               loaded with the proper keystrokes to cause the report to
               run without sending the resultant print file to the
               printer. The actual DART processing occurs in a manner
               totally invisible to the user. This methodology could be
               used for custom "front end" processors to reports.

               Once DART processing is complete, the interactive basic
               interpreter is invoked again and a short program is written
               and compiled. The resultant run time code is saved to the
               disk as a .RUN file and basic is exited. While it might be
               a much more practicle thing to simply keep this program
               around, the intent of this example is to show how a GLUE
               menu can combine with BASIC to do some fairly complex
               processing.

               The compiled program is run which causes the .RUN file to
               be erased and allows the user some choices as to the
               disposition of the report print file.


Selection #3    This selection is fairly straight forward in that it edits
               the DEVDMO.BAS file and erases any backup files when
               complete.


Selection #4    This is very similar to selection number 3 except that it
               uses interactive BASIC to build and invoke an indirect input file
               which puts the user directly into the maintenance menu with
               the Data Base definition already loaded.


F8 - SPECIAL    This option is invoked by pressing the SPECIAL (F8) key. A
               "Special Functions" menu is invoked.


F13 - MENU      This option is used to erase any "junk" files before
               exiting the DEVDMO system.