==== DOCUMENTATION FOR DB2SHELL.CMD ==== version 3.0 A dBASEII(tm) Command File By Jim Gronek 12/16/1987 DB2SHELL is a multi-purpose program written in the dBASEII applications language. DB2SHELL provides most of the capabilities of dBASE at the command level, and MANY capabilities to enhance your utilization of dBASE, all under a friendly menu- driven 'shell' that provides constant feedback, and control of activity. DB2SHELL was initially derived from the excellent multi- file set of database management routines included in DB2-CMD.LBR. There were 41 separate command files, taking up a minimum of 41K on any disk. On my Hard Disk Kaypro 10, the set occupied over 168K, due to the 4K sector size on the disk. I really liked the concept of an all-in-one database utility that provides a more friendly environment than the standard DBASEII command level. I didn't like the way it ate up space on my disks, or the way many of the user update displays were presented, hence, DB2SHELL.CMD. In its first iterations, DB2SHELL was little more than an expanded and consolidated grouping of the DB2-CMD files. Around version 1.3, DB2SHELL began to take on a life of its own, adding many significant features that go FAR beyond the original routines. DB2SHELL has become a prime example of what can be created from the fruits of the Public Domain. It is a collection of techniques gleaned from many authors, and is certainly beyond the capabilities of all but the most experienced of dBASEII programmers to fully understand. DB2SHELL provides all of its capabilities in only 11 files. DB2SHELL.CMD is the main program driver, to use just type A>DBASE DB2SHELL. There are three files that YOU must modify to realize the full capability of the program: SETPRINT.CMD - A command file containing the control codes for your printer. Change whatever you need to, you may add up to 13 new memory variables, but do not alter any of the existing memory variable names in SETPRINT.CMD if you wish to maintain compatibility. APPLMENU.CMD - A command file containing a list of YOUR DBASEII applications. Use APPLMENU.CMD from this set of files as an example. The same cautions apply about memory variables names here as SETPRINT.CMD. CLEARSEQ.CMD - A command file containing the CLEAR SCREEN and CLEAR TO END-OF-LINE control sequences for your terminal. ================ NOTICE ================= DB2SHELL.CMD has been encoded to improve its speed of execution and reduce its physical size. It CANNOT be listed, or modified externally. Only the three support files, SETPRINT.CMD, APPLMENU.CMD and CLEARSEQ.CMD need be customized anyway. The program uses TEMPLATE.DBF for two of its functions. If TEMPLATE.DBF is not available when needed, DB2SHELL will notify you of that fact, and allow you to create it from the menu. DB2SHELL.CMD will run on any computer under DBASEII version 2.4 or 2.43*. I doubt that it will execute under any earlier version. Enjoy. ================ REVISIONS ================= Version 1.1 allows default drives up to 'D', instead of 'C', and fixed a bug in display routine to allow viewing of last record in database. Version 1.2 adds the ability to print a 'GRAPH' of the database structure in use. Version 1.2KP has Kaypro 2/4/10 specific video codes. It may also run on other ADM-3A type terminals, but I cannot guarantee success. Version 1.3 and 1.3KP have numerous coding improvements to speed execution, and a bug in the 'compress' function was repaired. Version 1.4 has numerous coding changes to improve error- checking, improve displays, and speed execution. Additionally, version 1.4 incorporates routines from Adam B. Green's book on Advanced dBASEII Programming that formats .CMD files for analysis and documentation purposes. Version 1.5 has improved cosmetics, controls and functions. The date entered is now saved to disk as SYSDATE.MEM and is used to initialize the SET DATE function upon entry to DB2SHELL. The system date is also validated accurately. The command file formatter will now process command lines containing the continuation character (;). Command files may also be output with or without line numbers. Menu items have been added to execute any dBASE2 command file and to exit from DB2SHELL to any CP/M command line. The most significant new feature is the addition of a menu item to create a MailMerge compatible file from any dBASE II file. The process is entirely menu driven and permits selection of fields to be included in the output file. Also added screen and line clearing customization by means of a command file. Command file independence for applications has been enhanced by saving all DB2SHELL memory variables prior to invoking application command files, and restoring them upon return. Version 1.6 restores the ability to run DB2SHELL from any disk, not just from A>. Corrected a nesting bug in the CASE portion of the command file formatter. Version 2.0 is a major rewrite of parts of the program. Some of the redundant options have been combined, and THREE significant new capabilities have been added: 1. Menu selectable Directory Display. 2. The ability to 'type' an ASCII file to the console, either squeezed or unsqueezed, even from within a library. 3. The ability to purge almost any database of duplicate records. Version 2.0 also has improved error checking and faster response time to menu choices. Version 3.0 is a major rewrite of the program, modifying many of the routines and splitting the program into 11 separate .CMD files. The reason for the split is to incorporate the many changes and to increase the speed of response to keyboard commands. Also, version 3.0 removes most (but not all!) of the POKE statements that were driving MS/DOS users crazy. 3.0 may look like the same program as 2.0 to the casual users, but it is not! ==== SOURCE CODE AVAILABILITY ==== DB2SHELL is distributed as an encoded file. It cannot be listed or modified. The modules for most of the functions are available in the original library DB2-CMD.LBR, but those modules have been 'SIGNIFICANTLY' modified for use in DB2SHELL. Additionally, DB2SHELL incorporates certain techniques that may be instructive for the dBASEII Applications Developer. Unencoded source code is available for $15.00, if you pick it up from my RCP/M, or $25.00 on diskette through the U. S. Mail. Send cash, check or money order to the address listed below. Cash or money order purchases will be shipped within 48 hours of receipt. Allow 14 days for personal checks to clear. Jim Gronek, Sysop Lost Dutchman's Gold Mine PICS Post Office Box 23937 Phoenix, Az. 85063 (602)247-2880 300-1200-2400 Baud 24 Hrs, unless in use