Author: Dan Mares, dmares @ maresware . com (you will be asked for e-mail address confirmation)
Portions Copyright © 1998-2016 by Dan Mares and Mares and Company, LLC
Phone: 678-427-3275



File display/browse program.

This program is an offshoot of the UNIX cat program. And could be considered an alternative to the more command.

To display on the screen (or place to a file) the contents of files containing fixed length records without carriage return delimeters.

With proper options, MOUSE can add carriage returns to fixed length records.

Mouse can also display mainframe data records that contain a leading 4 byte record length counter.

Also see PAGEFMT.



MOUSE will take a file and copy it to whatever device you direct, or if no redirection is chosen, it will print the file to the screen.

Its best attribute is that it will allow you to specify line width in characters so that it will be easier to print data either on the screen or to redirect it to a file or printer.

The primary use of this program is intended to direct a fixed length record that does not have carriage returns or linefeeds to the printer. Like the mainframe fastprint routine.

It can also be used to insert carriage returns, and linefeeds into fixed length records so that UNIX and other programs needing a linefeed or carriage return at the end of each record can find it.

If these options are used, don’t use the -l option. It won’t have any effect.

Options available are for you to choose the line width, page length, whether carriage returns or linefeeds are to be included in the output file(if redirected to another disk file), or if output is to a printer, you can include a heading on each page.

It has options that will allow you to alter the page length if you are redirecting to a printer, or add headers to the top of each page.

If the file contains only an 0x0a (line feed) with no carriage return, and there is no -o option chosen, the program will automatically add a carriage return to the screen so the lines are properly printed on the screen. In order for DOS to properly align the printed screen, it needs this carriage return.

In the MS-DOS and UNIX version, if you wish to redirect the output to a file for future printing you just use the normal redirection symbol ‘>’ and give it an argument of where  you wish the file to go.

This output option places all the appropriate page printing characters directly into the file for future printing from the “print file” you just created.

If, using the MS-DOS version you wish the output to be redirected to a file that you will later reanalyze or import into another program like informix, you must use the -o option. The -o option in MS-DOS version tells the program not to install any page printing information into the output file. You will get a pure data file.

The program will default to strip high bits from word processed files (such as wordstar) in an order to make the screen more readable. If the high bit stripping is not wanted use -h option to turn it off.

On UNIX, Mouse will convert all unprinting characters (except carriage return and line feed) that are less than 0x20 to a ~ character.



C:>mouse input -[options] > output

Item 1: Program name.
Item 2: Input file.
Item 3: Options + next argument.
Item 4: Redirection symbol if needed.

mouse  input
/* will print to screen 80 characters */

mouse  input  -w 2
/* screen will print file 2 characters on a line */

mouse  input  -w 2  -o output
/* output is file 2 characters wide*/

mouse  input  -w 2  -n  -o output
/* MS-DOS output has newline after 2 characters*/

mouse  input  -w 2  -m 5
/* output is 2 characters after margin of 5 */

mouse  input.file  -L 10
/*put to screen input.file with page length of 10 lines per page, and default of 80 characters per line. Since the line length is not effective when printing to the screen this cats the file to the screen with no effect on page length.*/

mouse input.file -L 10  /dev/tty5
/* same as above, except this time it is redirected to tty5, which will allow the page to be 10 lines*/

mouse input.file -L 10 -w 40
/*prints to screen a width of 40 characters, without reference to the page length*/

mouse input.file -L 10 -w 40  /dev/tty5
/*sends file to tty5 with a page length of 10 lines, and width of 40 characters*/

mouse    input.file  -w 40  -r  output.file
/*sends a 40 character record to output.file with a carriage return after 40 characters.*/



-b:  If redirecting to an output file place a 0x0a0x0d pair (linefeed/carriage return) at end of input line as determined by -w or default width of 80

-d + integer:  Begins processing file at this byte number. (not operative if -w used)

-D + integer:  Begins processing at record #, based on the -w as a record length.

-h:  Will suppress the stripping of high order bits in files created with word processors. The default is that high order bits are stripped so the file can be read on the screen. it has only been successfully tested on wordstar.

-l + #:   Sets page length to this amount (default is 60 lines)(no effect if output sent to screen).

-m + integer  Sets left margin to integer number.

-n:  If redirecting to an output file place a 0x0a (newline) at end of input line as determined by -w or default width of 80 The -n option should be used if you are making a fixed length record ready to be input to an Informix data base.

-o:  MS-DOS only:Output is redirected to a file without any page formatting or titles being added. The -o option negates -t and -l MUST BE USED IF you intend to create a data file as output and not a file to be printed.

-p:  Pause the screen after every 20 lines. (Can be automatically set with an environment variable)

/p:  If environment variable PAUSE is set, then DO NOT pause. The PAUSE environment variable, if set, will save time by automatically installing the -p option every time the program is run. When the -p is not wanted, use the /p to disengage the -p option, or remove the PAUSE environment variable.

-q  If redirecting to an output file place a 0x0d0x0a (carriage return/ linefeed) at end of input line as determined by -w or default width of 80.

-r:  If redirecting to an output file place a 0x0d (carriage return) at end of input line as determined by -w or default width of 80

-S # #:  Where the # signs are decimals equivalent to the characters you want to change. the first # sign is the decimal equivalent of the character to look for and change, and the second # sign is the decimal equivalent that will be substituted for the first

-t + filename:  Filename contains up to 5 lines of text to be inserted at top of each page to be used as heading. The heading to be used is found in a file of which its name is the next argument after the -t option. Type the heading into the file just as you want it to look on the page.

-v:  Indicates that input file contains variable length records that are preceded by a 4 byte record length. this causes -w option to automatically be set.

-V  Same as -v except, a tilde (~) is placed at the end of each record for better legibility of those records that end in blanks.

-4  Used with -[vV]indicates, include 4 byte record length in printout.

-w + integer  Sets line width (effective record length) to this amount (default is 80 characters), if the -D option is used, then this width is used to count -D # records into the file (based on record width of w characters.).

-W + integer  Same as -w except that the operations of -D word from END of the file, not beginning. The upper case -W means work from the back of the file.Defaults are width == 80, and page length == 60 for redirection to printer.

If the defaults are used, don’t rely on the integrity of the file if it sent to a disk file output, as the program inserts a 0x0c (formfeed) character after the -l lines which may not be desirable in a disk file. To send data files to the disk, use the -o option. This does not place page formatting characters in the output file.

If either of (rnbq) options are chosen, the UNIX -l option (if used) has no effect, as the program assumes you are directing the output to a disk file.