[ª A B Y SCRNLINE C ÜKA  S T A R T E C H S Y S T E M S D Y N A M E N U S Y S T E M I N F O R M A T I O N ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß Important information about DYNAMENU and its library of programs: Overview The DYNAMENU program is a powerful organizer of dBase programs and has the ability to control up to 1680 complex program calls. Designed primarily for dBase programs, it will process any combination of DOS and dBase calls. The use of the DYNAMENU system will in no way impair the abilities of dBase to perform its normal functions. All programs in this system have been written with the idea that not everyone is using the Developer's Edition of dBase. This means that the source code for these programs is fully compatible with any Edition of dBase or the RUNTIME alternative. At the time any program is called via a screen cell in DYNAMENU, there are no open databases. Combined with the DYNAHELP context sensitive help system, DYNAMENU is an excellent method of presenting and organizing database programs. Disk Requirements The DYNAMENU menu and library system may be installed on any fixed disk on your system; the only requirements are that it is a fixed disk with a letter designation of 'C'-'Z' as the default disk is assumed & reset as needed. Any directory may be used - the system will assume the default directory and that directory need not be in the path. The required disk space for the initialized system is about one megabyte. System Disks DISKETTE 1 contains the associated data files. These are the empty databases and index files, resource databases, utility programs and predefined screen libraries. It also contains the MENU & LIBRARY PROGRAMS. These are the dBase modules that make up the software in this system. The dBase dBase Runtime programs are optionally available. They are not supplied because it is assumed that this system will be used in an environment where dBase is in use. Continuous Power Source An untimely loss of power can create havoc on any computer system. It is important that all computer systems that processes critical data have an uninterrupted source of power. Even a brief change in the level of voltage can cause a computer to halt or worse, cause hardware failures. There are numerous uninterruptable power supplies on the market. Any device meeting the needs of most systems (ie, 5 minutes of about 220 watts of power) should cost well within the budget of most small companies. A $600 investment could well save countless hours and many headaches. Hardware failures aside, the downside to not having this type of power supply is that data may become corrupted in one or more files due to loss of power at any particular moment. While this is most often not a fatal situation, it will at best be time consuming. At worst, some records may have to be erased and manually re-entered. A networked environment poses somewhat different problems in this regard. Providing for a continuous power source for a network server does not ensure that no corruption of data will occur in conjunction with a power outage. This is due in part to the fact that the server's operations are being directed by the nodes (users who are logged in to that server) on the system. When those systems (the nodes) halt, the network server will only know to close the open file upon recognizing lost contact with the node even though the file being closed may have been corrupted. Therefore, a network server with a continuous power source may help to reduce the potential for lost data, whereas one without may compound the problem. The loss of power does not always mean there will be a loss or corruption of data. Take the case of the system sitting idle at the opening menu - there is very little chance for a loss of data to occur at a time such as this. It depends on what kind of processing was occurring at the instant the computer halted. The following statement can not be emphasized enough: IF NOTHING ELSE, BE SURE TO PROVIDE YOUR SYSTEM WITH A HIGH QUALITY POWER SURGE PROTECTOR. One instant of power surge can wipe out an entire computer system; everything, including the CPU board, disk drive(s), auxiliary boards, modem, monitor and printer(s). Creating a Printer Description File The creation of a printer description file must be accomplished prior to use of the DYNAMENU system. The process includes selecting a printer(s) from a printer source file (PRTRSRCE.DBF) which is then added to the description file (PRTROPTS.DBF). A driver may be created for an unsupported printer by using the documentation provided with the printer in question and selecting the source driver that most closely represents the printer being installed. At the very least, one printer must be included in file PRTROPTS.DBF. If only one printer is defined, no response from the user will be required when it comes time to print something. This means that if the system is configured for more than one printer, a selection will be asked of the user at print time. The system comes configured with three printers which is probably not what you need. One is a generic driver, temporarily useable for most printers and the other two show the HP Laserjet installed as a local and as a network printer. Use program BUILDPRT to add your particular printer and then use program PRTREDIT to delete the unwanted printers. Preferably, two printers should be used; one 132 column, high speed, tractor feed, dot matrix printer and a letter quality printer of some sort - the HP LaserJet series works very well with the DYNAMENU System. To fully understand how the networked implementation of a printer works, refer to the variables NETPORT & LOCALPRTR in the file description below. While all of the control codes in both standalone and networked implementations are identical, there are subtle differences in defining the ports to be used. The system is geared to the Novell network and assumes that if it is functioning on a network it should communicate with Novell by using the Base 0 relative field NETPORT - CAPTURE is called using the contents of this field unless the field LOCALPRTR is set to True. In this case, CAPTURE is set to local mode. On a standalone system, these fields are ignored. Adding a Predefined Printer Driver Press 'F7', select 'PRINTER INSTALL' then press . Program 'BUILDPRT' will create a backup file so that any changes made may be abandoned when exiting the program. Select from previously uninstalled printers by using the Up/Down Arrow and PageUp/PageDn keys. Highlight the printer that most closely represents the printer being installed and press . Use the TAB, END and HOME keys to navigate through the fields that are not visible on the initial screen. While these fields may not be edited, they are available for review to determine the suitability of a particular driver for use with the intended printer. Pressing the END key will move the display to the last field on the right and the HOME key will return to the first field on the left. The TAB key moves the display to the right one field at a time while the SHIFT/TAB key moves the display to the left one field at a time. Any number of printers may be installed (added to file PRTROPTS.DBF). They may all be different printers that one time or another are in use on your system or they may be variations of the same printer as is the case with the two HP Laserjets this system came installed with. Notice that these printers only differed in their name and in field LOCALPRTR - one is used when the printer is on a local port and the other is selected when it is connected to a network server port. A printer is previously uninstalled if the field 'PRTRNAME' from file PRTRSRCE.DBF (the source file) is not duplicated exactly in file PRTROPTS.DBF (the installed printer description file). Use the stand alone utility program 'PRTREDIT' (printer edit) to modify any of the fields in the printer options file. This means that the same source driver may be used more than once only if the name is changed slightly. Consider the need to have the same printer output to different ports; perhaps because the system is on a network and at times the printer is moved to a local port on a work station which happens to be port 2 (LPT2) versus the standard parallel port LPT1. An example of this can be found in the printer driver source file under QUME - Sprint 11. Upon inclusion of a printer driver (press ), an attempt will be made to test the driver as installed. If the results of the test are appropriate, the installation of this printer has been completed - simply press or select another printer to install. Otherwise consider saving the changes regardless and using program 'PRTREDIT' to modify the control codes (refer to changing printer control codes in 'Creating/Editing a New Printer Driver' below. A word about the driver source file - while many of the codes in this file have been tested using the DYNAMENU software, some have not. At one time or another all the codes have been tested on the given printer, although not on the DYNAMENU System. If you have any difficulty with your printer installation, contact STARTECH SYSTEMS as soon as possible. Creating/Editing a New Printer Driver Use these instructions when either a specific driver for the printer being installed in not present in the printer source file (PRTRSRCE.DBF) or that some editing is required to finalize the installation of a particular driver. Begin by following the instructions for 'Creating a Printer Description File' above. Continue only after saving a particular driver (use CTRL-END); the one that most closely represents the printer to be installed. The programs 'PRTREDIT' (printer edit) and 'PRTRTEST' (printer test) are stand alone utility programs that can be accessed directly from the DYNAMENU System main menu under the column for Printing. These two programs perform their tasks on the printer description file (PRTROPTS.DBF) and not on the printer source file (PRTRSRCE.DBF). Their use is covered more completely in the Section on Printing. Use them to manipulate and test any printer driver needing changes. By example, records added in error or that are no longer required for any particular reason may be deleted by using program 'PRTREDIT' - highlight the record in question and press . The then deleted record will be removed when changes are saved. Pressing again will undelete that same record. The HP LaserJet has been selected in order to provide some insight to the process of typing printer codes into the printer definition file. The code to reset an HP LaserJet II as defined in HP's printer manual is <-E - defined as and an . While many word processors are able to create the '<-' (escape character), other programs (such as the DYNAMENU System) utilize the pressing of the escape key to determine the course of events - hence it is impossible to render the character from the Dynamenu System. To overcome this obstacle, a simple method of interpretation has been developed for use with these types of programs. The string <-E is changed so that it reads "chr(27)+'E'" - exclude the double quotes. Note that the original code from the HP manual has no quotes of either kind while the redefined code encloses all characters (in this case only an 'E') to the right of the + sign in single quotes. Use this method anywhere a '<-' (ESCAPE) character is required. All of this can be condensed to say; <-E becomes chr(27)+'E' The complete set of codes for the HP LaserJet II (those required for the DYNAMENU System) can be found below and are also depicted in the two examples of networked and non-networked HP LaserJet II printers in file printer source file (PRTRSRCE.DBF). Note that the symbol for ESCAPE '<-' has been redefined to read 'chr(27)+'. This relates to the ASCII Chart found in most DOS manuals and other technical references - 27 being the decimal representation of the ESCAPE character. By the way, subsequent characters (those to the right of the + sign) in these control strings must be upper or lower case as determined in the respective printer manuals. Also, one must pay particular attention to the differences between upper case letter 'O' and the number '0' as well as the lower case letter 'l' and the number '1' - confusion on these characters will lead to invalid test results and frustration. Printer control codes for the HP LaserJet II. PRTRNAME LASERJET LOCAL PBOLDON chr(27)+'(s3B' PBOLDOFF chr(27)+'(s0B' P66LINES chr(27)+'&l62P' P48LINES chr(27)+'&l48P' PPLINES chr(27)+'&l'chr(MPAPLINES)+'P' PCOMPON chr(27)+'&k8H' PCOMPOFF chr(27)+'&k12H PPAPWID 80 PPAPLINES 62 PLNSPERINC 6 PUNDRON chr(27)+'&d3D' PUNDROFF chr(27)+'&d@' PRESET chr(27)+'E' PORTOUT LPT1 NETPORT 0 PLTRQL T PCONTFED T LOCALPRTR T LASER T LANDSCAPE chr(27)+'&l1O' MFGNAME HEWLETT PACKARD MODELNO LASERJET II LINEOFFSET -2 CENTERFEED T Structure definitions for database: PRTROPTS.DBF - All fields are required: PRTRNAME Use any text that identifies the printer and its intended use. PBOLDON Turn ON bold type. PBOLDOFF Turn OFF bold type. P66LINES Set lines per page to 66. P48LINES Set lines per page to 48. PPLINES Set lines to PPAPLINES per page ®ÄÄÄ¿ ³ PCOMPON Set compressed text ON. ³ ³ PCOMPOFF Set compressed text OFF. ³ ³ PPAPWID MAX. number of columns at 10 CPI. ³ ³ PPAPLINES MAX. number of lines at 6 LPI ®ÄÄÄÄÙ PLNSPERINC RESERVED FOR FUTURE USE. PUNDRON Set underlined ON. PUNDROFF Set underlined OFF. PRESET Perform a printer RESET. PORTOUT Printer port identification - LPT1-3. See more information in Section on Network Implementation. NETPORT Relative network printer ID - BASE 0. Range is 0-2, which is 3 parallel ports. Valid only with Novell Networks. PLTRQL 'T'rue If letter quality printer. Otherwise 'F'alse. PCONTFED 'T'rue If continuous feed printer. Otherwise 'F'alse. LOCALPRTR 'T'rue If local printer - 'F'alse if printer connected to network server. LASER 'T'rue if Laser printer Otherwise 'F'alse. LANDSCAPE Set LANDSCAPE mode ON - Laser printers. MFGNAME Manufacturer's Name. MODELNO Manufacturer's Model Number. RRPRTR RESERVED FOR FUTURE USE RRPOINTER RESERVED FOR FUTURE USE LINEOFFSET Number of columns to offset (+ or -) Left right adjustment of particular printer. CENTERFEED If this is a laser printer, some programs need to know where to print envelopes. If not true, the left margin is assumed. Data Sensitive Programs While the system is in the early stages of use (ie, the first few weeks), some modules or programs will inform the user that more data is required to provide meaningful output. This is a normal condition and should be construed to mean that ongoing use of related components in the system will automatically fulfill that requirement. DOS Constraints If your system is using DOS 4.nn with a hard disk partitioned larger than 30 megabytes or a previous version of DOS using the SHARE command, or the FASTOPEN directory cache is in use, the following line must be added to the CONFIG.SYS file: FCBS=16,16