home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
DP Tool Club 17
/
CD_ASCQ_17_101194.iso
/
vrac
/
view31.zip
/
VIEW.DOC
< prev
next >
Wrap
Text File
|
1994-06-01
|
47KB
|
871 lines
┌──────────────────────────────┐
│ VIEW.EXE │
╞══════════════════════════════╡
│ Programmed by Jim Wilson │
│ Copyright(C) 90-94 * Ver 3.1 │
└──────────────────────────────┘
┌───────────────────┐
│ TABLE OF CONTENTS │
└───────────────────┘
Forward ........................................ 1
General Information ............................ 2
Program Information ............................ 3
Status Line .................................... 5
Keyboard Usage ................................. 6
Command Line Options ........................... 10
Ram Usage ...................................... 12
Upgrading View to ReadIt ....................... 12
Version History ................................ 13
What's Next? ................................... 15
Final Ramblings ................................ 15
Registration ................................... 17
┌─────────┐
│ FORWARD │
└─────────┘
Welcome to View version 3.1! View is a small, fast, FREE text file
viewer which you can use to your hearts content, totally unrestricted
(well, almost - read the Registration section contained at the very
end of this document for complete details). With View you have all of
the necessary viewing features implemented in a workable fashion;
there's not too many frills, but every vital function is present and
accounted for (this type of design became necessary if I was to adhere
to my main operative: To make the program as small and fast as
possible *without* sacrificing any major features).
What's new in version 3.1? Well, I gave the program an entirely new
look by making all keyboard input and screen prompts appear in pop
windows. I also added automatic TAB expansion, NetBIOS network
compatibility, a function to read a new file into memory without
having to exit the program and restart it, along with changes to the
screen scrolling; the Left and Right arrows move the display 1 column
while the Ctrl-Left and Ctrl-Right arrows move the display 20 columns
now. I've even enhanced the printing abilities by allowing you to
select the starting line, ending line, page size, and whether or not
View acknowledges or ignores embedded FormFeeds. Additionally, a
tremendous amount of tweaking was done to the internal structure to
tighten loops, remove dead code, and consolidate multiple functions
into more generic routines. This equates into a tighter, faster EXE
file - two things that are becoming extremely rare in these days of
fat, slow, and sloppy WinDOGS programs!
View is a fully functional FreeWare program - it is not 'crippled' in
any way. However, it is only a subset of another file viewer I've
written called ReadIt. You see, I've actually produced two programs
that are very similar, something which I did deliberately. ReadIt has
every conceivable option implemented and is at least 5 times as
powerful and friendly as View, but it is more then twice the size.
Don't get me wrong; View is no joke, but it isn't nearly as capable as
ReadIt is. Now, if this program contains all the text file viewing
power that you need then your set - you can keep using View for free
as long as you'd like. But, if your a power user or someone who just
has to have the best of everything then contact me and I'll get a copy
of ReadIt off to you (see the section called Upgrading View to ReadIt
for more details).
┌─────────────────────┐
│ GENERAL INFORMATION │
└─────────────────────┘
View is a text and ASCII file viewer. You can use View to read just
about any BAT, DOC, TXT, or Read.Me type of file. It allows you to
read a file with up to 7,500 lines, or as many as will fit into RAM.
Each line can contain up to 250 characters. What's so special about
that? I'm glad you asked!
There are a million text file viewers floating around. Hell, you may
have even written one yourself. I've written three or four different,
but somewhat specialized, viewers over the years. If you have spent
more than 2 seconds with any ShareWare or Public Domain software you
know that the manual is usually a DOC file included on the diskette,
just like this one. There is almost always a Read.Me file with last
minute changes that didn't make the manual on time - most commercial
software even contains these little gems. Some of these files can grow
quite large (I saw a ShareWare programmer's editor that had a DOC file
that was 357K - too big to be loaded by the editor it came with!).
Your only available choices for reading files of this type have been
either a file viewer that could only read one 64K block of text at a
time (one memory segment, which View was in all versions prior to
2.0), one that tried to read the entire file into RAM (which meant you
*usually* had a viewer with a big EXE file or one that took a lot of
RAM itself, unlike View), your word processor (what a lousy choice
that is), or your text editor. If your file was real big most viewers
or word processors would not be able to load the entire thing so they
wouldn't load ANY of it. If your lucky the text editor you use is able
to 'unload' the text that couldn't fit into memory on your hard drive
(called VM - Virtual Memory) like the one I use, Bingo.
Now, just because you have about 550K of available RAM doesn't mean
that your viewer or editor could load a file that big - it needs space
to work in too. Enter View. With View you can read virtually any ASCII
text file that your likely to encounter. And if the file is too large
for RAM View doesn't just say "sorry pal, it's too big for me so I'm
going to exit to DOS" (which a lot of programs do!), it will display
what it could read, which in most instances is better then nothing.
In short, Views combination of speed, features, and small size make it
the ideal choice for almost anybody. Because the EXE file is only
13,556 bytes you can carry it anywhere. And, since all the major
movement commands are present (Arrows, PgUp, PgDn, Home, End, etc..)
you're not sacrificing features for portability or speed. Remember,
this program has been carefully hand crafted to use as little of your
precious RAM as possible, so there's more available for your file.
┌─────────────────────┐
│ PROGRAM INFORMATION │
└─────────────────────┘
View uses less than 75K of RAM for itself. This means that you can use
it on virtually any PC (If you don't have that much RAM available your
in the wrong business!). Essentially what this means is that all the
remaining conventional (base) memory in your system can be used for
file storage. For example; if, after having loaded all your device
drivers and TSR's you have 575K of RAM free (as reported by Mem or
some similar program), then you would be able to load and read any
ASCII text file up to about 500K, or 7,500 lines (and yes, I *have*
actually read a 500K file in only 575K of RAM so that's not BS). Not
too bad from an EXE file of only 13,556 bytes!
View starts by verifying that the file you want to read exists. If it
does View then verifies that the file actually contains data (some
programs will attempt to read a file with 0 bytes of data and risk a
crash, but View won't). View then checks to see that you have at least
75K of free RAM. If everything is good up to this point View then
loads itself into memory. Once loaded, it proceeds to set up 7,500 5
byte pointers for the data structure. Each one will contain a line
number and the string length for the data it is about to read. After
the pointers have been set up View then starts reading until it
reaches the end of the file, runs out of RAM, or until it has read
7,500 lines (this "limit" will be explained later).
Once the file has been loaded you can use the Up, Down, Left, Right,
Ctrl-Left and Ctrl-Right arrows, along with the PgUp, PgDn, Home, and
End keys to move around. If you hit a wrong key or if you hit a limit,
like hitting PgDn when your on the last page already, View will
produce a very gentle beep (not that annoying kind!) to make you aware
of that fact.
View will work with ANY type of monitor, be it monochrome, CGA, EGA,
VGA, LCD, Gas Plasma, or whatever you happen to have. As a matter of
fact, the procedure which determines what type of monitor you have,
and whether or not it can truly display color, is so accurate that you
will probably never have to use the /M command line option (which is
discussed a little later in this document). The video writes and the
keyboard handler were written in assembler for the fastest possible
performance on any computer.
┌──────────────────────────┐
│ PROGRAM INFORMATION cont │
└──────────────────────────┘
I've spent a considerable amount of time fine tuning the RAM
requirements for View. With all the tweaking that was done I probably
gave it the ability to read a file that was 25K - 30K bigger then when
I first wrote the new memory scheme (implemented in version 2.0). That
may not seem like a lot in today's world of multi-megabyte systems,
but when you only have 640K of RAM for DOS before you load all your
"toys" into memory then all of the sudden 30K seems like a lot. Even
with that I was able to give the program a few extra features like a
status line at the bottom of the screen which contains the name of the
file you're viewing, the current line number, the last line number in
the file, and the right column position. I've also incorporated direct
video writes, pretty good error checking, the afore mentioned popup
windowing interface, a search feature, a configurable printing option,
and even a brightness control for laptops or PC's with crappy
contrast. (Does your present file viewer have a brightness control as
a feature? I'll be willing to bet it doesn't.)
┌─────────────┐
│ STATUS LINE │
└─────────────┘
The 25th line of the display (the last line on the screen) is the
Status Line where you'll find information such as the name of the file
your viewing, your current line and column number, the last line
number in the file and the keys that View uses. The layout goes like
this:
Toggle Key Indicators ───┐ Last Line Displayed
│ ─────────┬─────────
"Action" Keys ──────┐ └─┐ └────┐
FILENAME.EXT║F1 <--> PgUp PgDn Home End Esc║GPRS║BN║Col: Line: End:
─────┬──── ──────────────┬───────────────
│ │ ┌─────────┘ ┌────────┘
│ │ │ │
──────┴─────── ────────┴──────── ──────┴───── ─────────┴─────────
File in Buffer Keys Used by View Right Column Last Line in Buffer
Note that the Brightness and the Network Connected toggle indicators -
the letters B and N on the Status Line - will change, depending upon
the current state of that setting, as follows:
Brightness: A capital B indicates that you are in high intensity
mode while a lower case b indicates that you are in
normal intensity mode. (Default = b)
Network: A capital N indicates that you are connected to a
network while a lower case n indicates that you are
not. (Default = n)
The letters GPRS (the "Action" keys) stand for the various functions
that View can perform: G=GotoLineNumber, P=PrintFile, R=ReadNewFile,
and S=SearchForText. These keys are not toggles, will always be
capitalized, and will perform an immediate function. Other then that
the Status Line is all fairly obvious and should really need no
further explanation.
To help clarify the Col and Line numbers and how they're displayed:
the Col:## is the right most column currently being viewed while the
Line:## is the last line displayed on the screen. This makes the
numbers you see always the extremes - the last line and the last
column of that particular screen.
And finally, the F1 key gives you a help screen (what a surprise!)
explaining what all those other keys do.
┌────────────────┐
│ KEYBOARD USAGE │
└────────────────┘
The keys that View uses are all pretty self-explanatory (hell, if you
made it this far in the documentation you figured out how to use most
of them already). Here's a listing anyway, just to be complete.
<- - Moves the text on the screen 1 column to the left
-> - Moves the text on the screen 1 column to the right
- Moves up one line of text
- Moves down one line of text
PgUp - Moves back to the previous 24 lines of text (1 page)
PgDn - Moves down to the next 24 lines of text (1 page)
Home - Goes to the first line of the file
End - Goes to the last line of the file
^<- - Moves the text 20 columns to the left
^-> - Moves the text 20 columns to the right
B or b - Toggle: turns the brightness of the text up or down
G or g - Goto a specific line number
P or p - Print the current file to LPT1
S or s - Search for a string of text
F1 or H - Display the popup help screen
ESC - Exits View
All cursor movement keys perform as expected, so the key listing above
should be sufficient explanation to enable you to navigate around in a
file. The functions associated to the keys listed below may be
somewhat less obvious so they're explained in more detail.
[F1 or H] There are two different help screens - one for command
Help line options and one for keys and their respective
meanings. To obtain command line help type View /? or
View /H (for all us Unix types: you can use the -
instead of the / for any option). To obtain help
information about the various keys that View uses
you must first load a file. After you have a file
loaded in the buffer hit the F1 or the H key and a
popup window will appear. This is a rather mute point
considering the intuitive nature of the key sequences
that View uses but I figured it would be a nice
reference to have available.
[B or b] To turn the brightness of the text displayed up or
Brightness down hit the B key. This is a 'toggle' key; every time
you hit it the current state is reversed (i.e. if it
was set to normal then it will be set to high the
first time you select it and then back to normal the
second time). If the B key on the status line is in
lower case (b) then the brightness level is low,
while a capital letter (B) signifies that it has
been turned up to the high setting.
┌─────────────────────┐
│ KEYBOARD USAGE cont │
└─────────────────────┘
[G or g] Allows you to type in a line number and have the
Goto program jump directly to that line. When using the
Goto function the line number you specified will be
placed directly above the Status Line, or as close to
it as possible.
[P or p] Prints the current file to LPT1. When selected, a
Printing window will appear asking you these three questions:
Starting Line #:
Ending Line #:
Lines Per Page:
(NOTE: The words 'buffer' and 'file' are used
interchangeably in the following examples.)
Starting Line #: This number represents the first
line number in the file where you would like to start
printing. The default, displayed at the bottom of
the window, will be line number 1. To automatically
select the default simply hit the ENTER key.
Acceptable range is anything from the first line of
the buffer to the last line. Attempting to enter an
inaccurate number will result in a speaker beep.
Ending Line #: This number represents the last line
number in the file that you would like to print. The
default, displayed at the bottom of the window, will
be the last line in the buffer. To automatically
select the default simply hit the ENTER key.
Acceptable range is anything from the Starting Line
number selected above to the last line of the buffer.
Attempting to enter an inaccurate number will result
in a speaker beep.
Lines Per Page: This number is the total number of
lines per page you would like printed. The acceptable
range is 0 to 250. A setting of 1 to 250 will print
that corresponding number of lines on a page. If
embedded FormFeed (ASCII character 12) or LineFeed
(ASCII character 10) characters are encountered they
are stripped out. A setting of 0 will force View to
just send a stream of data to the printer EXACTLY as
it appears in the file, including all embedded
FormFeeds and LineFeeds, forcing it to rely solely on
the formatting hard coded in the document itself.
┌─────────────────────┐
│ KEYBOARD USAGE cont │
└─────────────────────┘
This is quite handy when a document already has been
paginated, like this one, and you wish it to remain
as such when printed. Attempting to enter an
inaccurate number will result in a speaker beep.
(ReadIt's Printing function has CONSIDERABLY more
power then Views does, allowing total control over
the stream of text sent to the printer - just thought
I'd throw in another plug for ReadIt)
[S or s] Searches for any character, number or string of text,
Searching including "extended" characters (those whose ASCII
value is greater than 128) and some of the "special"
characters (those whose ASCII value is less than 32).
When selected, a window will appear asking the
following question:
Search For:
You have a total of 25 characters that can be
included in the Search string - a sufficient number
for most jobs. (ReadIt allows up to 40. Damn, I did
it again!) The search is not case sensitive so the
way you type in the data is of no concern. You can
search for virtually anything including the afore
mentioned "extended" characters. To access these
types of characters you must hold down the Alt key
and type it's corresponding Decimal number on the
numeric keypad. View will start from the first line
of the file and read each line until it finds a 'hit'
or it gets to the end of the file. If a match is
found the whole line will be capitalized AND
highlighted for easy viewing, while being placed as
close to the middle of the screen as possible. Note
that View will only find the FIRST occurrence of a
match on any given line (another limitation that
ReadIt doesn't have!) so it is indeed possible that
View will not "find" every occurrence of the Search
string contained in the buffer.
If a match is found, and it is past the 80th column
of the file (essentially off of the visible screen,
but still within the buffer itself) View will shift
the display accordingly to put the match as close to
the right most column of the screen as possible while
displaying the full Search string.
NOTE: Even though the Search string is capitalized
when a match is found and displayed the file is NOT
altered in any fashion - only the copy in memory has
been changed.
┌─────────────────────┐
│ KEYBOARD USAGE cont │
└─────────────────────┘
During virtually any function, process, or procedure hitting the ESC
key will abort your present action and return you to the viewing
screen. Additionally, if you have entered something in error hitting
the BackSpace key will erase it. And as mentioned above, View will NOT
allow you to enter an invalid response to any prompt (like entering
letters if you're asked for a number). A beep will sound should you
try to do so and the incorrect text will be ignored. This same pattern
is also exhibited if you answer a question incorrectly, like trying to
Goto a line number that doesn't exist in the file your viewing or if
you try to exceed a limit, like hitting PgUp when your already at the
first page of the file.
┌──────────────────────┐
│ COMMAND LINE OPTIONS │
└──────────────────────┘
View supports six command line options, which are:
/? or /H - A small help screen
/C - Forced color mode
/M - Forced monochrome mode
/N - Disable network printing functions
/T - Disable automatic TAB expansion
Filename.Ext - Name of the file to view
Options can be entered in any order, are not case sensitive, and may
be preceded by either a / or a - character (yes, they can be
intermixed if so desired) but you must leave a space between each
option selected. All unrecognized commands are ignored. There is one
option which causes an immediate response; /? (or /H). This instructs
View to print the help screen and then return to DOS. This option
will be acted upon REGARDLESS of where it's placed on the command
line. If you don't specify a file name you will get the popup file
selection window as the first thing you see. The definition of the
available command line options is:
/? or /H - Use this option to get the command line option help
screen.
/C - Forced color mode. If, by some technical fluke, View
does not recognize your monitor as having the ability
to display information in color you can use this
option to "force" it to do so. You will most likely
never use this - it's was added merely for
completeness.
/M - By default View displays white text on a blue
background. On most systems this doesn't present a
problem. However, on certain laptops, portables, and
monochrome EGA or VGA monitors this can be difficult
to read. Use this option to instruct View to display
white characters on a black background. The Brightness
command will recognize your selected color choice and
will work accordingly. This does not change the
location of the video buffer that View uses for direct
video writes - this merely alters the colors of the
displayed text. The algorithm that View utilizes to
find the video memory is infallible (famous last
words!).
┌───────────────────────────┐
│ COMMAND LINE OPTIONS cont │
└───────────────────────────┘
/N - Disable automatic network print que access. If a
NetBIOS compatible network is detected View will
attempt to configure itself to use those services
appropriately. If, for instance, you have network
drivers installed but you don't have a network printer
as part of your available resources (if you have a
printer on your desk, for example) you may wish to use
this option so View does not attempt to interface with
a non-existing print que. Note that View will only
install these services if a network is detected, if
you use your PC as a standalone or home computer you
do not need to use this option. Also, this option does
NOT turn off View's network file permission's
subsystem. If a NetBIOS network is detected View will
automatically use your individual file permission(s)
as a basis for it's own working knowledge of what
files are available to you and what files are not.
/T - Disable automatic TAB expansion. By default, View will
expand TABS into the appropriate number of spaces. The
only drawback to this is that a TAB requires less
buffer memory then does a space (unless the TAB would
only equate to a single space, in which case they both
require the same amount of memory - one byte). There
may be times of low memory that might require you to
disable this automatic TAB expansion in order to be
able to load some or all of a file into memory,
although I don't envision this being necessary.
However, this option was included for completeness.
(NOTE: View also expands LineFeeds as you would expect
it to but, due to it's internal structure, there is no
command line option to turn this off. The only time
this feature comes into play anyway is if you were to
read a file created by a Unix style editor - something
I have to do quite often.)
Filename - The name of the file you would like to view. Drive
letters and paths are fully supported. If no path is
specified then the current directory is used. Since
View can only read a single file at a time wildcards
are not support (but in ReadIt they are!!).
Okay, one final plug for ReadIt. All of these command line options are
only recognized when View loads - this is the case with EVERY program
that uses such options. However, with ReadIt you can configure all
these options from within the program itself! Forget to add something
to the command line? Want to change the type of TABS that are
displayed? Decide that you really didn't want to print to your network
printer after all? Well, with ReadIt you don't have to leave the
program to make those changes! (hint, hint)
┌───────────┐
│ RAM USAGE │
└───────────┘
Okay let's get serious, shall we? The RAM that View uses is broken
down as follows:
37.5K - 7,500 5 byte data pointers.
12K - Error checking and all status information
25K - Video writes, keyboard routines, associated housekeeping
=====
75K - Total RAM used by View.Exe (approximately)
Not too bad, huh? This amount of memory reflects the TOTAL usage.
This completely eliminates the worry one has with other programs that
require more and more memory the deeper into a file they get. View
will NEVER request anything other then what is listed here REGARDLESS
of the number of lines or bytes read into it's internal buffer.
┌──────────────────────────┐
│ UPGRADING VIEW TO READIT │
└──────────────────────────┘
And now, for the part you've all been waiting for: View has a big
brother called ReadIt (as if you didn't know that by now!). Yup,
that's right - if you like View but want something a lot more powerful
I can certainly help you out. You see, View is kinda like my test bed
for new ideas. It's also something I happen to give away for free
because I'm a nice guy! ReadIt is my ShareWare program, the one you
have to pay for. Both View and ReadIt share the same basic 'engine'
(file access, error checking, keyboard handling, and video writes).
ReadIt, however, includes three pages of online help, a much faster
text search (case sensitive or not), a file/buffer information window,
monochrome or color palette selection, user selectable TAB expansion
from within the program, completely customizable printing with
automatic or manual form feeding, 'point and shoot' file selection and
access, a data buffer 100% larger then Views, automatic or manual line
feed expansion, a text 'anchor' allowing you to easily return to a
marked spot, and much more. This is all wrapped up in an interface
featuring popup windows with an EXE file size of only about 25K! And,
unlike View, EVERY option is configurable 'on the fly' meaning that
you can custom tailor the entire environment from within the program
itself. No more command line options, unless that's what you want
(command line options are, quite naturally, fully supported by
ReadIt). If this sounds good to you then send just $10.00 dollars to
me at the address at the end of this DOC file, along with a letter
containing your name, address and diskette size, and I'll rush a copy
of ReadIt out to you. This is one very nice program that easily rivals
the best ShareWare file viewers around.
┌─────────────────┐
│ VERSION HISTORY │
└─────────────────┘
1.0 - Initial release to the general public. Only used by myself
6/90 prior to that. Could only read files that were 64K or less in
size (one memory segment).
1.1 - Added the /I option to ignore blank lines, so more "real" data
1/91 could be stored in the buffer. Added the /S option to check the
file size in lines, primarily for use with the /##### (start at
line number) option. Fixed a bug with the error checking
routine. Fixed a bug when you had a file with less than 24
lines (1 full page) of text. Fixed a bug with the monitor
checking procedure.
1.1a- Fixed a bug with file names that started with a number, like
10/91 4Dos.Doc. View mistook that for a 'start at line number' command
(similar to the /##### option).
2.0 - Major rewrite! Removed the /##### (start at line number), /I
3/92 (ignore blank lines), and the /S (show size of file) options
because they were no longer necessary - they existed strictly to
make the 64K file size limit a little more bearable. Added
support for the left and right arrow keys, the Brightness and the
Goto line number functions as well as being able to load files
up to 7,500 lines long. All this and the EXE file is only 1.1K
larger!
2.1 - Added the ctrl_left and ctrl_right arrow keys to scroll the
5/92 screen 20 columns to the left/right, respectively. Fixed a
memory allocation error where View was loading 1 line less then
it said it was if your file was either 7,500 lines long or it
used up all the RAM in your system before the end of the file.
Added some color to the display, for those of us with color
monitors. Fixed a bug with the Goto command if a user entered a
number larger then the total number of lines in the file.
Performed some general "housekeeping" on the source code for the
sake of speed and/or size. All this and the EXE file is now 148
bytes smaller than version 2.0! Yeah I know, 148 bytes ain't
much - but how many times have you seen a program updated with
new features and bug fixes that actually got smaller in size?
2.1a- Fixed a keyboard handler problem where the keyboard would
6/92 respond sluggishly, if at all, when the file you loaded took
all available RAM and you had the TSR SuperKey loaded.
2.2 - Added the ability to search for text, print the contents of the
1/93 file to LPT1, and also a popup help window. Rewrote
approximately half of the internal procedures to increase their
speed and reduce their size. This version may not appear to
contain as much new functionality as previous upgrades but the
capabilities that these new features do add is quite
substantial. These enhancements increased the size of the EXE
file by less then 2K.
┌──────────────────────┐
│ VERSION HISTORY cont │
└──────────────────────┘
3.0 - Changed the entire look of the program by making all keyboard
12/93 input and screen prompts appear in pop windows. Added automatic
TAB expansion, NetBIOS network compatibility, the ability to
read a new file into memory without having to exit the program
and restart it, and changed the screen scrolling to move 1
column with the left and right arrows and 20 column with the
Ctrl-Left and Ctrl-Right arrows. Enhanced the printing abilities
by allowing you to select the starting line, ending line, page
size, and whether or not View acknowledges or ignores embedded
FormFeeds. These updates and fixes increased the size of the EXE
file by only 1.5K!
3.0a- Minor bug fix with the way View displayed files with less than
1/94 24 lines (one full screen) of text when you performed a search
and the found text was past the 80th column of the display.
3.0b- Fixed a bug that caused View to attempt to read file names that
2/94 began with a NULL character. (Like hitting a function key when
asked for a file name. Why anybody would do this in the first
place was beyond me, but they did. You can thank Borland, and
the bugs in their libraries, for that little "feature"!)
3.0c- Increased the rate of data transfered to LPT1 to improve printing
3/94 performance.
3.0d- Fixed a minor bug that caused the End key to work in an erratic
4/94 way if the file you were viewing contained only one line AND that
line was the maximum width of 250 characters. These damn display
bugs are going to be the death of me!
3.1 - Added a text "anchor", also called a bookmark, to allow you to
6/94 instantly return to any location in the file. Updated the network
printing routines to reflect changes in the NetBIOS
specification that NOS's like LanManager, 10 Net, Lantastic, etc
are now using (these changes should not effect the workings of
older versions of these operating systems). Displays the current
directory in the Read a New File window so you know where your
located. Added the ability to exit the program with the X key
(as well as the typical ESC key). These updates added a measly
393 bytes to the size of the EXE file! Not too bad, if I do say
so myself.
┌──────────────┐
│ WHAT'S NEXT? │
└──────────────┘
What's next for View? Well, I'm not really sure. My main objective is
to keep the program small and fast - that design goal will NEVER
change. However, I'm not going to ignore a good suggestion for an
enhancement if you've got one. Want a neat new feature added? Then
drop me a line at the address below and I'll check into it.
┌─────────────────┐
│ FINAL RAMBLINGS │
└─────────────────┘
Some last words of wisdom (or at least as close as I can come).
As with all FreeWare programs I take absolutely no responsibility for
View. If it blows up in your face then it's your fault, not mine. It
if melts your hard drive, then so be it. If it makes you wish you were
a Vulcan (for all you Star Trek fans) then "live long and prosper".
Actually, I get pretty fed up with the legal crappola that's necessary
in today's world. Of course my program won't blow up in your face or
melt your hard drive - I'm being sarcastic and ridiculing the legal
establishment! I use View every day and I have yet to see a Vulcan
(prior to consuming larger quantities of Molson Ice, that is).
The EXE file is only 13,556 bytes, which is 1804 bytes LESS then my
target of 15,360 (exactly 15k). A 13K file viewer of this power is
certainly nothing to sneeze at. You may feel that I harp on the file
size issue too much but it is, in my opinion, completely
unprofessional to distribute a program that has grown to such
proportions as to be unweilding just so you can say that it does
EVERYTHING! This "disease" has even acquired a name: Featureitis.
Small, tight, and fast programs still have a place in this business,
contrary to what MicroSoft and their Windows juggernaut would have you
believe!
View works exclusively in read only mode. What exactly does that mean?
Well, it means you can read ANY file, regardless of its attributes
(hidden, system, readonly) or its type (DOC, TXT, HLP, etc). View
doesn't create any temporary files for data storage nor does it alter
the original so you can use it without concern. That also means it's
safe to use on/over your network, too.
┌──────────────────────┐
│ FINAL RAMBLINGS cont │
└──────────────────────┘
You've probably noticed that I have given View a 7,500 line limit.
This file size limit is because I'm trying to get you to buy ReadIt,
whose limit is 100% greater then Views is. Exactly why does ReadIt
have such a limit at all? Well, it's not because of me actually - it's
Borland. For some reason they set a limit on the size of a data
structure you can create when your allocating RAM from the heap
because you must declare the structure BEFORE you can use it instead
of dynamically WHEN you need it. I know Turbo C doesn't suffer from
this restriction like Turbo Pascal does, which View and ReadIt were
written in, but my skill at writing C code is far less competent then
my abilities with Pascal. Naturally, if it were up to me I would have
ReadIt use all available RAM, regardless of the number of lines.
Realistically, the 7,500 line "limit" is not much of a limit at all.
If you use a typical DOC or TXT file as a yardstick you can
successfully load approximately 320K to 350K before you reach 7,500
lines (I even loaded a file one time that was 390K!). There is
virtually no document you will ever encounter that exceeds that size
so this limit is really just for posterities sake and doesn't really
inhibit you.
Notice that if you see the line number counter in the printing window
(for the number of lines printed) pausing from time to time it's
View's way of tell you that it has encountered a FormFeed character.
This 2 to 3 second delay has been deliberately programmed in to allow
the printer to have ample time to catch up while it "spits" out a
piece of paper.
If you happen to be one of the few unfortunate souls who still have a
CGA monitor you had better be prepared for a 'blizzard' of snow. View
writes directly to video RAM and I didn't feel like programming the
necessary routines to perform the synchronization of the video retrace
signal. On all other types of monitors there will be no problems.
From time to time you might see some strange symbols appear on the
screen. This is the way View prints the FormFeed (ASCII code 012) and
a few other "difficult" characters, generally those whose ASCII value
is less than 32. They serve only to inform you of their presence - you
need not do anything special about them and they are not a hindrance
at all.
The three areas I've concentrated on the most when writing View were
file reading, video writes, and memory allocation. These three
functions were tweaked and tweaked till they screamed. Consequently,
they are the areas that work the fastest and consume the least amount
of memory (as it should be).
┌──────────────┐
│ REGISTRATION │
└──────────────┘
Why is this part of View.Doc last? Because it's the least important,
that's why! I don't believe in a lot of legal rhetoric.
VIEW IS A FREEWARE PROGRAM. YOU ARE FREE TO USE IT FOR YOUR OWN
*PERSONAL* USE. YOU ARE ENCOURAGED TO GIVE IT AWAY TO ANYONE AND
EVERYONE WHO WANTS IT (except as noted below).
The only real restrictions I impose are:
1. Whomever you give this program to, whether you copy it onto a
diskette, a hard drive, or you upload it to a BBS, *MUST* be given
the complete set of files (at this writing they are View.Exe and
View.Doc).
2. None of the files (View.Exe or View.Doc) may be altered in ANY
fashion and must remain in their ORIGINAL form. NO EXCEPTIONS!
3. You CANNOT, under ANY circumstance, use this program in a
commercial, retail, promotional, or other similar fashion without
the expressed written consent of the author.
4. You CANNOT, under ANY circumstance, use this program to make a
profit. This includes distributing it with your own software,
selling it, "renting" it, or any other such arrangement that you
obtain reimbursement for. The ONLY exception to this rule is if
you have a diskette duplication or ShareWare distribution company
and you charge a nominal fee to reproduce media (diskettes) for
sale.
If you do desire to distribute View with your ShareWare catalog, your
commercial software, or for any other non-personal endeavor, please
write to me at the address below. I would be more then happy to
license View to just about anybody. But remember, it's entirely free
for personal use!
If you would like to be kept abreast of any new developments
concerning View then send me a buck (one thin dollar!) and I'll add
your name to the mailing list. Make sure you tell me what version your
using. If you would like me to automatically send you the next upgrade
then send me five bucks. Even if you don't send a buck (you cheap
skate!) feel free to drop me a note and let me know what you think
about View, especially if you've found a bug (God forbid!). But
remember, you can upgrade to ReadIt for only $10.00 by sending a check
to me today. So, what are you waiting for?
╓───────────────────────╖
║ Jim Wilson ║
║ 4 Scranton Pkwy ║
║ Oxford, NJ 07863 ║
╙───────────────────────╜