PRODUCT :  R:BASE                  VERSION    :  3.1 AND UP
     We all appreciate the usefulness of our printers. They produce our
     product lists, business letters, mailing labels and other printed
     information. The software we use needs to take advantage of the
     printers'capabilities so we can get the best possible output. Most
     software products provide either printer drivers or printer control
     files to help us get the most from our printers. R:BASE and Personal
     R:BASE give us the option of selecting printer control files (the
     control files are selected during installation of the software). The
     printers Microrim provides files for are listed in Appendix C of the
     Upgrade Express booklet or the Installation Guide.
     If your printer is not listed, check your printer manual to see whether
     it is compatible with any of the printers that are listed. Many printers
     work well with the Epson1.prd file, for example. Otherwise, you can
     create your own printer control file.
     What Is a Printer Control File?
     A printer control file is a list of printer commands, called printer
     control codes. Printer control codes are a series of characters that
     tell the printer what to do. When you set a printer in R:BASE, you are
     selecting a printer control file that contains a certain set of printer
     control codes. You can set a printer by choosing the TOOLS option on
     the R:BASE Main menu, then choosing SETTINGS, then pulling down the
     CONFIGURATION menu and using the PRINTER option. The printers selected
     during Install will be displayed.
     The control codes in a printer control file can include instructions
     about printing in compressed or bold fonts, printing italics, under-
     lining, and many other options. You use control codes in the reports
     and labels in your databases by choosing a code from the Print Style
     menu and then locating it. Reports and labels will now send that code
     to the printer when you print, and the printer will then interpret the
     code and print in the style you have selected!
     Modifying a Printer Control File
     How can you tell R:BASE to take advantage of printer features that are
     not listed in the Microrim-supplied printer control file? How can you
     make your own printer control file? Both questions are answered below.
     The printer control files that come with R:BASE are ASCII text files.
     This means that you can edit and change them with any text editor,
     including R:BEDIT, the R:BASE editor. You can make a new printer control
     file by copying an existing file and modifying it with an editor. All
     you do is add the printer control codes you want to the file, being sure
     to follow the format of the existing codes.
     The hard part of building a printer control file is finding the correct
     printer control codes. Most printer manuals list the control codes or
     tell you how to create them. Look in the appendix for a list of "escape
     sequences", or control codes.
     Understanding Escape Sequences
     Escape sequences are groups of ASCII characters (usually preceded by the
     "escape" character, (character(27) in decimal)) that the printer inter-
     prets. ASCII characters or ASCII codes are the characters (letters,
     numbers, and the other symbols) that are on the keys of your computer
     keyboard. ASCII characters can also be represented by decimal codes and
     sometimes hexa- decimal (or "hex") codes. All these codes are represen-
     tations of the different ways in which the computer can store the ASCII
     characters. What this all boils down to is that R:BASE printer control
     codes convert decimal codes into ASCII characters.
     You need to convert the escape sequences listed on the printer manual
     charts into their decimal (number) equivalents and put the correct
     decimal codes in the printer control files. Below is an example of a
     features reference table from one printer manual.
     | Function       Control Code    Decimal Value     Hexadecimal    |
     | -----------    ------------    ---------------   -------------- |
     | Landscape      ESC &l10        27 38 108 49 79   1B 26 6C 31 4F |
     | Orientation                                                     |
     You are interested only in the function, control code, and decimal
     value.  The hexadecimal column might be used by other software, but
     R:BASE uses the decimal value. The function is what you want the printer
     to do. The control code is the escape sequence or the group of ASCII
     characters that tells the printer how to do this. The decimal value is
     what the printer control file needs.
     Notice that the value in the Control Code column starts with the letters
     "ESC". This represents the escape character you would not normally see
     (if you could see it, it would look like a left arrow). Most printer
     control codes start with the escape key, thus the name "escape sequence"
     is often used instead of "printer control code". Because most control
     codes contain printable characters (such as the & or l (lower-case L
     in the example above), they need to be converted to a different format,
     such as decimal values. Each ASCII character has a decimal value.
     To find out what a particular character's decimal value is, consult what
     is known as an "ASCII chart". An ASCII chart shows each ASCII character
     and its decimal (and sometimes hexadecimal) code. The R:BASE Reference
     Manual (among many other reference works) includes an ASCII chart; see
     "ASCII Character Codes" at the end of Chapter 6. The decimal codes for
     most printer control codes are provided in the escape sequence list in
     the printer manual, as in the sample of the feature reference table
     shown above.
     Format of an R:BASE Printer Control Code
     Let's look at how R:BASE stores the decimal codes in the printer control
     file and converts them into the control codes used by the printer. Here
     is a line from one of the R:BASE printer control files:
     #Landscape < 27 38 108 49 79 >
     Notice that the numbers between the less-than (<) and greater-than (>)
     brackets are the same (and are in the same order) as those listed under
     the decimal value column of the escape sequence chart. R:BASE reports
     and labels interpret a variable value that is a set of numbers between
     less-than (<) and greater-than (>) brackets as the decimal values of a
     printer control code. The values are converted to their ASCII equiva-
     lents when the report or label is printed. When the variable or printer
     code is located on the report or label, the ASCII codes tell the printer
     what to do. This produces the print style you want.
     Notice that the line from the R:BASE file starts with #Landscape. This
     is interpreted as a global variable name; the "#" at the start of the
     name tells R:BASE to hide the variable name from the SHOW VARIABLE
     command. You can, however, use the Print Style menu in reports and
     labels to show those variables and any variables that are defined in
     the report or label with the < > format.
     You can also include comments in the printer control file by starting
     the line containing the comment with a semicolon (;).