home *** CD-ROM | disk | FTP | other *** search
/ Hall of Fame / HallofFameCDROM.cdr / util2 / wssi330.lzh / WSSI300.DOC next >
Text File  |  1986-09-06  |  53KB  |  1,123 lines

  1.  
  2.  
  3.  
  4.                      Instructions for WSSINDEX version 3.00
  5.  
  6.                                   Introduction
  7.  
  8.         Have  you  ever had to search through dozens of disks  trying  to 
  9.         find  a  seldom used program which you knew  you  had  somewhere?  
  10.         Well here's the solution.   WSSINDEX.EXE is a program for keeping 
  11.         track of MS-DOS files stored on floppy or hard disks.  A database 
  12.         is created which contains, for all of your disks, the information 
  13.         normally available from the DOS DIR command,  as well as optional 
  14.         comments and categories describing each file.  The information in 
  15.         the database may be printed with various sorting options,  or may 
  16.         be  searched for specific file names with wild cards in case  you 
  17.         don't  remember  the exact name of the file you are looking  for.  
  18.         Additional functions include listing files without current backup 
  19.         copies and extracting directory information from ARC  files.  The 
  20.         program  is menu driven and easy to use without referring to  the 
  21.         documentation, but please read it once anyway.
  22.  
  23.                                 Program operation
  24.  
  25.         From  the  operating system prompt,  type WSSINDEX (there are  no 
  26.         parameters).   The screen should clear,  a copyright and  version 
  27.         number  message and a "Do you want instructions" message will  be 
  28.         displayed.  Here, and many other places in the program, a default 
  29.         option  is  displayed which will be used if you just hit  return.  
  30.         If  you reply Y (just hit return),  you will get  an  abbreviated 
  31.         listing  of this document on screen.   Next the program  searches 
  32.         for  a configuration file called WSSINDEX.CNF on the logged disk, 
  33.         or  initializes with default options if it is not  found.   If  a 
  34.         configuration  file  is not found,  the default configuration  is 
  35.         displayed and you are given the option of reading a configuration 
  36.         file  or  changing the configuration.   You may also  change  the 
  37.         configuration  information  later with the "O" and  "E"  options. 
  38.  
  39.         You  may  change  the default name of the configuration  file  by 
  40.         using  the DOS SET command to assign the desired file name to  an 
  41.         environment variable WSSICNF.  The syntax is
  42.  
  43.                   SET WSSICNF=filespec
  44.  
  45.         where  filespec  is the complete name of the configuration  file, 
  46.         including  drive and subdirectory if  necessary.   (Actually,  if 
  47.         filespec is not a complete file name, omitted parts are filled in 
  48.         from "WSSINDEX.CNF" as described under the "G" option.)  You  may 
  49.         want to put this command in your AUTOEXEC.BAT file.  It shouldn't 
  50.         matter  whether  the filespec is upper or lower  case.   You  can 
  51.         review the environment variables by typing SET at the DOS command 
  52.         prompt.   If this environment variable is defined,  it is assumed 
  53.         that  you  are  an  experienced  user,   and  the  "Do  you  want 
  54.         instructions"  question is not asked;  you proceed immediately to 
  55.         the  main  menu  (assuming that the configuration  file  is  read 
  56.         successfully).
  57.  
  58.  
  59.  
  60.  
  61.  
  62.  
  63.  
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70.         In either case,  after configuring,  the main menu is  displayed.  
  71.         The menu options are:
  72.  
  73.         A - Add (or update) disks to the database
  74.             Insert  the first disk to be indexed into the indexing  drive 
  75.             and  hit  the space bar when ready.   The processing time  is 
  76.             roughly proportional to the number of files in the directory, 
  77.             and  will typically be only a few seconds for a floppy  disk.  
  78.             If the disk is not labeled,  you will be given the option  to 
  79.             either  write  a  label on the disk,  enter an  11  character 
  80.             string to be used in place of a label,  or abort back to  the 
  81.             main  menu.   See  the "L" option below for a  discussion  of 
  82.             "legal"  volume names.   You will be informed if  the  volume 
  83.             name matches a volume already in the database,  and given the 
  84.             option  to  replace the previous entry or not enter the  disk 
  85.             into  the  database.   The informative message "NO  FILES  IN 
  86.             d:\*.*"  will be generated if there are no files in the  root 
  87.             directory,  along  with  similar  messages  for  other  empty 
  88.             directories.   When  prompted you may either  insert  another 
  89.             disk and hit the space bar, or hit any other key to return to 
  90.             the main menu.
  91.  
  92.             An important feature:  if you replace a disk in the database, 
  93.             any comments or categories which have been previously entered 
  94.             are  not lost,  they are copied over to the new entry if  the 
  95.             file and subdirectory names match.  Thus you should feel free 
  96.             to re-enter a disk into the database after even small changes 
  97.             have been made.   During a replacement operation, the old and 
  98.             new  entries are temporarily in core at the  same  time,  and 
  99.             both  count toward the limits on the number of  files,  disks 
  100.             and  subdirectories.
  101.  
  102.             There  is one circumstance which could make replacing a  disk 
  103.             in the database very time consuming.   The code which  copies 
  104.             old  comments  to  new entries is  a  straightforward  doubly 
  105.             nested  loop,  which  means that the running time is  roughly 
  106.             proportional to the square of the number of commented  files.  
  107.             This  is  not a problem with floppy disks which  seldom  have 
  108.             even 100 files, but on a hard disk with a few thousand files, 
  109.             the  processing time could stretch to several  minutes.   The 
  110.             obvious  solution is to sort both sets of names first,  which 
  111.             would reduce the processing time for commented disks,  at the 
  112.             expense  of increasing it for non-commented ones,  and I  may 
  113.             implement this in a future release.  Comments from registered 
  114.             users are solicited.
  115.  
  116.         B - list files which are not Backed up
  117.             This  options  is intended primarily for listing files  on  a 
  118.             hard disk which have not been backed up, but can also be used 
  119.             on floppies.  A file is considered to be backed up if another 
  120.             file  with  the same name and the same or later time  tag  is 
  121.             found on another disk (possibly in an ARC file).   Exact time 
  122.             and size matches are not required because some copy  programs 
  123.             do  not  preserve the old date,  or even the size  for  files 
  124.             which are not padded to a full disk sector.
  125.  
  126.  
  127.  
  128.  
  129.  
  130.  
  131.  
  132.  
  133.  
  134.  
  135.  
  136.  
  137.             When  you select this option,  the database is  first  sorted 
  138.             using  an internally defined set of sort keys.   Then you are 
  139.             given  the usual selection options (described under  the  "P" 
  140.             option),  including disk name, but it doesn't make much sense 
  141.             to  select  this way since you are only listing files on  one 
  142.             disk anyway.   For the same reason, you might as well set the 
  143.             configuration  to  skip printing the disk name  (it  will  be 
  144.             listed in the title anyway).   You will almost certainly want 
  145.             to configure the exception list to exclude *.BAK (or whatever 
  146.             your  favorite  word  processing  program  names  its  backup 
  147.             files).   And  don't  forget to request use of the  exception 
  148.             list,  otherwise  you  will  have to stop  the  listing  with 
  149.             control-c and try again.
  150.  
  151.             If  you  have a hard disk which is logically  partitioned  so 
  152.             that it looks like multiple disks, you probably don't want to 
  153.             consider  a  file to be backed up just because it appears  in 
  154.             two partitions.   To avoid this problem you can either load a 
  155.             database  with only floppies included,  then index  a  single 
  156.             partition before checking it for backups,  or you can use the 
  157.             "R"  option  to  remove  all  but  one  partition  from  your 
  158.             database.
  159.  
  160.         C - add or modify Comments and categories for files
  161.             See below for a description of the add-comments menu.   Files 
  162.             to be commented may be limited by the usual selection options 
  163.             (described below under the "P" option).
  164.  
  165.         D - Display statistics
  166.             This option displays the number of files,  subdirectories and 
  167.             disks  in  the database,  and the amount of  contiguous  core 
  168.             remaining  for additional entries.   There will always be  at 
  169.             least one subdirectory listed,  since the root directories of 
  170.             all disks are treated as one subdirectory.  Some points about 
  171.             the reported core remaining:  it is only the contiguous space 
  172.             remaining  which  is  reported.   If  a disk  is  removed  or 
  173.             replaced,  a  "hole" is usually created in the  memory  space 
  174.             which  will be used for the next disk added to the  database.  
  175.             Some  operations may create fragments of core too small to be 
  176.             useful,  hence the space remaining may change slightly if you 
  177.             save  the  database on disk and then  reload  it.   You  will 
  178.             receive a warning if the available space drops below 4K.  The 
  179.             program may not always survive running out of core,  so it is 
  180.             best to do a save to disk if you get this warning.  Also note 
  181.             that opening a file requires at least 2K for buffers,  so you 
  182.             may  not  even be able to save your database if there is  too 
  183.             little core free.
  184.  
  185.         E - change prEdefined categories
  186.             This  option displays the 26 predefined categories  available 
  187.             in  the  add-comments section (or anywhere else  that  multi-
  188.             character  text  input is allowed) and allows you  to  change 
  189.             them.  These categories are stored in the configuration file, 
  190.             not the database file.
  191.  
  192.  
  193.  
  194.  
  195.  
  196.  
  197.  
  198.  
  199.  
  200.  
  201.  
  202.  
  203.         F - Find a file in the database
  204.             Find  is equivalent to Print (described below) to the  screen 
  205.             without resorting.
  206.  
  207.         G - Get a database from disk
  208.             Enter  the name of a file previously saved with the "W"  menu 
  209.             option. The default name is the first of
  210.  
  211.                 1. The last file name used in a Get or Write command
  212.                 2. The DOS environment variable WSSIDIR (DOS command
  213.                    set WSSIDIR=filespec)
  214.                 3. WSSINDEX.DIR
  215.  
  216.             which  is  defined,  but you may override all or part of  the 
  217.             name if desired, including specifying a drive letter or path.  
  218.             For example,  if you enter C:\JUNKDIR\.LST,  when the default 
  219.             is   WSSINDEX.DIR,   the   database  will  be   loaded   from 
  220.             subdirectory JUNKDIR, file WSSINDEX.LST on drive C.  You will 
  221.             be  warned and given an opportunity to escape if you  have  a 
  222.             database  in core which has been changed without being saved.  
  223.             Otherwise, the only way of aborting this option is to enter a 
  224.             non-existent, or better illegal, file name such as T.T.T.
  225.  
  226.         I - change Indexing drive
  227.             Enter  the  disk letter to be used for  subsequent  indexing.  
  228.             This does not change the logged drive.
  229.  
  230.         L - Label a disk on the indexing drive
  231.             The  current volume label,  if any,  is displayed and you are 
  232.             prompted for a new label.   A carriage return aborts back  to 
  233.             the main menu.   The labeling is done by a DOS call,  so  DOS 
  234.             restrictions on allowed characters apply (in particular, your 
  235.             input will be forced to upper case because lower case letters 
  236.             are not allowed,  but blanks are ok).   If in doubt,  try the 
  237.             label you want to use;  an illegal name will be rejected with 
  238.             no harmful consequences.   I would suggest that you not trust 
  239.             a  copy  protected master disk to any disk labeling  program; 
  240.             who knows what sort of games they might have played with  the 
  241.             directory.
  242.  
  243.             Note:  if you have a disk with a mixed case label (which  you 
  244.             can  easily  create  with  DEBUG or  some  other  utilities), 
  245.             WSSINDEX  will  not be able to change the label  (DOS  rename 
  246.             call fails),  the reName option will not work, and the Remove 
  247.             option will only work if the disk name is read from the  disk 
  248.             rather  than the keyboard.   Disks with labels differing only 
  249.             in  case are considered to be different when adding disks  to 
  250.             the database,  but cannot be distinguished when selecting  by 
  251.             volume name.   If you use really weird volume labels, such as 
  252.             ANSI  cursor  positioning  commands,   you  probably  deserve 
  253.             whatever happens to you.
  254.  
  255.  
  256.  
  257.  
  258.  
  259.  
  260.  
  261.  
  262.  
  263.  
  264.  
  265.  
  266.  
  267.  
  268.         N - reName a disk in the database
  269.             You  are prompted for old and new names and the disk name  in 
  270.             the  database is changed.   A carriage return aborts back  to 
  271.             the main menu.
  272.  
  273.         O - change cOnfiguration info
  274.             This  option  allows  you to set,  save or restore  the  same 
  275.             options   as   the  initial  configuration   display   (other 
  276.             configurable items are set with the "E" option but also saved 
  277.             and restored here).   Default values are displayed after each 
  278.             prompt,  so  to make a small change in the configuration  you 
  279.             can just hit the return key for most items.  The options are:
  280.  
  281.               1. Indexing drive mode letter.
  282.  
  283.               2. Maximum number of files, disks and subdirectories.  This 
  284.                  information  cannot be changed with a database in  core.  
  285.                  These  numbers cannot be larger than 16,379,  no  matter 
  286.                  how much memory you have.  With a 256K machine, you will 
  287.                  probably be able to accommodate around 3000 files;  with 
  288.                  640K  you  may  be able to hit  the  16K  limit.   Note, 
  289.                  however,  that a 16K file database will probably be  too 
  290.                  big to fit on a 360K floppy disk.   These numbers assume 
  291.                  that you don't enter very many comments.
  292.  
  293.               3. Extract information from .ARC files (answer yes or  no).  
  294.                  See  below  for  a  detailed description  of  .ARC  file 
  295.                  processing.
  296.  
  297.               4. Create .BAK files if saved file name matches an existing 
  298.                  file  (answer  yes or no).   Normally,  a  file  with  a 
  299.                  matching  name  would be renamed with a .BAK  extension, 
  300.                  and an existing .BAK file would be erased,  but you  may 
  301.                  elect  to overwrite instead (with  verification).   This 
  302.                  option  is  provided  for users  with  limited  capacity 
  303.                  floppy  disk drives who may not be able to fit 2  copies 
  304.                  of  a  database  on  the same  disk.   It  is  obviously 
  305.                  dangerous to reply yes as even a failing write operation 
  306.                  will probably destroy the old file.
  307.  
  308.               5. Printer width and length.   This information is used  to 
  309.                  decide  when to print new headings and whether or not to 
  310.                  start  a new line for comment and  category  information 
  311.                  (even  if "printing" to disk).   It is assumed that your 
  312.                  printer  is  at least wide enough to  hold  all  printed 
  313.                  fields  except comments and categories on a single line.  
  314.                  This  may not be true if you have subdirectories  nested 
  315.                  deeply enough,  in which case you will have to  suppress 
  316.                  selected fields when printing.  The program does not add 
  317.                  any  blank lines for top and bottom margins,  so you may 
  318.                  want  to  adjust  the  number  of  lines   specification 
  319.                  accordingly.
  320.  
  321.               6. Print  comments  and  categories  on the  same  line  as 
  322.                  directory info (if they fit), yes or no.
  323.  
  324.  
  325.  
  326.  
  327.  
  328.  
  329.  
  330.  
  331.  
  332.  
  333.  
  334.  
  335.               7. Pause at end of page?   For those of you who use  single 
  336.                  sheet printers.   If you reply no,  each page after  the 
  337.                  first will begin with a form feed (even if "printing" to 
  338.                  disk).
  339.  
  340.               8. Select  information  to be printed.   File  size,  date, 
  341.                  time,   seconds  field  of  update  time,  volume  name, 
  342.                  subdirectory  name,   name  of  .ARC  file,  comment  or 
  343.                  category may be suppressed for option "P" output.   Note 
  344.                  that  the time field is automatically suppressed if  the 
  345.                  date is omitted.  
  346.  
  347.               9. Start  in  expert  mode (menu display  off).   You  will 
  348.                  probably want to say yes after you have used the program 
  349.                  for a while.
  350.  
  351.              10. Exception list.   A list of up to 10 special case  names 
  352.                  which can be excluded from printing.   By default,  this 
  353.                  list  consists of only COMMAND.COM,  but you might  also 
  354.                  want  to add CONFIG.SYS,  AUTOEXEC.BAT or anything  else 
  355.                  you have many copies of.  Wild card names are allowed.
  356.  
  357.             If  you read or save a configuration file,  the default  file 
  358.             name is the first of
  359.  
  360.                  1. The last configuration file saved or read
  361.                  2. The DOS environment variable WSSICNF (DOS command 
  362.                     set WSSICNF=filespec)
  363.                  3. WSSINDEX.CNF
  364.  
  365.             which is defined.
  366.  
  367.             The  format  of  the configuration file  often  changes  from 
  368.             version   to  version;   compatibility  is  not   guaranteed.  
  369.             However,  I do try to arrange things so that most information 
  370.             can  be  extracted from an older configuration file before  a 
  371.             read  error occurs.   One of the first things you  should  do 
  372.             with a new version is to review your configurations settings.
  373.  
  374.         P - Print (and sort)
  375.             Files are optionally sorted in ascending or descending  order 
  376.             by any combination of
  377.  
  378.                1. file name              6. date and time
  379.                2. extension              7. category
  380.                3. disk name              8. comment
  381.                4. subdirectory           9. .ARC file name
  382.                5. size                  10. .ARC file extension
  383.  
  384.             When  prompted,  enter  a  comma-separated list of  sort  key 
  385.             numbers,  changing  the  sign of any you want  in  descending 
  386.             order.   Most of the keys are self-explanatory,  but the last 
  387.             two  need  a  little explanation.   If you  have  elected  to 
  388.             extract  information  from  ARC  files,  the  file  name  and 
  389.  
  390.  
  391.  
  392.  
  393.  
  394.  
  395.  
  396.  
  397.  
  398.  
  399.  
  400.             extension  used with keys 1 and 2 for members of an ARC  file 
  401.             are those of the ARC file member.  Thus, with only keys 1 and 
  402.             2,  the ARC file members sort by their own names.  Keys 9 and 
  403.             10  select the ARC file name for members of an ARC  file,  or 
  404.             the  usual name for ordinary files.   In addition,  there are 
  405.             two special conditions checked:
  406.  
  407.               1. If  sort keys 9 and 10 are used and have higher priority 
  408.                  than 1 and 2, the ARC file itself will sort ahead of any 
  409.                  of its members; 
  410.               2. If keys 1 and 2 have higher priority than 9 and 10, then 
  411.                  ARC  members (and other files) are sorted by  their  own 
  412.                  names.
  413.  
  414.             An  interleaved  list of keys such as 1,9,2,10 will  probably 
  415.             not do anything useful.   If there are multiple copies of  an 
  416.             ARC  file,  you  will probably want to have the  disk  and/or 
  417.             subdirectory as an intermediate key when sorting first by ARC 
  418.             file name.   To summarize, 9,10,3,4,1,2 will list ARC members 
  419.             following  the containing ARC file,  while 1,2 will list  all 
  420.             files alphabetically.
  421.  
  422.             If you elect not to sort (sort key equal zero),  the  current 
  423.             sort order is preserved.   After sorting,  files to be listed 
  424.             may be selected by 
  425.  
  426.                1. name and extension     5. date range
  427.                2. subdirectory           6. size range
  428.                3. disk name              7. comment
  429.                4. category            or 8. excluded
  430.  
  431.             if  in  a list of configured  exceptions.   Selection  option 
  432.             numbers  are entered in a comma-delimited list;  the order is 
  433.             not significant.   All but option 8 lead to prompts for  more 
  434.             information.    For  comment  (category),  enter  a  wildcard 
  435.             string,  or * to match any existing string,  or just a return 
  436.             to match absence of comment (category).   Printer information 
  437.             in   the  configuration  file  is  used  to  control  paging.  
  438.             Information may be "printed" to printer, screen or disk. Disk 
  439.             output  might  be  massaged by a text editor  to  change  the 
  440.             format, or transported to another machine for printing; it is 
  441.             not readable by the "G" menu option.   On most  systems,  you 
  442.             may abort printing by hitting control-C, but I recommend that 
  443.             you  test  this feature before you count  on  it.   Control-s 
  444.             should  make  any screen display pause until you hit  another 
  445.             key  (control-q may be required),  but this is  an  operating 
  446.             system feature not under the control of WSSINDEX.
  447.  
  448.         Q - Quit and return to DOS
  449.             You  will be warned if the in-core database has been  changed 
  450.             without being saved, and in any case you must verify that you 
  451.             really want to exit.  For your protection, the default option 
  452.             is N (don't quit) if the in-core database has not been saved.
  453.  
  454.  
  455.  
  456.  
  457.  
  458.  
  459.  
  460.  
  461.  
  462.  
  463.  
  464.  
  465.  
  466.         R - Remove a disk from the database
  467.             The volume name to remove may be either typed in or read from 
  468.             disk.
  469.  
  470.         S - Sort without printing
  471.             The purpose of this option is to set the order in which files 
  472.             are processed by the add-comments option.  If identical files 
  473.             on  different  disks are  commented  sequentially,  the  copy 
  474.             comment function is often useful.   The usual sorting options 
  475.             (listed  under  the "P" option) are available.   The sort  is 
  476.             done  using the Quicksort algorithm.  The sorting time for  a 
  477.             randomly ordered file is O(N*logN),  typically 30 seconds for 
  478.             2000 files.   If, however, you should somehow manage to enter 
  479.             your  files in alphabetical order,  you will discover one  of 
  480.             the quirks of Quicksort: the sorting time for an ordered file 
  481.             is  O(N*N),  turning a 30 second sort into a 10 minute  sort.  
  482.             For this reason the database is stored unsorted.
  483.  
  484.         V - list Volume names
  485.             The volumes in the database are listed to printer,  screen or 
  486.             disk,  sorted  by  name or by  decreasing  free  space.   The 
  487.             printer  configuration information is used to control paging. 
  488.             The  display for each volume includes the  volume  name,  the 
  489.             number  of free bytes,  the total number of bytes  available, 
  490.             the  number of files (excluding hidden files),  the number of 
  491.             subdirectories  other than the root directory,  the date  the 
  492.             disk was last added to the database,  and whether or not  the 
  493.             disk  is bootable.   The disk is assumed bootable if it has a 
  494.             COMMAND.COM file,  the presence of the hidden system files is 
  495.             not  verified.   On most systems,  you may abort printing  by 
  496.             hitting control-c, but I recommend that you test this feature 
  497.             before counting on it.
  498.  
  499.         W - Write database on disk
  500.             The in-core database is saved on disk.  The default file name 
  501.             is the first of
  502.  
  503.                 1. The last file name used in a Get or Write command
  504.                 2. The DOS environment variable WSSIDIR (DOS command
  505.                    set WSSIDIR=filespec)
  506.                 3. WSSINDEX.DIR
  507.  
  508.             which is defined, but may be overridden in the same manner as 
  509.             described  under the "G" option.   A previously existing file 
  510.             with  the  same  name  will either be  renamed  with  a  .BAK 
  511.             extension  or overwritten (with verification),  depending  on 
  512.             which configuration option you have selected.  If creation of 
  513.             .BAK  files  is enabled,  you will not be allowed  to  use  a 
  514.             filename with a .BAK extension.
  515.  
  516.         X - toggle eXpert mode
  517.             Start or stop displaying the verbose menu before each command 
  518.             prompt.
  519.  
  520.  
  521.  
  522.  
  523.  
  524.  
  525.  
  526.  
  527.  
  528.  
  529.  
  530.  
  531.  
  532.                                 .ARC file support
  533.  
  534.         ARC  is a shareware program by Systems Enhancement Associates (21 
  535.         New Street,  Wayne, NJ  07470) which maintains libraries of files 
  536.         in special files with .ARC extensions.   Files stored by ARC  are 
  537.         compressed  by  the  one  of several  possible  algorithms  which 
  538.         produces the smallest output file.   ARC appears, at least in the 
  539.         Boston  area,  to  be supplanting the LU and  SQ/UNSQ  family  of 
  540.         programs  which  separately  perform the  library  generation  or 
  541.         compression functions.   Starting with version 3.0,  WSSINDEX has 
  542.         the  (optional) capability of extracting information from an  ARC 
  543.         file,  much  like  it  does  from  subdirectories.   Among  other 
  544.         advantages,  this  means  that you can keep backup copies in  ARC 
  545.         files  and cut down on the number of floppy disks needed to  back 
  546.         up  your hard disk,  and still be able to use the "B"  option  to 
  547.         check  for  current  backups.   The only function  which  is  not 
  548.         allowed  for  a  member of an ARC library  is  "view-file"  since 
  549.         WSSINDEX does not know how to uncompress the file.
  550.  
  551.         ARC  files introduce a complication in the operation of replacing 
  552.         a  commented  disk in the database.   What should be  done  if  a 
  553.         member of an ARC file matches the name of an ordinary,  commented 
  554.         file  in  the same subdirectory?   Quite probably the  files  are 
  555.         identical,  but they could be completely different,  and WSSINDEX 
  556.         has  no  reliable  way to tell which is the  case.   The  current 
  557.         program version uses the following algorithm to decide whether to 
  558.         copy a comment after it has found matching file and  subdirectory 
  559.         names:  if  both files are ARC members,  the ARC file names  must 
  560.         match,  and  if only one of the pair is in an ARC file,  the size 
  561.         and  date  must match.   I am not completely satisfied with  this 
  562.         algorithm and am open to any suggestions for a better technique.
  563.  
  564.         Extraction  of information from an ARC file is noticeably  slower 
  565.         than  reading  a directory because the information  is  scattered 
  566.         throughout  the ARC file,  rather than being concentrated in  one 
  567.         place.   You  will  probably notice a lot of disk  activity  when 
  568.         extracting ARC information.
  569.  
  570.         WSSINDEX should not be affected by changes in future versions  of 
  571.         ARC (latest version I know of is 5.12), since these are likely to 
  572.         involve  only  the encoding schemes,  and not the header  format.  
  573.         There is,  however,  the possibility of having files with an  ARC 
  574.         extension  which  were  not created by  ARC.   For  example,  the 
  575.         Computer  Innovations  C compiler which I use stores  its  source 
  576.         libraries  in ARC files which are maintained by a program  called 
  577.         ARCH,  and have a completely different format from SEA ARC files.  
  578.         Usually, such files will be detected when the header is read, and 
  579.         an  informative  message will be given.   However,  if  the  file 
  580.         starts like a SEA ARC file, but later diverges, either because it 
  581.         isn't one,  or because it has somehow been mangled, WSSINDEX will 
  582.         stop  processing  the directory of the disk.   If  this  happens, 
  583.         there  will  probably be garbage entries in the database for  the 
  584.         disk.   In  this  case,  your  only options  are  to  rename  the 
  585.         offending file, or to turn off the ARC extraction option.
  586.  
  587.  
  588.  
  589.  
  590.  
  591.  
  592.  
  593.  
  594.  
  595.  
  596.  
  597.  
  598.                                  Wild card names
  599.  
  600.         Most  sections  of the program which require names also accept  * 
  601.         and  ?  wild cards.   These are almost the same as used  in  DOS, 
  602.         except  that  in WSSINDEX something like ABC* will only  match  a 
  603.         file with no extension,  whereas in DOS it matches any extension.  
  604.         All  comparisons are case insensitive,  so lower case  categories 
  605.         (or even volume labels or file names if you manage to create such 
  606.         non-standard beasts) can be matched by upper case  inputs.   Note 
  607.         that if you have,  say, a disk labeled WORD*, and another labeled 
  608.         WORDSTAR, the string WORD* will match both.
  609.  
  610.                               The add-comments menu
  611.  
  612.         The  add-comments  menu screen displays each matching  file  name 
  613.         along with the disk and subdirectory it is found on.   The ten PF 
  614.         keys,  alt-letter keys,  plus BACKSPACE,  INSERT,  DELETE, ENTER, 
  615.         HOME,  and  the left/right cursor arrows are used to control this 
  616.         part of the program.   A help menu and three sets of  information 
  617.         are displayed:
  618.  
  619.         Copy  buffer - a comment/category pair  which can be copied  into 
  620.                   the new comment field.
  621.         Current file - the comment/category currently in the database for 
  622.                   the displayed file.
  623.         New  comment/category - the comment and category currently  being 
  624.                   entered.
  625.  
  626.         The special functions available are:
  627.  
  628.         PF1 -   Copy comment:  if the file has a comment,  copy it to the 
  629.                 new  comment field;  otherwise,  copy the comment in  the 
  630.                 copy buffer.   If you want to replace an existing comment 
  631.                 with one from the copy buffer,  you must first delete the 
  632.                 old comment (PF6). Note that this does not actually add a 
  633.                 comment to the file until you hit PF5.
  634.  
  635.         PF2 -   Copy category: if the file has a category, copy it to the 
  636.                 new category field;  otherwise,  copy the category in the 
  637.                 copy buffer.   As with PF1,  this does not actually add a 
  638.                 category until PF5 is hit.
  639.  
  640.         PF3 -   Copy both: the same as hitting both PF1 and PF2.
  641.  
  642.         PF4 -   Skip to next:  advance to the next file, without changing 
  643.                 the current comment and category fields.
  644.  
  645.         PF5 -   Add comment and advance: the new comment and category (if 
  646.                 any) are added to the current file and copied to the copy 
  647.                 buffer.   Blank  fields will not be copied and  will  not 
  648.                 change the record for the current file.
  649.  
  650.         PF6 -   Delete  comment:  any  comment for the  current  file  is 
  651.                 deleted  immediately.   If you have entered something  in 
  652.                 the new comment field, and decide that you do not want to 
  653.  
  654.  
  655.  
  656.  
  657.  
  658.  
  659.  
  660.  
  661.  
  662.  
  663.  
  664.                 have  any comment associated with the file,  just hit PF6 
  665.                 to delete the old comment, followed by PF4 to skip to the 
  666.                 next file without adding the contents of the new field to 
  667.                 the  database.   It  is not necessary to clear  the  text 
  668.                 entered into the new comment field.
  669.  
  670.         PF7 -   Delete  category:  any category for the current  file  is 
  671.                 deleted  immediately.   Proceed as described under PF6 to 
  672.                 delete a category after having entered something into the 
  673.                 new category field.
  674.  
  675.         PF8 -   Change search direction: toggles the search direction for 
  676.                 the next matching file between forward and backward.  
  677.  
  678.         PF9 -   View file: the indexing drive is searched for the current 
  679.                 file.  The disk volume name must match (an unlabeled disk 
  680.                 will be accepted).  If the file is found, it is displayed 
  681.                 on   the  bottom  half  of  the   screen.    Non-printing 
  682.                 characters  are  translated to periods,  so there  is  no 
  683.                 problem  with viewing a non-ascii file.   The high bit of 
  684.                 each   character  is  cleared  to  make  WordStar   files 
  685.                 printable.   Lines  longer  than  the  screen  width  are 
  686.                 truncated.   This  function will fail and claim that  the 
  687.                 file  could  not  be found if there is  not  enough  free 
  688.                 memory to open a file.
  689.  
  690.         PF10 -  Return to the main menu.
  691.  
  692.         BACKSPACE - Delete character to left of cursor.
  693.  
  694.         DELETE - Delete  character  under  the  cursor  (note  that   the 
  695.                 functions  of backspace and delete at some points in  the 
  696.                 program  are  controlled by the operating system and  may 
  697.                 not be the same as here).
  698.  
  699.         INSERT - Toggle between insert and overwrite mode.
  700.  
  701.         ENTER - Toggle between comment and category.
  702.  
  703.         Left/right cursor arrows - Move around in the comment or category 
  704.                 strings for editing.
  705.  
  706.         Control-left/right cursor arrows - Move the cursor in word rather 
  707.                 than character steps.
  708.  
  709.         HOME -  Move  the cursor to the beginning of the  current  field.  
  710.                 (Hitting   return  twice will position you to the end  of 
  711.                 the current field.)
  712.  
  713.         Alt-letter  - Copy  one of the 26 predefined categories into  the 
  714.                 category field,  overwriting anything previously  entered 
  715.                 there.   (The behavior here is slightly different than in 
  716.                 other  parts  of the program were the predefined  strings 
  717.                 are appended to any previous input).   Note that changing 
  718.                 the  predefined categories (E-option from main menu) will 
  719.  
  720.  
  721.  
  722.  
  723.  
  724.  
  725.  
  726.  
  727.  
  728.  
  729.  
  730.                 not  change  the  categories  which  have  already   been 
  731.                 assigned to files; it is the actual string which is saved 
  732.                 for each file.  Also, the predefined category strings are 
  733.                 stored in the configuration file, not the database.
  734.  
  735.         When all files which match the selection criteria specified  have 
  736.         been processed, you normally return to the main menu.  This would 
  737.         make  it  inconvenient  to  apply  corrections  to  a  previously 
  738.         commented database,  or otherwise process several groups of files 
  739.         selected  by name.   So,  if the only selection criterion is  the 
  740.         filename,  you  will  be  prompted for a new  filespec  when  all 
  741.         matching files have been processed.   At this point, you can also 
  742.         just hit return to return to the main menu.
  743.  
  744.         Comments  and  categories  entered for files are  limited  to  64 
  745.         characters, although if you use the category field as it is named 
  746.         it  will  usually be a relatively short phrase.   Some users  may 
  747.         want to use this field as a version number.   While WSSINDEX will 
  748.         allow any character except a backspace,  tab,  linefeed, carriage 
  749.         return,  delete,  escape  or  a null to be used in a  comment  or 
  750.         category, you are advised to remember that control characters may 
  751.         have  undesired effects on your printer.   The category field  is 
  752.         printed in parenthesis after the comment.
  753.  
  754.                             The distribution package
  755.  
  756.         You should have received the following files,  possibly  combined 
  757.         in a .LBR or .ARC file:
  758.  
  759.              WSSInnn.EXE  - the executable program.   n.nn is the version                     
  760.                             number.
  761.              WSSInnn.DOC  - this documentation file.
  762.              WSSMnnn.EXE  - a  utility  for  merging  WSSINDEX  databases 
  763.                             (version  number  may not match that  of  the 
  764.                             main program).
  765.              WSSMnnn.DOC  - documentation for WSSMnnn.
  766.              WSSIFRM.DOC  - a  description of the disk format of a  saved 
  767.                             database.
  768.              RAINBOW.DIF  - addendum to this document for Rainbow users.
  769.              INVOICE.DOC  - an  order form and invoice in case  you  need 
  770.                             one.
  771.              WSSITIPS.nnn - tips for using WSSINDEX
  772.              CP2.COM,.DOC - a public domain cut and paste utility
  773.  
  774.                            Hard/software requirements
  775.  
  776.         You  must  have  MS- or PC-DOS level 2.0 or higher  to  use  this 
  777.         program  because it uses operating system features not  supported 
  778.         by DOS-1.   Your operating system must recognize INT 10 hex calls 
  779.         to scroll the screen,  and INT 16 hex to read the  keyboard.   It 
  780.         must  also  support ANSI escape sequences for cursor  positioning 
  781.         and highlighting.   This support may be an integral part of  your 
  782.         system (as is the case for the Sanyo 55x series without the video 
  783.         board  option),  but  is often provided by an installable  device 
  784.         driver  called  ANSI.SYS (ANSI55.SYS for the Sanyo 55x  with  the 
  785.  
  786.  
  787.  
  788.  
  789.  
  790.  
  791.  
  792.  
  793.  
  794.  
  795.  
  796.         video board).  If your system does not support ANSI.SYS commands, 
  797.         you will see the control sequences on the screen; they begin with 
  798.         a  left  arrow and a [.   If you find that you  are  having  this 
  799.         problem, check to see that your system disk has the ANSI.SYS file 
  800.         and   a   file   called  CONFIG.SYS  which  includes   the   line 
  801.         DEVICE=ANSI.SYS,  and  possibly some other  specifications.   The 
  802.         only  MS-DOS machine which I know to have problems with  WSSINDEX 
  803.         is  the  DEC  Rainbow  for which a  special  version  (3.00R)  is 
  804.         available.  There is also a special version (3.00V) for the Sanyo 
  805.         55x with the optional video board which utilizes the unused video 
  806.         RAM at address F0000 to increase the storage capacity.
  807.  
  808.                               If you have problems 
  809.  
  810.         First,   read   the  above  section  on  hardware  and   software 
  811.         requirements.   The most likely source of trouble is missing ANSI 
  812.         support, which really messes up the screen display.  This program 
  813.         is written in C.   C library routines are notorious for producing 
  814.         minimal  error  messages  (such  as  FREE,   ALLOC,  WRITE)  when 
  815.         something  goes wrong.   Such errors should not occur  in  normal 
  816.         operation,   but  the  program  may  not  always  survive  memory 
  817.         overflow.  Watch  for  the low core warning when adding disks  or 
  818.         comments to the database and do a disk save before continuing.
  819.  
  820.                              And now the commercial
  821.  
  822.         If you would like to encourage continued development of low  cost 
  823.         software  such as this,  you may register by sending $25 (or  any 
  824.         amount you consider appropriate) to
  825.  
  826.              Robert. W. Babcock
  827.              WSS division of DDC
  828.              4 Reeves Road
  829.              Bedford, MA  01730
  830.              USA
  831.              617-275-1183
  832.  
  833.         Registered users will be notified immediately if any bugs capable 
  834.         of destroying a database are discovered.
  835.  
  836.         I  don't mind receiving phone calls,  but you will probably  only 
  837.         get to leave a 30 second message before my answering machine cuts 
  838.         you off, and I do respond to correspondence.  Long distance phone 
  839.         calls  will  generally be returned collect,  and always from  the 
  840.         above number, so you might want to refuse to accept and then call 
  841.         me again.
  842.  
  843.         If  you  have  many  guilty consciences  to  assuage,  you  might 
  844.         consider  a site license for $100 which covers unlimited  use  of 
  845.         WSSINDEX throughout your organization.
  846.  
  847.         Source  code  is  available for $400 (less  registration  fee  if 
  848.         paid).   If  anyone is interested,  contact the  DDC  Retaliation 
  849.         Dept.  at the above address for conditions of sale.   In addition 
  850.         to  WSSINDEX,  DDC  also  distributes a  simple  shareware  BASIC 
  851.  
  852.  
  853.  
  854.  
  855.  
  856.  
  857.  
  858.  
  859.  
  860.  
  861.  
  862.         program called MCWSSA which aids in producing multi-column output 
  863.         on   a  dot  matrix  printer  using  WordStar  ($5   contribution 
  864.         requested,  also  available in Sanyo 555 BASIC).   Public  domain 
  865.         offerings  include  SPELLIST which lists a  SpellStar  dictionary 
  866.         (BASIC  and  C versions available),  and  PC-KLUTZO,  an  Othello 
  867.         program able to crush most human opponents.
  868.  
  869.         Upgrade policies:
  870.  
  871.              1. No  additional  fee is requested for version upgrades  or 
  872.                 bug  fixes  which  you obtain from a  bulletin  board  or 
  873.                 another user.
  874.  
  875.              2. Non-registered  users may register and receive the latest 
  876.                 revision by sending $25 and a formatted SSDD or DSDD disk 
  877.                 in a reusable mailer to the above address.   Note that  I 
  878.                 am only able to write IBM-PC format disks.
  879.  
  880.              3. Previously  registered  users may receive an upgrade  the 
  881.                 same way, but for a $5 fee.  (Please add $1 if your check 
  882.                 is not drawn on a US bank,  and $2 for postage outside of 
  883.                 North America).  No charge if you are the first to report 
  884.                 a  significant  bug,  or for your first upgrade  after  a 
  885.                 registration which was not accompanied by a disk request.
  886.  
  887.         Please include the version number when reporting  bugs.   Reports 
  888.         of  incompatibility with particular brands of machine will always 
  889.         be accepted even from unregistered users (I can hardly ask you to 
  890.         pay money if the program doesn't work on your machine).   I  will 
  891.         try to produce special versions for any reasonably common machine 
  892.         which  cannot run the standard version,  but only if someone with 
  893.         said machine volunteers to do the testing.
  894.  
  895.         In any case, you are encouraged to pass copies of this code on to 
  896.         other users, provided that this notice remains in the code.  This 
  897.         program  is  supplied  without  any  warranty,  whether  you  are 
  898.         registered or not.  This program may not be distributed for other 
  899.         than a nominal media and handling fee.   Bulletin board operators 
  900.         are authorized to make this program available for down loading.
  901.  
  902.         I  have  heard  that  WSSINDEX has been listed  by  some  of  the 
  903.         companies which sell or rent public domain program libraries, and 
  904.         has been included in public domain software packages bundled with 
  905.         low cost PC's.  Just remember that if you buy shareware this way, 
  906.         the author does not get any royalties, and you may not hear about 
  907.         bug corrections or program enhancements unless you register.
  908.  
  909.                    Bugs and enhancements in previous versions
  910.  
  911.         Enhancements  are  listed under the first version in  which  they 
  912.         appear, bugs (hopefully) under the last.
  913.  
  914.  
  915.  
  916.  
  917.  
  918.  
  919.  
  920.  
  921.  
  922.  
  923.  
  924.  
  925.  
  926.  
  927.  
  928.         Versions 1.01 through 1.03
  929.  
  930.           1. Various  minor  bugs and a fatal error  (destroys  database) 
  931.              when removing or replacing disks.   These versions were  not 
  932.              widely circulated,  but if you have one of them,  you should 
  933.              upgrade.
  934.  
  935.         Version 1.04
  936.  
  937.           None reported.
  938.  
  939.         Version 1.05
  940.  
  941.           1. Added I option and warning on exit if file not saved
  942.  
  943.           2. First  attempt at a Rainbow version (1.05R).   Add  comments 
  944.              section  didn't  work  (different  function  keys  and  ANSI 
  945.              support).   Couldn't read back a saved database because read 
  946.              routine didn't expect a 5 character version number.
  947.  
  948.         Version 1.06
  949.  
  950.           1. Changed  disk  save  code to create .BAK  files  instead  of 
  951.              overwriting old file.
  952.  
  953.           2. Rainbow version needs special handling for delete key.  Some 
  954.              copies of version 1.06R claim to be 1.05R.
  955.  
  956.           3. Line  counting and pause at end of page logic fail if  there 
  957.              are comments.
  958.  
  959.           4. Core used for comments was not freed when zapping an in-core 
  960.              database before Getting a database from disk.
  961.  
  962.         Version 2.00
  963.  
  964.           1. Major  revision.   Add-comments  section completely  redone, 
  965.              added   category  field  and  view   file   option.    Added 
  966.              configuration  file,  file selection options when  printing, 
  967.              expanded sort options,  interception of control-c,  and made 
  968.              number of files limit configurable (had been fixed at 3000).
  969.  
  970.           2. Disk file format change; upward compatibility retained.
  971.  
  972.           3. First edition of this .DOC file.
  973.  
  974.           4. Cursor  positioning was not always correct when advancing to 
  975.              the next file in the add-comments menu, and if not corrected 
  976.              (say by hitting CR twice), added comment could be lost.
  977.  
  978.           5. Print-to-disk operations did not check for disk-full errors.
  979.  
  980.           6. A  disk  removal or replacement operation following  a  sort 
  981.              messed  up  the  sort  pointers  (resorting  corrected   the 
  982.              problem,  and  the  database could be saved to disk  without 
  983.  
  984.  
  985.  
  986.  
  987.  
  988.  
  989.  
  990.  
  991.  
  992.  
  993.  
  994.              problems).
  995.  
  996.         Version 2.01 (and 2.01R and 2.01V)
  997.  
  998.           1. Copy   comment/category  functions  changed  to  copy   from 
  999.              existing  comment/category rather than copy buffer to  allow 
  1000.              easier updating of a previously commented file.
  1001.  
  1002.           2. First upgraded Rainbow release (there never was a 2.00R).
  1003.  
  1004.           3. Category  information  could be lower case,  but  the  match 
  1005.              string for selections is forced to upper case and thus could 
  1006.              never match.
  1007.  
  1008.           4. If  configured to not create .BAK files,  the program  would 
  1009.              not  allow you to overwrite an old file with the same  name, 
  1010.              after asking if it was OK to do so (introduced in 2.00).
  1011.  
  1012.           5. The seconds field of the file date has always been wrong.
  1013.  
  1014.         Version 2.10 (and 2.10V, 2.10R was never distributed)
  1015.  
  1016.           1. Added predefined categories and "B" option.   An error  will 
  1017.              be reported when reading old configuration files because the 
  1018.              predefined categories are absent,  but all other information 
  1019.              is  retrieved  correctly.   Made  all  string  matches  case 
  1020.              insensitive.
  1021.  
  1022.           2. "B" option didn't always work, reported some backed up files 
  1023.              as not backed up.
  1024.  
  1025.         Version 2.11 (and 2.11R and 2.11V)
  1026.  
  1027.           1. Fixed "B" option.
  1028.  
  1029.           2. View  file option crashes with a FREE error when reading  an 
  1030.              unlabeled disk.
  1031.  
  1032.         Version 2.2
  1033.  
  1034.           1. Changed  format of configuration file,  some options will be 
  1035.              assigned garbage values if you restore an old  configuration 
  1036.              file.    Added  option  to  suppress  selected  fields  when 
  1037.              printing.   Added  default  options for most input  prompts.  
  1038.              Fixed  core  left function for greater than  64K  remaining.  
  1039.              Deleted display of configuration info on initial entry if  a 
  1040.              configuration  file  is  found.    Made  default  limits  on 
  1041.              database size dependent on free core available.
  1042.  
  1043.           2. Get  database option doesn't warn you if there is a  changed 
  1044.              database already in core.
  1045.  
  1046.           3. Errors  in  reading  configuration  files  were  not  always 
  1047.              detected.
  1048.  
  1049.  
  1050.  
  1051.  
  1052.  
  1053.  
  1054.  
  1055.  
  1056.  
  1057.  
  1058.  
  1059.  
  1060.           4. Printer line width logic sometimes failed and gave an  extra 
  1061.              line if you printed comments but not categories.
  1062.  
  1063.         Version 3.0
  1064.  
  1065.           1. Added   support   for  .ARC  files,   WSSICNF  and   WSSIDIR 
  1066.              environment  variables,   default  file  names  changed   by 
  1067.              appropriate  input/output to file,  word-tabbing and  insert 
  1068.              mode indicator in add-comments menu,  enhanced selecting for 
  1069.              comment and category.   Shortened the .EXE file by  removing 
  1070.              unused floating point routines.
  1071.  
  1072.                           Possible Future Enhancements
  1073.  
  1074.         1. A utility routine to convert an ASCII input file to a WSSINDEX 
  1075.            database.  This might merely be a BASIC or C program which has 
  1076.            the necessary code to write a properly formatted database, and 
  1077.            hooks for the user to add code to read a particular format.  
  1078.  
  1079.            * * * * * * * * * * * Limited Time Offer * * * * * * * * * * *
  1080.                                                                        
  1081.            If you have a disk catalog maintained by another program which 
  1082.            you would like to convert to a WSSINDEX database, you can send 
  1083.            me any documentation you have about the disk storage format, a 
  1084.            sample database including a printout and any ascii disk output 
  1085.            the  program can produce,  and a copy of the indexing  program 
  1086.            (if   that   is  possible  without   violating   any   license 
  1087.            agreements),  and  I  will  attempt to  produce  a  conversion 
  1088.            utility.   No  guarantees that I will be successful or  quick, 
  1089.            but  if I do produce a custom conversion utility,  you  should 
  1090.            feel more than the usual moral pressure to become a registered 
  1091.            user.   My hope is that there are only a few popular competing 
  1092.            programs  out  there,  and that I will be able to build  up  a 
  1093.            small  library  of conversion utilities which will  meet  most 
  1094.            needs.   This offer is somewhat of an experiment,  and whether 
  1095.            or  not  it  continues  depends  on how  well  it  works  out.                
  1096.                                                                        
  1097.            * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
  1098.  
  1099.         2. I  have  occasionally  been asked why I don't  support  color.  
  1100.            There  are two reasons:  (1) I don't have a color monitor  for 
  1101.            testing,   and   (2)  playing  with  colors   could   increase 
  1102.            compatibility   problems   without  significantly   increasing 
  1103.            program  utility.   But enough users have asked for it that  I 
  1104.            will probably add color support in a future version.
  1105.  
  1106.         Registered  users are encouraged to suggest  other  enhancements, 
  1107.         and past contributors are thanked for their ideas.
  1108.  
  1109.  
  1110.  
  1111.  
  1112.  
  1113.  
  1114.  
  1115.  
  1116.  
  1117.  
  1118.  
  1119.  
  1120.  
  1121.  
  1122.  
  1123.