XPRT XPRT formats text for output to the HP LaserJet Family, and compatible laser printers. Some of XPRT's features are: 1. Graybar toggle - Provides shading of alternating lines of text to help delineate lines of source code. 2. Smart word wrap - Will wrap at a whitespace if possible. Maintains text indentation (source code structure). 3. Port Selection - Allow selection of LPT1, LPT2, LPT3, or a file for output. If file is chosen, it can later be typed or copied to the printer. 4. Miniature Type - Allows combining subscript, superscript, and compressed print. This lets you cram lots more on a page. 5. Menu or Command Line - Command line operation allows XPRT to be called from another program for hands-off operation. 6. Page heading that includes file name, date, and page number. An alternate heading also provides the FILE date and time. Page headings may also be turned off. 6. The current configuration of XPRT may be saved as the default. Selecting 'S' from the menu establishes new default settings. ------------------------------------------------------------------ Note vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv For use on a Local Area Network... if XPRT.EXE is write-protected for any reason, XPRT.CFG will be created in the current directory. When XPRT starts, it will attempt to open XPRT.CFG for default setup information. If the .CFG file cannot be opened, XRPT will use it's internal setup data. If XPRT.EXE is not write-protected, the setup data will be saved to the executable file. XPRT.CFG will not be created. ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ------------------------------------------------------------------ 7. If the resulting printout is 10 pages or more, XPRT will beep upon completion. This is to prevent you from having to watch the monitor for long periods of time. 8. Support for legal size paper. 9. Once registered, one need only download later versions to upgrade. There is no charge for upgrades unless mailing a disk is required. This will cost $5.00. XPRT will check for a printer connected to the port if an LPT is selected. It cannot, however, determine it the printer is LaserJet compatible. It must assume that the operator knows. This is unavoidable as the LaserJet provides no means of identification via software. Oh-by-the-way... The LaserJet II does not provide ELITE type without one of several font cartridges. If ELITE is selected but not available, the printer will default to COMPRESSED print. This does not apply to the LaserJet III. If you experience problems viewing XPRT with a monochrome monitor, set an environment variable MONITOR equal to MONO in your autoexec.bat file. i.e. set MONITOR=MONO Command line switches can all be jammed together or separated by whitespace. Syntax: XPRT [switches] Where: filename = Name of text file to be printed, path included. switches = Optional formatting switches (see below). Command line switches: A = Compressed print. B = Elite print (if supported.) C = Pica print. D = Miniature print. L = Landscape (letter size.) M = Landscape (legal size.) M = Portrait (letter size.) O = Portrait (legal size.) F = Respond to embedded formfeed character. Y = Ignore embedded formfeed character. Gnnn = Shade alternating lines of text. Where nnn is the width of the shading. The command line: XPRT somefile.txt G3 Will shade alternating sets of three lines. XPRT somefile.txt G100 Will shade the entire page. Hn = Page heading select. If n is 0 - No heading is printed. If n is 1 - The heading contains the file name, page number, and the current date/time. If n is 2 - The file date/time is added to the heading also. Inn = Indent left margin nn spaces. Max is 25. Tnn = Expand tabs to nn spaces. Max is 25. Pn = Printer port selection. If n is 1 - Print to LPT1 If n is 2 - Print to LPT2 If n is 3 - Print to LPT3 If n is 4 - Print to FILE The command line: XPRT somefile.txt p4 Will produce an output file named 'filename.XPR' in the current directory. If this file already exists, it will be overwritten without warning. XPRT /r will allow the user to enter the serial number that is assigned upon registration. Initial Defaults: Pica, Portrait, Embedded formfeed on, Gray Bar Off, Page Header One, Indent 5, Port LPT1, 4 Spaces/Tab. Typing XPRT with no will display a list of options. Typing XPRT with a will bring up the XPRT options menu. Typing XPRT with a and [switches] will go directly to printing. The author may be reached via: Mail - Paul R. Bearden North Texas Computer Solutions Box 822 / 312 N. Illinois Street Celina, TX 75009 Phone - (214) 382-3244 Compuserve - 72117, 510. C Echo - I try to stay up to date on C Echo messages. A note here should reach me. /*****************************************************\ * This is for Polytron Version Control System * * $Author: Paul R. Bearden $ * $Logfile: C:/old_log/xprt.c_v $ * $Revision: 4.0 $ * $Date: 14 May 1992 08:02:54 $ * * $Log: C:/old_log/xprt.c_v $ * * Rev 4.0 14 May 1992 08:02:54 Paul R. Bearden * Added room for a few more characters/line in landscape-legal. * * Rev 3.9 25 Mar 1992 09:23:40 Paul R. Bearden * Fixed graybar problem... was not printing last graybar on the page. * * Rev 3.8 25 Feb 1992 11:34:20 Paul R. Bearden * 1. Changed default screen, 'S' is NOT a command line switch. * 2. Converted back to Microsoft C 6.0... The QEMM errors stopped * when I stopped using Borland C++ 3.0. * * Rev 3.7b 16 Feb 1992 16:28:26 Paul R. Bearden * Fixed problem of crashing under QEMM. * * Rev 3.7a 08 Feb 1992 07:07:22 Paul R. Bearden * Fixed Imbedded Form Feed Toggle. * * Rev 3.7 05 Feb 1992 08:22:12 Paul R. Bearden * 1. Changed 'Elite' print to 7 lpi. * 2. Added support for legal size paper. * 3. Improved LAN support with XPRT.CFG file. If write access is * denied to XPRT.EXE, the configuration information will be * saved to XPRT.CFG in the current directory. * * Rev 3.6 13 Dec 1991 17:26:14 Paul R. Bearden * 1. Fixed bugs in command line interface. * 2. Added registration instructions to default screen. * 3. Fixed 'special keys' in EscPressed (). * 4. Changed GoRegister () to delete registration number if an * invalid number is entered. * * Rev 3.5 26 Nov 1991 14:32:18 PBEARDEN * 1. Moved registration information to the last 'About' screen. * 2. Removed the need for FINDIT.EXE * 3. Fixed a minor bug in 'Header Two'. * * Rev 3.4 21 Nov 1991 15:34:46 PBEARDEN * 1. More mouse support. * 2. Added option for different page headings. * 3. Added option to select number of grayed lines. * 4. Allow user to enter registration number. * * Rev 3.3 21 Oct 1991 15:13:48 PBEARDEN * Added mouse support to 'About' screens. * * Rev 3.2 21 Oct 1991 8:50:08 PBEARDEN * Added a registration price list to the 'About' screens. * * Rev 3.1 11 Oct 1991 6:56:56 PBEARDEN * Removed reference to legal size paper in the help screens. * * Rev 3.0 27 Aug 1991 10:07:18 PBEARDEN * 1. Added 'Save Setup' selection. * 2. Minor tweaks to embedded page break handling code. * 3. Beep when finished printing (if 10 pages or more.) * 4. Print correct number of lines when printing w/o headers. * 5. Add more 'About' screens. Added 'ESC' to break out of them. * 6. Changed default 'Print to' file for batch printing. * * Rev 2.9 12 Aug 1991 19:00:50 PBEARDEN * Added 'About...' selection to menu. * * Rev 2.8 08 Aug 1991 14:03:32 PBEARDEN * Minor tweaks. * * Rev 2.7 31 Jul 1991 13:12:12 PBEARDEN * 1. Don't send a formfeed if it is on the first line of a page. * 2. Minor fix to wordwrap. * * Rev 2.6 29 Jul 1991 9:57:38 PBEARDEN * Fixed some uninitialized variables that PC-Lint found. * * Rev 2.5 11 Jul 1991 17:42:28 PBEARDEN * Command line (batch) operation will now exit after printing without * displaying the copyright message or waiting for a keypress. * * Rev 2.4 04 Jul 1991 10:04:24 PBEARDEN * Fixed a bug in the command line Header Toggle. * * Rev 2.3 04 Jul 1991 9:25:58 PBEARDEN * Changed default Spaces/Tab from 5 to 4. * * Rev 2.2 02 Jul 1991 13:04:38 PBEARDEN * 1. Added page header toggle. * 2. Added space/tab selection. * * Rev 2.1 29 Jun 1991 18:42:32 PBEARDEN * 1. Removed lots of redundant code. * 2. Renamed CountLines () to CountPages (). * 3. Added GetLine (). * 4. Removed path from the filename in the page heading. * * Rev 2.0 19 Jun 1991 13:48:08 PBEARDEN * 1. Display name of file to print at top of menu. * 2. Provide means for entering a file name for Print-to-File. * 3. Warn if Print-to-File file name already exists. * 4. Don't display copyright message on registered copies. * * Rev 1.8 14 Jun 1991 6:46:30 PBEARDEN * A few minor tweaks. * * Rev 1.7 13 Jun 1991 16:59:52 PBEARDEN * Fixed a bug in the embedded page break handling. * Added 'Printing page ...' message. * * Rev 1.6 12 Jun 1991 18:10:26 PBEARDEN * Broke into several logical functions... finally. * * Rev 1.5 05 Jun 1991 13:23:18 PBEARDEN * Squashed a few bugs in the blank line handling stuff. * * Rev 1.4 04 Jun 1991 18:59:48 PBEARDEN * Throw away (don't print) blank lines at the end of a file. * * Rev 1.3 28 May 1991 13:37:06 PBEARDEN * Added default instructions. * Improved batch mode (command line switches). * Allow 2 digit indent value. * * Rev 1.2 24 May 1991 11:48:54 PBEARDEN * Added printer toggle for LPT1, LPT2, and LPT3. * * Rev 1.1 20 May 1991 13:22:54 PBEARDEN * Fixed push/pop problem. Not enough pops. * * Rev 1.0 01 Mar 1991 8:59:56 PBEARDEN * Initial revision. * \*****************************************************/