MODCOM 1.0 by Tim Dickey COPYRIGHT 1992 ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ MODCOM is an offshoot of another program called DBPRG which is a CLIPPER program editor. MODCOM has been specifically designed to be used as the COMMAND EDITOR within DBASE III+. It does not have all of the features of DBPRG because it was designed to maximize the available memory. Also I have eliminated all of the LIBRARY function calls which I included in DBPRG for the obvious reason that these function calls are useless in a DBASE III program. Further, I attempted to get rid of all the CLIPPER specific Commands from the Command database. I believe I got them all but if I failed to delete one or two just ignore them. What is left after all of this elimination is still quite a powerful Command editor. I hope that it is useful to you. ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍINSTALLATIONÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ To install MODCOM do the following: 1. Make a directory off of your root directory called \MODCOM and place it in the PATH statement in your AUTOEXEC.BAT file. (This is important because MODCOM looks for it's data files in this directory... it writes PRG's wherever it happens to be called from thus you may call MODCOM from any directory and it will function properly). 2. Copy MODCOM.ZIP into that directory and UNZIP it there. 3. REBOOT to establish the PATH 4. In your config.db file (if you don't have one of these you should make one...see DBASE III+ manual)...place the statement TEDIT=MODCOM and MODCOM will be called whenever you issue the command MODIFY COMMAND from within DBASE III+. (USER FRIENDLY TIP) -- You may want to append the following feature discussion to the end of the file called hlp.prg while you are learning the commands. That way if you have a question you can hit F1 and page down to reveal that text. It uses memory or I would have done that for you. ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍFEATURESÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ KEY FUNCTION ACTION ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ F1 HELP Help screen F2 COMMAND MACROS Pressing F2 within the editor causes a popup list of commands to appear. This list responds to the first KEY protocol. If you press 'D' the first selection starting with D will come to the top of the screen. Pressing Enter will cause the Command (together with its syntax to be transferred to your program starting at the cursor. You can then "fill in the blanks" with the syntax or just delete it. F3 FUNCTION MACROS Pressing F3 within the editor causes a popup list of functions to appear. This list responds to the first KEY protocol. If you press 'D' the first selection starting with D will come to the top of the screen. Pressing Enter will cause the Function (together with its syntax to be transferred to your program starting at the cursor. You can then "fill in the blanks" with the syntax or just delete it. F4 VARIABLE ENTER Pressing F4 will cause a single entry screen to pop up over the screen. You may enter a Variable of up to 15 characters. When you press enter The Variable will be transferred to your program starting at the cursor. The Variable is also stored in a database of up to 100 variables for later recall using F5. F5 VARIABLE SELECT Pressing F5 pops up a selectable list of Variables which you have previously entered using F4. Use the arrow keys or Page Up and down to find the variable name and then press ENTER to transfer the Variable to your program. ALT-F5 VARIABLE LIST Pops up the Variable list but does not copy it to your program when you exit. CTRL-F5 DELETE VARIABLE Pops up the list of variables from which you may select one to delete. F6 IMPORT PROGRAM Pops up a list of available PROGRAM FILES in the current directory which you may select from. Pressing ENTER will cause the contents of the selected file to be imported to the program starting at the cursor. (see warning below) F7 ASSIST Once you have entered a COMMAND or FUNCTION using F2 or F3 pressing F7 will pop up a syntax help screen to help you remember what all those "exp2" and "Nexp3" etc etc mean. F8 COPY BLOCK TO MEM After using ALT-M to mark the beginning and end of a block. Use F8 to copy it to memory. Then use ALT-P to paste it. ALT-F8 COPY BLOCK TO FILE After using ALT-M to mark the beginning and end of a block. Use ALT-F8 to copy the block to a file. F9 CHR() ENTER Pressing F9 will cause the next character you enter to be converted to the form "CHR(NUM)". If you hold down the ALT KEY and enter numbers from the KEYPAD the numbers will appear inside the CHR( ) parenthesis. By the way if you don't press ALT-9 first holding down the ALT KEY will cause the non-keyboard character to be written to your program. example: Holding ALT down and pressing 1 7 7 will cause '±'. Hitting F9 then ALT+1+7+7 will result in CHR(177). HITTING F9 and then ALT+F2 will give you CHR(-31) F10 SAVE/EXIT Same thing as hitting CTRL-W. ALT-S SAVE Saves the program to the data base and returns to the edit screen. ALT-M Mark a block -you need two marks to make a block ALT-P After saving a marked block to memory use Alt-P to paste it into the text. ALT-F or Enter a line number to go to. ALT-L ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍWARNINGÍÍÍWARNINGÍÍWARNINGÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ Using F6 to import a program file will cause all the semi-colons to be transformed into line feeds. So if you use a lot of semi-colons don't use F6. Thus if you use x='this is a very long line which I will break here'; <-(semi-colon) 'and continue here so that I can read it all' an attempt to IMPORT using F6 it will come out like this x='this is a very long line which I will break here' <-(linefeed) 'and continue here so that I can read it all' and crash your program. There is a fix for this but you will have to register the program to get it. ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ Disclaimer ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ Tim Dickey distributes this program solely on an "as is" basis and offers no warranties at all. Tim Dickey shall not bear any liability or responsibility to any user or entity with respect to any liability, loss or damage caused, or alleged to be caused directly, or indirectly by this program, including but not limited to interruption of services, loss of business or anticipatory profits or consequential damages resulting from the use or operation of any of the functions contained in this product. Tim Dickey makes no warranties, either expressed or implied regarding this software product, it's merchantability and/or it's fitness for a particular purpose. The user agrees that Tim Dickey shall not be held liable for any consequential damages, even if Tim Dickey has been advised of the possibility of such damages. ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ Shareware ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ MODCOM is being distributed under the shareware concept. You are granted the right to use this program for a trial period of thirty (30) days, at which time you must either stop using the program, or pay the registration fee of US $25 (subject to change) I will handle the postage in the USA. You may send in your registration fee to: Tim Dickey 6951 Homer St. #14 Westminster CA 92683 (714)891-2759 Registered Owners will receive the other part of the system which allows updating of the Command and Function databases and the associated help screens and the maintenance program for the PRG.DBF database...to allow you to delete programs, and import programs without the semi-colon problem. ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ Trademarks ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ Clipper is a Trademark of Computer Associates. DBASE III+ and DBASE III are trademarks of Borland All references in this documentation to trademarks, copyrights, registered names or the like are intended only as a reference and do not contain any inference.