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.