                          dPrint Documentation
                  (C) Copyright Daniel Doman 1986, 1987
                          166 East 96th Street
                          New York, N.Y. 10128


    dPrint is copyrighted by, and is the sole property of Daniel B. Doman.
You are hereby granted a single user license to use dPrint. You may not
modify dPrint, resell, or otherwise charge for its use without violating this
license.


                             What dPrint Is

    dPrint is a file printing utility that formats and paginates
text. It has a variety of options that allows the user to customize
its output. dPrint is not intended to print formatted text. dPrint
was written primarily to print program source code.
    The predecessor to dPrint was called Cprint. The change was made to
match the naming conventions of other programs by the author such as
dBBS, DFF etc.. Other utility programs are Cmove, 3Ct, BB-Sort, QuickLink,
and Picklist.


usage - dPrint {options} file1 \\progs\\file2 {new options} ?ile3* .....




                         Command Line Arguments

-Lxx          Change the lines per page from the default of 58 lines per
              page. dPrint will issue a page break, and print a new header
              every xx lines.

              Example:  -L112          <- Change Lines Per Page to 112

-Wxxx         Change the Width or Right margin from the default of 76
              columns. dPrint will wrap lines around to the next line if text
              is wider than this value. You might want to change this value
              if you are printing in compressed print to a larger value. If
              you want to completely disable line wrapping, you can specify
              a right very large margin value such as 9999.

              Example:  -W100          <- Change Right Margin To 100

-Mxx          Set left margin. The default left margin is 0, but you can
              change this to any value that you want. 

              Example:  -M12           <- Change Left Margin To 12
-Odevname    Change the output device. The default output device is "PRN",
              but you can change this to another printer such as LPT2 or
              the name of a file. If you are printing multiple files, all
              output will go to the device or file that you specify until or
              unless you change the name of the output file again. The
              devicename can be any legal DOS filename or physical device.

              Example:  -oDUMP.TXT       <- Change Output From PRN To
                                            DUMP.TXT

-P            Show File Paths. The dPrint prints the name of each file on
              each header line. The default is to strip any drive and path
              from the filename. If you toggle this switch the full pathname
              will be printed.

-I            Toggle indentation OFF/ON. Most program source code is
              indented according to program logic. If dPrint has to wrap a
              line around, it will maintain the indentation plus one space. If
              indentation is turned off text wrapped around to the next line
              will begin at the left margin.

-T#           Change Default Tab alignment. The default value used for Tab
              Alignment is 8, the same as for PC-DOS. This is not normally
              necessary, but some editors align text using a non-standard
              Tab size.

              Example:  -T4         <- Change TAB alignment to every 4
                                       spaces. 

-N            Show Line Numbers. This command Turns ON/OFF line
              numbering. If you are debugging source code this can be very
              handy.


-RYYMMDD      Print Only Files Newer Date Specified. This command can be
              used to print only recently modified files. It specifies the
              lower bounds of the file date.

              Example: -R870916     <- Print only files equal to or newer
                                       than 09/16/87
-E           Issue An Escape Code. Escape codes can be expressed as
              decimal values, or as literal text. You can issue as many
              escape codes as you want. You cannot mix decimal and literal
              escape codes in the same string. It is sometimes more
              convenient to express "escape" in its decimal form, and the
              rest of the escape code by its literal value. You can embed
              ANY character in an escape string. Below are some examples.

              -EwwSSxxQQ     <-   Send the literal string "wwSSxxQQ" To
                                  The Printer.

              -E\027\015     <-   Send Escape-SI (commonly puts IBM or
                                  Epson Printers into Compressed mode)

              -E\027\077     <-   Send Escape-M

              -E\027 -EM     <-   Send Escape-M in two commands

-DS           Print The System Date On The Header. dPrint normally prints
              the file date on each header. You can change this with this
              switch.

-DF           Print The File Date (default). This is the default.

-Hheadertext  Add Text To Each Page Header. dPrint prints at the top of
              each page the file date, file name, and current page number.
              You can add additional text with this command. Text must be
              marked either by surrounding your text with "quotes", or by
              separating each word in the text with a '@'. dPrint will
              continue to add this text to each page header even as it
              prints several files. You can turn off the text by defining
              "null" text. Below are several examples:


              dPrint -h"MY Header" file*.txt Te?t.doc

              dPrint -hMY@Header file*.txt Te?t.doc

         Print one set of files with "Mytext Is This", and a second set with
         "Your Text Is This".

              dPrint -h"Mytext Is This" a*.txt -h"Your Text Is This" b*.txt

         Print all batch files with the string "ZazuPits Is My dog", and then
         all ".DAT" files with NO header text.

              dPrint -h"ZazuPits Is My dog" *.bat -h*.dat
-#xxx   Suppress portions of the page header. You can suppress various
         elements of the page header. Below are the values you can specify:

              D    - Suppress the Date
              F    - Suppress Filename
              P    - Suppress Page numbering
              H    - Suppress the page header altogether

              Examples:

              dPrint -#df    foo.xxx        <<-  Suppress date & filename

              dPrint -#pd    foo.xxx        <<-  Suppress Page numbering
                                                 & date

              dPrint -#h     foo.xxx        <<-  Suppress All of page
                                                 header


                         Environment Variables

         You can preset your favorite command line arguments in a "dPrint"
environment variable. If you set a DPRINT environment variable with
command line arguments, dPrint will read the environment variable as if you
had entered them from the command line, and THEN your real command line
arguments. Anything that you can enter from the command line can be
loaded into your dPRINT environment variable. This is very handy for
preloading escape codes for laser printers etc. Hewlett Packard escape codes
are notoriously long and obnoxious to type.

         What could be more useful than a dPRINT environment variable to
initialize your printer? How about an environment variable to DE-initialize
your printer? The second variable is called dPRINTX. The arguments
expressed in it are read in after all other arguments have been processed.
Below are two sample environment variables for an imaginary printer.

    SET DPRINT=-E\027 -E[1;0r -W110 -M10 -L78
    SET DPRINTX=-E\027 -EM

    Please note that the environment variables are entirely optional.



                            Usage Guidelines

         Command line arguments may be repeated as many times as you
like. You can use them in just about any combination that you can imagine.
The arguments effect ONLY those files specified AFTER the arguments. They
will not effect files specified before the argument.

         As you get used to dPrint, you will find that you give it same
command line arguments every time you use it. PC-DOS limits the length of
your command line arguments. You can extend this, and make dPrint easier
to use by taking advantage of the dPrint environment variables.

         dPrint is not intended to print preformatted text, because it wraps
long lines, and generates page breaks etc. If you are determined to use
dprint on formatted text anyway, you can disable most of its formatting by
turning OFF the page header altogether with "-#h" and the line wrapping
with "-w999", and page breaks with "-L999".
                                Changes

         Changes from the 12-20-87 version:

    dPrint sometimes incorrectly reported a printer error when it flushed its
buffers at the end of a print job or between files.
    dPrint only accepted a "-" for command line switches. It now accepts
either a "-" or a "/".
