home *** CD-ROM | disk | FTP | other *** search
/ DP Tool Club 17 / CD_ASCQ_17_101194.iso / vrac / view31.zip / VIEW.DOC < prev    next >
Text File  |  1994-06-01  |  47KB  |  871 lines

  1.                        ┌──────────────────────────────┐
  2.                        │           VIEW.EXE           │
  3.                        ╞══════════════════════════════╡
  4.                        │   Programmed by Jim Wilson   │
  5.                        │ Copyright(C) 90-94 * Ver 3.1 │
  6.                        └──────────────────────────────┘
  7.  
  8.  
  9.  
  10.     ┌───────────────────┐
  11.     │ TABLE OF CONTENTS │
  12.     └───────────────────┘
  13.  
  14.               Forward ........................................ 1
  15.  
  16.               General Information ............................ 2
  17.  
  18.               Program Information ............................ 3
  19.  
  20.               Status Line .................................... 5
  21.  
  22.               Keyboard Usage ................................. 6
  23.  
  24.               Command Line Options ........................... 10
  25.  
  26.               Ram Usage ...................................... 12
  27.  
  28.               Upgrading View to ReadIt ....................... 12
  29.  
  30.               Version History ................................ 13
  31.  
  32.               What's Next? ................................... 15
  33.  
  34.               Final Ramblings ................................ 15
  35.  
  36.               Registration ................................... 17
  37.  
  38.  
  39.     ┌─────────┐
  40.     │ FORWARD │
  41.     └─────────┘
  42.  
  43.     Welcome to  View version 3.1!  View  is a  small, fast,  FREE text file
  44.     viewer which you can use  to your hearts content, totally  unrestricted
  45.     (well, almost  - read  the Registration  section contained  at the very
  46.     end of this document for complete  details). With View you have all  of
  47.     the  necessary  viewing  features  implemented  in  a workable fashion;
  48.     there's not too  many frills, but  every vital function  is present and
  49.     accounted for (this type of design became necessary if I was to  adhere
  50.     to  my  main  operative:  To  make  the  program  as  small and fast as
  51.     possible *without* sacrificing any major features).
  52.  
  53.  
  54.     What's new in  version 3.1?  Well, I gave the  program an  entirely new
  55.     look by  making all  keyboard input  and screen  prompts appear  in pop
  56.     windows.  I  also  added  automatic  TAB  expansion,  NetBIOS   network
  57.     compatibility,  a  function  to  read  a  new  file into memory without
  58.     having to exit the  program and restart it,  along with changes to  the
  59.     screen scrolling; the Left and  Right arrows move the display  1 column
  60.     while the Ctrl-Left and Ctrl-Right  arrows move the display 20  columns
  61.     now.  I've  even  enhanced  the  printing  abilities by allowing you to
  62.     select the starting  line, ending line,  page size, and  whether or not
  63.     View  acknowledges  or  ignores  embedded  FormFeeds.  Additionally,  a
  64.     tremendous amount  of tweaking  was done  to the  internal structure to
  65.     tighten loops,  remove dead  code, and  consolidate multiple  functions
  66.     into more  generic routines.  This equates  into a  tighter, faster EXE
  67.     file - two  things that are  becoming extremely rare  in these days  of
  68.     fat, slow, and sloppy WinDOGS programs!
  69.  
  70.  
  71.     View is a fully functional FreeWare  program - it is not 'crippled'  in
  72.     any way.  However, it  is only  a subset  of another  file viewer  I've
  73.     written called  ReadIt. You  see, I've  actually produced  two programs
  74.     that are very similar, something  which I did deliberately. ReadIt  has
  75.     every  conceivable  option  implemented  and  is  at  least  5 times as
  76.     powerful and  friendly as  View, but  it is  more then  twice the size.
  77.     Don't get me wrong; View is no joke, but it isn't nearly as capable  as
  78.     ReadIt is.  Now, if  this program  contains all  the text  file viewing
  79.     power that you need  then your set -  you can keep using  View for free
  80.     as long as you'd  like. But, if your  a power user or  someone who just
  81.     has to have the best of everything then contact me and I'll get a  copy
  82.     of ReadIt off to you (see  the section called Upgrading View to  ReadIt
  83.     for more details).
  84.  
  85.  
  86.     ┌─────────────────────┐
  87.     │ GENERAL INFORMATION │
  88.     └─────────────────────┘
  89.  
  90.     View is a  text and ASCII  file viewer. You  can use View  to read just
  91.     about any  BAT, DOC,  TXT, or  Read.Me type  of file.  It allows you to
  92.     read a file with up  to 7,500 lines, or as  many as will fit into  RAM.
  93.     Each line  can contain  up to  250 characters.  What's so special about
  94.     that? I'm glad you asked!
  95.  
  96.  
  97.     There are a  million text file  viewers floating around.  Hell, you may
  98.     have even written one yourself.  I've written three or four  different,
  99.     but somewhat  specialized, viewers  over the  years. If  you have spent
  100.     more than 2  seconds with any  ShareWare or Public  Domain software you
  101.     know that the manual  is usually a DOC  file included on the  diskette,
  102.     just like this  one. There is  almost always a  Read.Me file with  last
  103.     minute changes that  didn't make the  manual on time  - most commercial
  104.     software even contains these little gems. Some of these files can  grow
  105.     quite large (I saw a ShareWare programmer's editor that had a DOC  file
  106.     that was 357K - too big to be loaded by the editor it came with!).
  107.  
  108.  
  109.     Your only available  choices for reading  files of this  type have been
  110.     either a file viewer  that could only read  one 64K block of  text at a
  111.     time  (one  memory  segment,  which  View  was in all versions prior to
  112.     2.0), one that tried to read the entire file into RAM (which meant  you
  113.     *usually* had a viewer with  a big EXE file or  one that took a lot  of
  114.     RAM itself,  unlike View),  your word  processor (what  a lousy  choice
  115.     that is), or your text editor.  If your file was real big  most viewers
  116.     or word processors would not be  able to load the entire thing  so they
  117.     wouldn't load ANY of it. If your lucky the text editor you use is  able
  118.     to 'unload' the text that couldn't  fit into memory on your hard  drive
  119.     (called VM - Virtual Memory) like the one I use, Bingo.
  120.  
  121.  
  122.     Now, just  because you  have about  550K of  available RAM doesn't mean
  123.     that your viewer or editor could load a file that big - it needs  space
  124.     to work in too. Enter View. With View you can read virtually any  ASCII
  125.     text file that your likely to  encounter. And if the file is  too large
  126.     for RAM View doesn't  just say "sorry pal,  it's too big for  me so I'm
  127.     going to exit to  DOS" (which a lot  of programs do!), it  will display
  128.     what it could read, which in most instances is better then nothing.
  129.  
  130.  
  131.     In short, Views combination of speed, features, and small size make  it
  132.     the  ideal  choice  for  almost  anybody.  Because the EXE file is only
  133.     13,556  bytes  you  can  carry  it  anywhere.  And, since all the major
  134.     movement commands are  present (Arrows, PgUp,  PgDn, Home, End,  etc..)
  135.     you're not  sacrificing features  for portability  or speed.  Remember,
  136.     this program has been carefully hand  crafted to use as little of  your
  137.     precious RAM as possible, so there's more available for your file.
  138.  
  139.  
  140.     ┌─────────────────────┐
  141.     │ PROGRAM INFORMATION │
  142.     └─────────────────────┘
  143.  
  144.     View uses less than 75K of RAM for itself. This means that you can  use
  145.     it on virtually any PC (If you don't have that much RAM available  your
  146.     in the wrong  business!). Essentially what  this means is  that all the
  147.     remaining conventional  (base) memory  in your  system can  be used for
  148.     file storage.  For example;  if, after  having loaded  all your  device
  149.     drivers and  TSR's you  have 575K  of RAM  free (as  reported by Mem or
  150.     some similar  program), then  you would  be able  to load  and read any
  151.     ASCII text file  up to about  500K, or 7,500  lines (and yes,  I *have*
  152.     actually read a 500K  file in only 575K  of RAM so that's  not BS). Not
  153.     too bad from an EXE file of only 13,556 bytes!
  154.  
  155.  
  156.     View starts by verifying that the  file you want to read exists.  If it
  157.     does View  then verifies  that the  file actually  contains data  (some
  158.     programs will attempt to  read a file with  0 bytes of data  and risk a
  159.     crash, but View won't). View then checks to see that you have at  least
  160.     75K of  free RAM.  If everything  is good  up to  this point  View then
  161.     loads itself  into memory. Once loaded,  it proceeds  to set up 7,500 5
  162.     byte pointers  for the  data structure.  Each one  will contain  a line
  163.     number and the string length for the  data it is about to read.   After
  164.     the  pointers  have  been  set  up  View  then  starts reading until it
  165.     reaches the  end of  the file,  runs out  of RAM,  or until it has read
  166.     7,500 lines (this "limit" will be explained later).
  167.  
  168.  
  169.     Once the file has  been loaded you can  use the Up, Down,  Left, Right,
  170.     Ctrl-Left and Ctrl-Right arrows, along  with the PgUp, PgDn, Home,  and
  171.     End keys to move around. If you hit a wrong key or if you hit a  limit,
  172.     like  hitting  PgDn  when  your  on  the  last  page already, View will
  173.     produce a very gentle beep (not that annoying kind!) to make you  aware
  174.     of that fact.
  175.  
  176.  
  177.     View will work with  ANY type of monitor,  be it monochrome, CGA,  EGA,
  178.     VGA, LCD, Gas Plasma,  or whatever you happen  to have. As a  matter of
  179.     fact, the  procedure which  determines what  type of  monitor you have,
  180.     and whether or not it can truly display color, is so accurate that  you
  181.     will probably never have  to use the /M  command line option (which  is
  182.     discussed a little  later in this  document). The video  writes and the
  183.     keyboard handler  were written  in assembler  for the  fastest possible
  184.     performance on any computer.
  185.  
  186.  
  187.     ┌──────────────────────────┐
  188.     │ PROGRAM INFORMATION cont │
  189.     └──────────────────────────┘
  190.  
  191.     I've  spent  a  considerable  amount  of  time  fine  tuning  the   RAM
  192.     requirements for View. With all  the tweaking that was done  I probably
  193.     gave it the ability to read a file that was 25K - 30K bigger then  when
  194.     I first wrote the new memory scheme (implemented in version 2.0).  That
  195.     may not  seem like  a lot  in today's  world of multi-megabyte systems,
  196.     but when you  only have 640K  of RAM for  DOS before you  load all your
  197.     "toys" into memory then  all of the sudden  30K seems like a  lot. Even
  198.     with that I was  able to give the  program a few extra  features like a
  199.     status line at the bottom of the screen which contains the name of  the
  200.     file you're viewing, the current  line number, the last line  number in
  201.     the file, and the right column position. I've also incorporated  direct
  202.     video writes,  pretty good  error checking,  the afore  mentioned popup
  203.     windowing interface, a search feature, a configurable printing  option,
  204.     and  even  a  brightness  control  for  laptops  or  PC's  with  crappy
  205.     contrast. (Does your present file  viewer have a brightness control  as
  206.     a feature?  I'll be willing to bet it doesn't.)
  207.  
  208.  
  209.     ┌─────────────┐
  210.     │ STATUS LINE │
  211.     └─────────────┘
  212.  
  213.     The 25th  line of  the display  (the last  line on  the screen)  is the
  214.     Status Line where you'll find information such as the name of the  file
  215.     your  viewing,  your  current  line  and  column  number, the last line
  216.     number in the file  and the keys that  View uses. The layout  goes like
  217.     this:
  218.  
  219.  
  220.                             Toggle Key Indicators ───┐  Last Line Displayed
  221.                                                      │  ─────────┬─────────
  222.                                "Action" Keys ──────┐ └─┐         └────┐
  223.                                                                     
  224.     FILENAME.EXT║F1 <--> PgUp PgDn Home End Esc║GPRS║BN║Col:   Line:    End:
  225.     ─────┬──── ──────────────┬───────────────                            
  226.           │                     │                   ┌─────────┘      ┌────────┘
  227.           │                     │                   │                │
  228.     ──────┴───────      ────────┴────────     ──────┴─────  ─────────┴─────────
  229.     File in Buffer      Keys Used by View     Right Column  Last Line in Buffer
  230.  
  231.  
  232.     Note that the Brightness and the Network Connected toggle indicators  -
  233.     the letters B and  N on the Status  Line - will change,  depending upon
  234.     the current state of that setting, as follows:
  235.  
  236.         Brightness: A capital  B indicates that  you are in  high intensity
  237.                     mode while  a lower  case b  indicates that  you are in
  238.                     normal intensity mode. (Default = b)
  239.  
  240.            Network: A  capital  N  indicates  that  you  are connected to a
  241.                     network while  a lower  case n  indicates that  you are
  242.                     not. (Default = n)
  243.  
  244.  
  245.     The letters  GPRS (the "Action" keys)  stand for  the various functions
  246.     that View can  perform:  G=GotoLineNumber,  P=PrintFile, R=ReadNewFile,
  247.     and  S=SearchForText.  These  keys  are  not  toggles,  will  always be
  248.     capitalized, and will  perform an immediate  function. Other then  that
  249.     the  Status  Line  is  all  fairly  obvious  and  should really need no
  250.     further explanation.
  251.  
  252.  
  253.     To help  clarify the  Col and  Line numbers  and how they're displayed:
  254.     the Col:## is  the right most  column currently being  viewed while the
  255.     Line:##  is  the  last  line  displayed  on  the screen. This makes the
  256.     numbers  you  see  always  the  extremes  -  the last line and the last
  257.     column of that particular screen.
  258.  
  259.  
  260.     And finally,  the F1  key gives  you a  help screen  (what a surprise!)
  261.     explaining what all those other keys do.
  262.  
  263.  
  264.     ┌────────────────┐
  265.     │ KEYBOARD USAGE │
  266.     └────────────────┘
  267.  
  268.     The keys that View uses  are all pretty self-explanatory (hell,  if you
  269.     made it this far in the  documentation you figured out how to  use most
  270.     of them already). Here's a listing anyway, just to be complete.
  271.  
  272.         <-      - Moves the text on the screen 1 column to the left
  273.         ->      - Moves the text on the screen 1 column to the right
  274.                - Moves up one line of text
  275.                - Moves down one line of text
  276.         PgUp    - Moves back to the previous 24 lines of text (1 page)
  277.         PgDn    - Moves down to the next 24 lines of text (1 page)
  278.         Home    - Goes to the first line of the file
  279.         End     - Goes to the last line of the file
  280.         ^<-     - Moves the text 20 columns to the left
  281.         ^->     - Moves the text 20 columns to the right
  282.         B or b  - Toggle: turns the brightness of the text up or down
  283.         G or g  - Goto a specific line number
  284.         P or p  - Print the current file to LPT1
  285.         S or s  - Search for a string of text
  286.         F1 or H - Display the popup help screen
  287.         ESC     - Exits View
  288.  
  289.  
  290.  
  291.     All cursor movement keys perform as expected, so the key listing  above
  292.     should be sufficient explanation to enable you to navigate around in  a
  293.     file.  The  functions  associated  to  the  keys  listed  below  may be
  294.     somewhat less obvious so they're explained in more detail.
  295.  
  296.  
  297.     [F1 or H]   There are two different help screens - one for command
  298.     Help        line  options  and  one  for keys and their respective
  299.                 meanings.  To obtain command line help type View /? or
  300.                 View  /H  (for  all  us  Unix types: you can use the -
  301.                 instead  of  the  /  for  any  option). To obtain help
  302.                 information  about  the  various  keys  that View uses
  303.                 you  must  first  load  a  file. After you have a file
  304.                 loaded  in  the  buffer  hit the F1 or the H key and a
  305.                 popup window will appear.  This is a rather mute point
  306.                 considering  the intuitive nature of the key sequences
  307.                 that  View  uses  but  I  figured  it  would be a nice
  308.                 reference to have available.
  309.  
  310.  
  311.     [B or b]    To  turn  the  brightness  of the text displayed up or
  312.     Brightness  down hit the B key. This is a 'toggle' key; every time
  313.                 you  hit  it the current state is reversed (i.e. if it
  314.                 was  set  to  normal  then  it will be set to high the
  315.                 first  time  you select it and then back to normal the
  316.                 second  time). If  the  B key on the status line is in
  317.                 lower  case  (b)  then  the  brightness  level is low,
  318.                 while  a  capital  letter  (B)  signifies  that it has
  319.                 been turned up to the high setting.
  320.  
  321.  
  322.     ┌─────────────────────┐
  323.     │ KEYBOARD USAGE cont │
  324.     └─────────────────────┘
  325.  
  326.     [G or g]    Allows  you  to  type  in  a  line number and have the
  327.     Goto        program  jump  directly  to  that line. When using the
  328.                 Goto  function  the  line number you specified will be
  329.                 placed  directly above the Status Line, or as close to
  330.                 it as possible.
  331.  
  332.  
  333.     [P or p]    Prints  the  current  file  to  LPT1. When selected, a
  334.     Printing    window will  appear  asking you these three questions:
  335.  
  336.                         Starting Line #:
  337.                           Ending Line #:
  338.                          Lines Per Page:
  339.  
  340.                 (NOTE: The  words  'buffer'   and   'file'  are   used
  341.                        interchangeably in the following examples.)
  342.  
  343.                 Starting  Line  #:  This  number  represents the first
  344.                 line number in the file where you would like to  start
  345.                 printing.   The default,  displayed at  the bottom  of
  346.                 the window,  will be  line number  1. To automatically
  347.                 select  the   default  simply   hit  the   ENTER  key.
  348.                 Acceptable range  is anything  from the  first line of
  349.                 the buffer to the last  line.  Attempting to enter  an
  350.                 inaccurate number will result in a speaker beep.
  351.  
  352.                 Ending Line  #: This  number represents  the last line
  353.                 number in the file that  you would like to print.  The
  354.                 default, displayed at the  bottom of the window,  will
  355.                 be  the  last  line  in  the  buffer. To automatically
  356.                 select  the   default  simply   hit  the   ENTER  key.
  357.                 Acceptable range  is anything  from the  Starting Line
  358.                 number selected above to the last line of the  buffer.
  359.                 Attempting to enter  an inaccurate number  will result
  360.                 in a speaker beep.
  361.  
  362.                 Lines Per  Page: This  number is  the total  number of
  363.                 lines per page you would like printed. The  acceptable
  364.                 range is 0 to  250. A setting of  1 to 250 will  print
  365.                 that  corresponding  number  of  lines  on  a page. If
  366.                 embedded  FormFeed  (ASCII  character  12) or LineFeed
  367.                 (ASCII character 10)  characters are encountered  they
  368.                 are stripped out.  A setting of  0 will force  View to
  369.                 just send a stream of  data to the printer EXACTLY  as
  370.                 it  appears  in  the  file,  including  all   embedded
  371.                 FormFeeds and LineFeeds, forcing it to rely solely  on
  372.                 the  formatting  hard  coded  in  the document itself.
  373.  
  374.  
  375.     ┌─────────────────────┐
  376.     │ KEYBOARD USAGE cont │
  377.     └─────────────────────┘
  378.  
  379.                 This is quite handy  when a document already  has been
  380.                 paginated, like this  one, and you  wish it to  remain
  381.                 as  such   when  printed.   Attempting  to   enter  an
  382.                 inaccurate  number  will  result  in  a  speaker beep.
  383.                 (ReadIt's  Printing  function  has  CONSIDERABLY  more
  384.                 power  then  Views  does,  allowing total control over
  385.                 the stream of text sent to the printer - just  thought
  386.                 I'd throw in another plug for ReadIt)
  387.  
  388.  
  389.     [S or s]    Searches for any character, number or string of  text,
  390.     Searching   including  "extended"  characters  (those  whose ASCII
  391.                 value is greater than  128) and some of  the "special"
  392.                 characters (those whose ASCII value is less than  32).
  393.                 When  selected,  a  window  will  appear  asking   the
  394.                 following question:
  395.  
  396.                         Search For:
  397.  
  398.                 You  have  a  total  of  25  characters  that  can  be
  399.                 included in  the Search  string -  a sufficient number
  400.                 for most jobs.  (ReadIt  allows up to 40. Damn,  I did
  401.                 it again!)  The search  is not  case sensitive  so the
  402.                 way you  type in  the data  is of  no concern. You can
  403.                 search  for  virtually  anything  including  the afore
  404.                 mentioned  "extended"  characters.  To  access   these
  405.                 types of  characters you  must hold  down the  Alt key
  406.                 and  type  it's  corresponding  Decimal  number on the
  407.                 numeric keypad.  View will  start from  the first line
  408.                 of the file and read each line until it finds a  'hit'
  409.                 or it  gets to  the end  of the  file. If  a match  is
  410.                 found  the   whole  line   will  be   capitalized  AND
  411.                 highlighted for  easy viewing,  while being  placed as
  412.                 close to the  middle of the  screen as possible.  Note
  413.                 that View  will only  find the  FIRST occurrence  of a
  414.                 match  on  any  given  line  (another  limitation that
  415.                 ReadIt doesn't  have!) so  it is  indeed possible that
  416.                 View will  not "find"  every occurrence  of the Search
  417.                 string contained in the buffer.
  418.  
  419.                 If a match  is found, and  it is past  the 80th column
  420.                 of the  file (essentially  off of  the visible screen,
  421.                 but still  within the  buffer itself)  View will shift
  422.                 the display accordingly to  put the match as  close to
  423.                 the right most column of the screen as possible  while
  424.                 displaying the full Search string.
  425.  
  426.                 NOTE:  Even  though  the  Search string is capitalized
  427.                 when a match  is found and  displayed the file  is NOT
  428.                 altered in any fashion -  only the copy in memory  has
  429.                 been changed.
  430.  
  431.  
  432.     ┌─────────────────────┐
  433.     │ KEYBOARD USAGE cont │
  434.     └─────────────────────┘
  435.  
  436.     During virtually any  function, process, or  procedure hitting the  ESC
  437.     key  will  abort  your  present  action  and  return you to the viewing
  438.     screen. Additionally, if  you have entered  something in error  hitting
  439.     the BackSpace key will erase it. And as mentioned above, View will  NOT
  440.     allow you  to enter  an invalid  response to  any prompt (like entering
  441.     letters if you're  asked for a  number). A beep  will sound should  you
  442.     try to do so and the incorrect text will be ignored. This same  pattern
  443.     is also exhibited if you answer a question incorrectly, like trying  to
  444.     Goto a line number  that doesn't exist in  the file your viewing  or if
  445.     you try to exceed a limit,  like hitting PgUp when your already  at the
  446.     first page of the file.
  447.  
  448.  
  449.     ┌──────────────────────┐
  450.     │ COMMAND LINE OPTIONS │
  451.     └──────────────────────┘
  452.  
  453.     View supports six command line options, which are:
  454.  
  455.              /? or /H - A small help screen
  456.                    /C - Forced color mode
  457.                    /M - Forced monochrome mode
  458.                    /N - Disable network printing functions
  459.                    /T - Disable automatic TAB expansion
  460.          Filename.Ext - Name of the file to view
  461.  
  462.  
  463.     Options can be entered  in any order, are  not case sensitive, and  may
  464.     be  preceded  by  either  a  /  or  a  -  character  (yes,  they can be
  465.     intermixed  if  so  desired)  but  you  must leave a space between each
  466.     option selected. All  unrecognized commands are  ignored. There is  one
  467.     option which causes an immediate  response; /? (or /H). This  instructs
  468.     View to  print the  help screen  and then  return to  DOS.  This option
  469.     will  be  acted  upon  REGARDLESS  of  where it's placed on the command
  470.     line. If  you don't  specify a  file name  you will  get the popup file
  471.     selection window  as the  first thing  you see.  The definition  of the
  472.     available command line options is:
  473.  
  474.     /? or /H - Use this  option to get  the command line  option help
  475.                screen.
  476.  
  477.           /C - Forced  color mode. If,  by some technical  fluke, View
  478.                does not recognize your  monitor as having the  ability
  479.                to  display  information  in  color  you  can  use this
  480.                option to  "force" it  to do  so. You  will most likely
  481.                never  use   this  -   it's  was   added  merely    for
  482.                completeness.
  483.  
  484.           /M - By  default  View   displays  white  text   on  a  blue
  485.                background.  On  most  systems  this  doesn't present a
  486.                problem. However,  on certain  laptops, portables,  and
  487.                monochrome EGA  or VGA  monitors this  can be difficult
  488.                to read. Use  this option to  instruct View to  display
  489.                white characters on a black background. The  Brightness
  490.                command will recognize  your selected color  choice and
  491.                will  work  accordingly.  This  does  not  change   the
  492.                location of the video buffer that View uses for  direct
  493.                video writes  - this  merely alters  the colors  of the
  494.                displayed  text.  The  algorithm  that View utilizes to
  495.                find  the  video  memory  is  infallible  (famous  last
  496.                words!).
  497.  
  498.  
  499.     ┌───────────────────────────┐
  500.     │ COMMAND LINE OPTIONS cont │
  501.     └───────────────────────────┘
  502.  
  503.           /N - Disable  automatic  network  print  que  access.  If  a
  504.                NetBIOS  compatible  network  is  detected  View   will
  505.                attempt to  configure  itself  to  use  those  services
  506.                appropriately.  If,  for  instance,  you  have  network
  507.                drivers installed but you don't have a network  printer
  508.                as  part  of  your  available  resources (if you have a
  509.                printer on your desk, for example) you may wish to  use
  510.                this option so View does not attempt to interface  with
  511.                a  non-existing  print  que.  Note  that View will only
  512.                install these  services if  a network  is detected,  if
  513.                you use your  PC as a  standalone or home  computer you
  514.                do not need to use this option. Also, this option  does
  515.                NOT  turn   off  View's   network  file    permission's
  516.                subsystem. If a NetBIOS  network is detected View  will
  517.                automatically  use  your  individual file permission(s)
  518.                as  a  basis  for  it's  own  working knowledge of what
  519.                files are available to you and what files are not.
  520.  
  521.           /T - Disable automatic TAB expansion. By default, View  will
  522.                expand TABS into the appropriate number of spaces.  The
  523.                only  drawback  to  this  is  that  a TAB requires less
  524.                buffer memory then does  a space (unless the  TAB would
  525.                only equate to a single space, in which case they  both
  526.                require the same  amount of memory  - one byte).  There
  527.                may be times  of low memory  that might require  you to
  528.                disable this  automatic TAB  expansion in  order to  be
  529.                able  to  load  some  or  all  of  a  file into memory,
  530.                although  I  don't   envision  this  being   necessary.
  531.                However,  this  option  was  included for completeness.
  532.                (NOTE: View also expands LineFeeds as you would  expect
  533.                it to but, due to it's internal structure, there is  no
  534.                command line  option to  turn this  off. The  only time
  535.                this feature comes into play  anyway is if you were  to
  536.                read a file created by a Unix style editor -  something
  537.                I have to do quite often.)
  538.  
  539.     Filename - The name  of  the  file you  would like  to view. Drive
  540.                letters and paths  are fully supported.  If no path  is
  541.                specified  then  the  current  directory is used. Since
  542.                View can only  read a single  file at a  time wildcards
  543.                are not support (but in ReadIt they are!!).
  544.  
  545.  
  546.     Okay, one final plug for ReadIt. All of these command line options  are
  547.     only recognized when View loads -  this is the case with EVERY  program
  548.     that uses  such options.  However, with  ReadIt you  can configure  all
  549.     these options from within the program itself!  Forget to add  something
  550.     to  the  command  line?  Want  to  change  the  type  of  TABS that are
  551.     displayed? Decide that you really didn't want to print to your  network
  552.     printer  after  all?  Well,  with  ReadIt  you  don't have to leave the
  553.     program to make those changes! (hint, hint)
  554.  
  555.  
  556.     ┌───────────┐
  557.     │ RAM USAGE │
  558.     └───────────┘
  559.  
  560.     Okay let's  get serious,  shall we?  The RAM  that View  uses is broken
  561.     down as follows:
  562.  
  563.          37.5K - 7,500 5 byte data pointers.
  564.            12K - Error checking and all status information
  565.            25K - Video writes, keyboard routines, associated housekeeping
  566.          =====
  567.            75K - Total RAM used by View.Exe (approximately)
  568.  
  569.  
  570.     Not  too  bad,  huh?  This  amount  of memory reflects the TOTAL usage.
  571.     This completely eliminates the worry  one has with other programs  that
  572.     require more  and more  memory the  deeper into  a file  they get. View
  573.     will NEVER request anything other  then what is listed here  REGARDLESS
  574.     of the number of lines or bytes read into it's internal buffer.
  575.  
  576.  
  577.  
  578.     ┌──────────────────────────┐
  579.     │ UPGRADING VIEW TO READIT │
  580.     └──────────────────────────┘
  581.  
  582.     And now,  for the  part you've  all been  waiting for:  View has  a big
  583.     brother  called  ReadIt  (as  if  you  didn't  know that by now!). Yup,
  584.     that's right - if you like View but want something a lot more  powerful
  585.     I can certainly help you out. You  see, View is kinda like my test  bed
  586.     for new  ideas. It's  also something  I happen  to give  away for  free
  587.     because I'm a nice  guy!  ReadIt is  my ShareWare program, the  one you
  588.     have to pay  for. Both View  and ReadIt share  the same basic  'engine'
  589.     (file access,  error checking,  keyboard handling,  and video  writes).
  590.     ReadIt, however,  includes three  pages of  online help,  a much faster
  591.     text search (case sensitive or not), a file/buffer information  window,
  592.     monochrome or  color palette  selection, user  selectable TAB expansion
  593.     from  within  the  program,   completely  customizable  printing   with
  594.     automatic or manual form feeding, 'point and shoot' file selection  and
  595.     access, a data buffer 100% larger then Views, automatic or manual  line
  596.     feed expansion,  a text  'anchor' allowing  you to  easily return  to a
  597.     marked spot,  and much  more. This  is all  wrapped up  in an interface
  598.     featuring popup windows with an EXE  file size of only about 25K!  And,
  599.     unlike View,  EVERY option  is configurable  'on the  fly' meaning that
  600.     you can custom  tailor the entire  environment from within  the program
  601.     itself.  No  more  command  line  options,  unless that's what you want
  602.     (command  line  options  are,  quite  naturally,  fully  supported   by
  603.     ReadIt). If this sounds  good to you then  send just $10.00 dollars  to
  604.     me at  the address  at the  end of  this DOC  file, along with a letter
  605.     containing your name, address and  diskette size, and I'll rush  a copy
  606.     of ReadIt out to you. This is one very nice program that easily  rivals
  607.     the best ShareWare file viewers around.
  608.  
  609.  
  610.     ┌─────────────────┐
  611.     │ VERSION HISTORY │
  612.     └─────────────────┘
  613.  
  614.     1.0 - Initial  release  to  the  general  public.  Only  used by myself
  615.    6/90   prior  to  that.  Could  only read files that were 64K or less in
  616.           size (one memory segment).
  617.  
  618.     1.1 - Added the /I  option to ignore  blank lines, so  more "real" data
  619.    1/91   could be stored in the buffer.  Added the /S option to check  the
  620.           file size in lines, primarily  for use with the /#####  (start at
  621.           line  number)  option.  Fixed  a  bug  with  the  error  checking
  622.           routine.   Fixed a  bug when  you had  a file  with less  than 24
  623.           lines  (1  full  page)  of  text.  Fixed  a  bug with the monitor
  624.           checking procedure.
  625.  
  626.     1.1a- Fixed a  bug with  file names  that started  with a  number, like
  627.   10/91   4Dos.Doc. View mistook that for a 'start at line number'  command
  628.           (similar to the /##### option).
  629.  
  630.     2.0 - Major rewrite!   Removed the  /##### (start  at line  number), /I
  631.    3/92   (ignore blank  lines), and  the /S  (show size  of file)  options
  632.           because they were no longer necessary - they existed strictly  to
  633.           make  the  64K  file  size  limit  a  little more bearable. Added
  634.           support for the left and right arrow keys, the Brightness and the
  635.           Goto  line  number  functions as well as being able to load files
  636.           up  to 7,500 lines long.  All this and the EXE file  is only 1.1K
  637.           larger!
  638.  
  639.     2.1 - Added  the  ctrl_left  and  ctrl_right  arrow  keys to scroll the
  640.    5/92   screen  20  columns  to  the  left/right,  respectively.  Fixed a
  641.           memory allocation error where View  was loading 1 line less  then
  642.           it said it  was if your  file was either  7,500 lines long  or it
  643.           used up all the  RAM in your system  before the end of  the file.
  644.           Added  some  color  to  the  display,  for those of us with color
  645.           monitors. Fixed a bug with  the Goto command if a  user entered a
  646.           number  larger  then  the  total  number  of  lines  in the file.
  647.           Performed some general "housekeeping" on the source code for  the
  648.           sake of speed and/or size. All  this and the EXE file is  now 148
  649.           bytes smaller  than version  2.0! Yeah  I know,  148 bytes  ain't
  650.           much - but how  many times have you  seen a program updated  with
  651.           new features and bug fixes that actually got smaller in size?
  652.  
  653.     2.1a- Fixed  a  keyboard  handler  problem  where  the  keyboard  would
  654.    6/92   respond  sluggishly,  if  at  all,  when the file you loaded took
  655.           all available RAM and you had the TSR SuperKey loaded.
  656.  
  657.     2.2 - Added the ability to search  for text, print the contents  of the
  658.    1/93   file  to   LPT1,  and   also  a   popup  help   window.   Rewrote
  659.           approximately half of the  internal procedures to increase  their
  660.           speed  and  reduce  their  size.  This  version may not appear to
  661.           contain as much  new functionality as  previous upgrades but  the
  662.           capabilities  that   these  new   features  do   add  is    quite
  663.           substantial. These  enhancements increased  the size  of the  EXE
  664.           file by less then 2K.
  665.  
  666.  
  667.     ┌──────────────────────┐
  668.     │ VERSION HISTORY cont │
  669.     └──────────────────────┘
  670.  
  671.  
  672.     3.0 - Changed the  entire look  of the  program by  making all keyboard
  673.   12/93   input and screen prompts  appear in pop windows.  Added automatic
  674.           TAB  expansion,  NetBIOS  network  compatibility,  the ability to
  675.           read a new  file into memory  without having to  exit the program
  676.           and  restart  it,  and  changed  the  screen  scrolling to move 1
  677.           column with  the left  and right  arrows and  20 column  with the
  678.           Ctrl-Left and Ctrl-Right arrows. Enhanced the printing  abilities
  679.           by allowing you  to select the  starting line, ending  line, page
  680.           size, and whether  or not View  acknowledges or ignores  embedded
  681.           FormFeeds. These updates and fixes increased the size of the  EXE
  682.           file by only 1.5K!
  683.  
  684.     3.0a- Minor bug fix  with the way  View displayed files  with less than
  685.    1/94   24 lines  (one full screen) of text  when you  performed a search
  686.           and the found text was past the 80th column of the display.
  687.  
  688.     3.0b- Fixed a bug that caused View  to attempt to read file names  that
  689.    2/94   began with a  NULL character. (Like  hitting a function  key when
  690.           asked for a  file name. Why  anybody would do  this in the  first
  691.           place was  beyond me,  but they  did. You  can thank Borland, and
  692.           the bugs in their libraries, for that little "feature"!)
  693.  
  694.     3.0c- Increased the rate of data transfered to LPT1 to improve printing
  695.    3/94   performance.
  696.  
  697.     3.0d- Fixed a minor  bug that caused the End  key to work in an erratic
  698.    4/94   way if the file you were viewing contained only one line AND that
  699.           line was the maximum width of 250 characters.  These damn display
  700.           bugs are going to be the death of me!
  701.  
  702.     3.1 - Added  a text "anchor",  also called a bookmark,  to allow you to
  703.    6/94   instantly return to any location in the file. Updated the network
  704.           printing   routines   to   reflect   changes   in   the   NetBIOS
  705.           specification that NOS's like LanManager, 10 Net, Lantastic,  etc
  706.           are now using  (these changes should  not effect the  workings of
  707.           older versions of these  operating systems). Displays the current
  708.           directory in the Read  a New File window  so you know where  your
  709.           located. Added  the ability  to exit  the program  with the X key
  710.           (as well as  the typical ESC key).  These updates  added a measly
  711.           393 bytes  to the size of the EXE file!  Not too bad, if I do say
  712.           so myself.
  713.  
  714.  
  715.     ┌──────────────┐
  716.     │ WHAT'S NEXT? │
  717.     └──────────────┘
  718.  
  719.     What's next for View? Well, I'm not really sure. My main objective is
  720.     to keep the program small and fast - that design goal will NEVER
  721.     change. However, I'm not going to ignore a good suggestion for an
  722.     enhancement if you've got one. Want a neat new feature added? Then
  723.     drop me a line at the address below and I'll check into it.
  724.  
  725.  
  726.  
  727.     ┌─────────────────┐
  728.     │ FINAL RAMBLINGS │
  729.     └─────────────────┘
  730.  
  731.     Some  last  words  of  wisdom  (or  at  least  as close as I can come).
  732.  
  733.  
  734.     As with all FreeWare programs  I take absolutely no responsibility  for
  735.     View. If it blows  up in your face  then it's your fault,  not mine. It
  736.     if melts your hard drive, then so be it. If it makes you wish you  were
  737.     a Vulcan (for  all you Star  Trek fans) then  "live long and  prosper".
  738.     Actually, I get pretty fed up with the legal crappola that's  necessary
  739.     in today's world. Of  course my program won't  blow up in your  face or
  740.     melt your  hard drive  - I'm  being sarcastic  and ridiculing the legal
  741.     establishment! I  use View  every day  and I  have yet  to see a Vulcan
  742.     (prior to consuming larger quantities of Molson Ice, that is).
  743.  
  744.  
  745.     The EXE file  is only 13,556  bytes, which is  1804 bytes LESS  then my
  746.     target of  15,360 (exactly  15k). A  13K file  viewer of  this power is
  747.     certainly nothing to sneeze  at. You may feel  that I harp on  the file
  748.     size  issue   too  much   but  it   is,  in   my  opinion,   completely
  749.     unprofessional  to  distribute  a  program  that  has  grown  to   such
  750.     proportions  as  to  be  unweilding  just  so  you can say that it does
  751.     EVERYTHING!  This  "disease"  has  even  acquired  a name: Featureitis.
  752.     Small, tight, and  fast programs still  have a place  in this business,
  753.     contrary to what MicroSoft and their Windows juggernaut would have  you
  754.     believe!
  755.  
  756.     View works exclusively in read only mode. What exactly does that  mean?
  757.     Well, it  means you  can read  ANY file,  regardless of  its attributes
  758.     (hidden,  system,  readonly)  or  its  type  (DOC, TXT, HLP, etc). View
  759.     doesn't create any temporary files  for data storage nor does  it alter
  760.     the original so you  can use it without  concern. That also means  it's
  761.     safe to use on/over your network, too.
  762.  
  763.  
  764.     ┌──────────────────────┐
  765.     │ FINAL RAMBLINGS cont │
  766.     └──────────────────────┘
  767.  
  768.     You've probably  noticed that  I have  given View  a 7,500  line limit.
  769.     This file size limit  is because I'm trying  to get you to  buy ReadIt,
  770.     whose limit  is 100%  greater then  Views is.  Exactly why  does ReadIt
  771.     have such a limit at all? Well, it's not because of me actually -  it's
  772.     Borland.  For  some  reason  they  set  a  limit  on the size of a data
  773.     structure  you  can  create  when  your  allocating  RAM  from the heap
  774.     because you must  declare the structure  BEFORE you can  use it instead
  775.     of dynamically WHEN  you need it.  I know Turbo  C doesn't suffer  from
  776.     this restriction  like Turbo  Pascal does,  which View  and ReadIt were
  777.     written in, but my skill at  writing C code is far less  competent then
  778.     my abilities with Pascal. Naturally, if  it were up to me I  would have
  779.     ReadIt  use  all  available  RAM,  regardless  of  the number of lines.
  780.     Realistically, the 7,500 line  "limit" is not much  of a limit at  all.
  781.     If  you  use  a  typical  DOC  or  TXT  file  as  a  yardstick  you can
  782.     successfully load  approximately 320K  to 350K  before you  reach 7,500
  783.     lines  (I  even  loaded  a  file  one  time  that  was 390K!). There is
  784.     virtually no document  you will ever  encounter that exceeds  that size
  785.     so this limit  is really just  for posterities sake  and doesn't really
  786.     inhibit you.
  787.  
  788.     Notice that if you see the  line number counter in the printing  window
  789.     (for  the  number  of  lines  printed)  pausing  from time to time it's
  790.     View's way of  tell you that  it has encountered  a FormFeed character.
  791.     This 2 to 3 second delay  has been deliberately programmed in to  allow
  792.     the printer  to have  ample time  to catch  up while  it "spits"  out a
  793.     piece of paper.
  794.  
  795.     If you happen to be one of  the few unfortunate souls who still have  a
  796.     CGA monitor you had better be  prepared for a 'blizzard' of snow.  View
  797.     writes directly  to video  RAM and  I didn't  feel like programming the
  798.     necessary routines to perform the synchronization of the video  retrace
  799.     signal. On all other types of monitors there will be no problems.
  800.  
  801.     From time  to time  you might  see some  strange symbols  appear on the
  802.     screen. This is the way View  prints the FormFeed (ASCII code 012)  and
  803.     a few other "difficult"  characters, generally those whose  ASCII value
  804.     is less than 32. They serve only to inform you of their presence -  you
  805.     need not do anything  special about them and  they are not a  hindrance
  806.     at all.
  807.  
  808.     The three areas  I've concentrated on  the most when  writing View were
  809.     file  reading,  video  writes,  and  memory  allocation.  These   three
  810.     functions were  tweaked and  tweaked till  they screamed. Consequently,
  811.     they are the areas that work  the fastest and consume the least  amount
  812.     of memory (as it should be).
  813.  
  814.  
  815.     ┌──────────────┐
  816.     │ REGISTRATION │
  817.     └──────────────┘
  818.  
  819.     Why is this  part of View.Doc  last? Because it's  the least important,
  820.     that's why! I don't believe in a lot of legal rhetoric.
  821.  
  822.     VIEW  IS  A  FREEWARE  PROGRAM.  YOU  ARE  FREE  TO USE IT FOR YOUR OWN
  823.     *PERSONAL*  USE.  YOU  ARE  ENCOURAGED  TO  GIVE  IT AWAY TO ANYONE AND
  824.     EVERYONE WHO WANTS IT (except as noted below).
  825.  
  826.  
  827.     The only real restrictions I impose are:
  828.  
  829.     1. Whomever  you  give  this  program  to,  whether  you copy it onto a
  830.        diskette,  a  hard drive, or you upload it to a BBS, *MUST* be given
  831.        the  complete  set  of  files (at this writing they are View.Exe and
  832.        View.Doc).
  833.  
  834.     2. None  of  the  files  (View.Exe  or  View.Doc) may be altered in ANY
  835.        fashion and must remain in their ORIGINAL form. NO EXCEPTIONS!
  836.  
  837.     3. You  CANNOT,   under  ANY  circumstance,   use  this  program  in  a
  838.        commercial,  retail,  promotional,  or other similar fashion without
  839.        the expressed written consent of the author.
  840.  
  841.     4. You  CANNOT,  under  ANY  circumstance,  use  this program to make a
  842.        profit. This  includes  distributing  it  with  your  own  software,
  843.        selling  it,  "renting"  it,  or any other such arrangement that you
  844.        obtain  reimbursement  for.  The  ONLY  exception to this rule is if
  845.        you  have  a  diskette duplication or ShareWare distribution company
  846.        and  you  charge  a  nominal  fee to reproduce media (diskettes) for
  847.        sale.
  848.  
  849.     If you do desire to  distribute View with your ShareWare  catalog, your
  850.     commercial software,  or for  any other  non-personal endeavor,  please
  851.     write  to  me  at  the  address  below.  I  would be more then happy to
  852.     license View to  just about anybody.  But remember, it's  entirely free
  853.     for personal use!
  854.  
  855.     If  you  would  like  to  be  kept  abreast  of  any  new  developments
  856.     concerning View then  send me a  buck (one thin  dollar!) and I'll  add
  857.     your name to the mailing list. Make sure you tell me what version  your
  858.     using. If you would like me to automatically send you the next  upgrade
  859.     then send  me five  bucks. Even  if you  don't send  a buck  (you cheap
  860.     skate!) feel  free to  drop me  a note  and let  me know what you think
  861.     about  View,  especially  if  you've  found  a  bug  (God forbid!). But
  862.     remember, you can upgrade to ReadIt for only $10.00 by sending a  check
  863.     to me today. So, what are you waiting for?
  864.  
  865.  
  866.                            ╓───────────────────────╖
  867.                            ║       Jim Wilson      ║
  868.                            ║    4 Scranton Pkwy    ║
  869.                            ║   Oxford, NJ  07863   ║
  870.                            ╙───────────────────────╜
  871.