General Introduction

   AnyWord, formerly called "Total Recall", is a
general text indexing and retrieval program.  It
consists of two parts:	Indexer and Finder.  When
Indexer is run against a set of text files, it
produces an index much like the index of a book.
These index files can then be read by Finder to
quickly locate any word or combination of words in
the text.

   Again, like a book index, your text is untouched.
All of the indexing information is carried
separately and your text files are not modified or
re-arranged in any way.  This means that you can
"play around" with AnyWord as much as you want
to without the worry of making an inadvertent change
to your text files.

   AnyWord assumes nothing about the placement
of your text files or the organization, if any, of
your text.  Your text data can be in any format or
no format at all; your files can be any size, on any
disk, with any names.  Of course, there are
practical limits.  This version of AnyWord will
probably max out at somewhat over 1 MB (1 million
bytes) of text spread across 254 files.

   You supply information about your files through
the profile file, used by both Indexer and Finder.

   Some AnyWord features:
- searching by any word or combination of words
- display of selected text
- extraction of selected text into new files
- searching with simple Boolean logic,
  i.e., AND - OR - NOT
- searching with "wild cards", e.g., comput?  for
  references to computers,computing, etc.
- exit to DOS and return without disturbing selected
  text or search results
- review of previous search results within a session
- view of all of the words that have been indexed
- automatic file location via the DOS PATH operation

   What AnyWord cannot do:
- make sense out of special formatting codes within
  word processing files.  AnyWord works best
  with ordinary ASCII files.  It will also work well
  with Wordstar files in document mode.  It will
  work less well, though it will still operate, with
  files that contain binary data, such as Microsoft
  Word files.  Most word processing programs have an
  option to save a document as an ordinary ASCII
  text file -- you'll probably want to take
  advantage of this.
- any kind of numeric calculation or comparison.  To
  AnyWord everything is text -- just text.


   AnyWord is useful for:
- Locating simple information.	If you had our Movie
  Database, for instance, you could instantly locate
  all of Debra Winger's movies or director John
  Carpenter's movies.
- Locating combinations of text.  Using the Movie
  Database as an example again, you could look for
  all of the movies Clint Eastwood made with
  Sondra Locke during the 1970s.
- Extracting chunks of text into new files.  Have
  a lot of research notes that you want to
  organize?  You can build new files out of segments
  of the old ones -- and without changing any
  existing text.
- Rapidly browsing through a collection of files.
  From any point within any file, you can page
  backwards, forwards, across files, to the
  beginning, to the end, etc.
- and more.

   AnyWord was formerly sold as a commercial
product (for $49.50) under the name "Total Recall".
You may still see occasional references to that
name -- but AnyWord and the old Total Recall are
the same.  (We sold our trademark and now sell
a different product called Total Recall.)

   Now read on to find out how to get started.
How to Use This Manual

   If you're in a hurry to get started, read the
Installation section and the two "Getting Started"
sections.  These should provide enough information
for you to index some text files and do rapid
lookups on the words in those files.

   However, if you believe that:  "If you don't have
time to do it right, when will you have time to do
it over?", then skim through the manual completely.
If you do this, you'll understand how the system
works, what you can expect from it, and what it
expects from you.  Then, try the system out, using
the manual for reference.

   AnyWord is a fairly complex, powerful
system.  It probably has far more features than
you'll ever use, but if you acquaint yourself with
what those features are, you'll be less likely to
spend much time scratching your head trying to
figure out how to get the system to do what you want
it to do.
Installation

   First, look on the program disk.  If there is a
file called README.1ST, then do so.  (E.g., enter:
type readme.1st)

For Hard Disk Users:
1.  Copy all of the files over to your hard disk.
    Recommended:  create one subdirectory for
    everything on the AnyWord disk.
    For instance:
       C> mkdir \anyword
       insert the AnyWord disk into the A: drive
       C> copy a:*.* \anyword

    Alternatively, you can copy FINDER.EXE and
    INDEXER.EXE to a subdirectory in your DOS
    execution PATH.

For floppy-disk users:
1.  Make back-up copies of the distribution disks
    and store the originals in a safe place.
2.  If you have a two-disk system, verify that you
    have an AUTOEXEC.BAT file on the diskette that
    you normally boot up with.	Check that it
    contains:
       PATH=A:\;B:\
    (The backslashes are required for AnyWord.)
    AnyWord (optionally) uses the DOS PATH to
    find files, so specifying both A & B will allow
    you to put your files in either drive.

For all users:
1.  Verify that you have a CONFIG.SYS file in your
    root subdirectory or on the diskette that you
    boot up with.  If you do not have a CONFIG.SYS
    file, then you must create one.  The
    instructions to do so are in your DOS manual,
    but all that is actually required is that you
    create a file with this name and put in the
    ASCII text lines:
      files=20
      buffers=24

2.  If you already have a CONFIG.SYS file, then
    verify that you have specified files=20 (or some
    higher number.) If not, then add it.
    Recommended for better performance of DOS in
    general:
       buffers=24   (or some other number between 20
		     and 30)
Getting Started with Finder

   If you have not already done so, copy the files
on your distribution diskette(s) onto your hard disk
or onto backup floppy disks.

   Finder requires a "profile" file for all file
collections, indexed or not.  This profile file
contains information that Finder needs to run.	For
The Movie Database, the file is PROFILE.MOV.
A sample profile, PROFILE.SMP is also included to
help you create your own profiles.  (The simplest
way to proceed on this is to make changes
to a copy of one of our profiles.)  A profile
file must be specified each time you run
Finder, so the command from DOS to run Finder can
be:
  FINDER PROFILE.MOV
or, more generically:
  FINDER profilename.ext

   Before starting Finder, verify that the contents
of F-FILES.MOV (or F-FILES.ext) specifies the
correct drive and/or path name for each of your text
files.	THe F-FILES file is normally created by
Indexer and no further changes are necessary.
However, if you have moved your files since Indexer
was run, then you may have to correct their
directory or drive designation in F-FILES.  (If your
text files are in a subdirectory that has been
specified with the DOS PATH command, then a drive or
path name may not be required.)

   Once in Finder, you will find that many of the
commands are self-explanatory.	There is also a Help
file that you can access.  Keep in mind that you can
try almost anything without worrying about making
inadvertent changes to your text files, because
Finder reads but does not write to your text files.
The only exception to this try-anything rule is
swapping diskettes in the midst of a Finder session.
This is only permissible in certain circumstances.
More on that in the "Files" section.

   The key to getting the most out of Finder is in
controlling the Finder environment with either the
profile or the [M]ode command.	For more on that,
see the section "Controlling the Environment".

   Just to get you started, try this:
([ENTER] means press the Enter/Return key)
  finder profile.mov [ENTER]
   s
   John Wayne [ENTER]
   d [ENTER]
AnyWord will find all references to "John Wayne"
Each time you press:  d [ENTER]   you'll
see the next reference, until there are no more.
Use the Home, End, PgUp and PgDn keys to browse
around in the file.  (The files you're looking at
are LF, LN, and LZ.)

   There are options on the search and display
commands, as well as other commands, but you'll
probably be able to retrieve much of what you
want by just knowing a few simple operations.

   Let's try another search, with more explanation.

   S
       - to begin another search.  Finder will ask
	 you what you want to search for.

   1962[ENTER]
       - to search for all references to
	 "1962" in the database.
	 Finder will report 6 references.

   D
       - to display the results of your search.  Finder
	 will ask you which reference you want to look at.

   2/1[ENTER]
       - to look at the first reference in your
	 search, which was the second search you did.
	 Finder will display the first movie it
	 found.

   D
       - to do another display.  Finder will ask you
			which one.

   2/2[ENTER]
       - to look at the next movie.

   D
       - to do another display.

   [ENTER]
       - will automatically display the next
	 reference, in this case, set 2, element 3.

   S
       - to do another search.

   Diane Keaton[ENTER]
       -  to find Diane's movies.

   D
       - to look at the results.

   3/1-3  ;l=a1[ENTER]
       - will show you the titles of Diane's
	 movies.  (What this command means is:
	 display search set #3,elements 1 through
	 3, but just the first line of each.)

   If you're not used to this set/element concept,
it may seem strange.  But after you've played around
with the commands for a while, it'll become
familiar.  Remember, you can't hurt anything by
putting in the "wrong" command.

   If you have problems with a particular command,
pressing the [Esc] key will generally bring you back
to the command menu.
Getting Started with Indexer

   Indexer is an independent program that analyzes a
collection of text files.  The location(s) of each
valid word in each file are assembled into a set of
index files, for later use by the Finder lookup
program.  (These files are described in detail in
the Files Appendix.)

   Indexer is controlled by means of the "profile"
file, samples of which are included on your
distribution diskette, as PROFILE.MOV, PROFILE.HLP,
and PROFILE.SMP.  (Your profile file can have any name.)

   Indexer is called from the DOS command line as:
    INDEXER profilename.  E.g. indexer profile.mov

   All of the options used by Indexer are
provided in the profile file.  These options are
described in the Indexer Profile section and in
the supplied profile themselves, as comments.

   You can run Indexer against your own text files
with the sample profile, PROFILE.SMP.  A better way
to go, though, is to spend some time studying the
options so that you can create a profile that will
maximize the usefulness of AnyWord.  Indexer
can take all night to run (on a 1M byte database),
so give it some thought before starting it up.

   While Indexer is running it will show you some
statistics.  These are not necessary, but are
presented for those of us who like to see what is
going on during long programs.	Basically, Indexer
will make 1-2 passes of each of your text files for
each of the characters that you've specified in the
profile.  (That's why it can take all night.) In its
basic form, the numbers on the left of the screen
show you memory usage while the numbers on the right
half show you how much disk space is being used for
the index files.  (The keyword file contains an
entry for each unique word in your database; the
location file contains an entry for each occurrence
of each word.)

   Here are the steps you will have to take to start
indexing files, once you've installed the software,
modified CONFIG.SYS, if necessary, etc.  This is the
minimum necessary:  (As you get more familiar with
the system, you'll be making additional changes)

     1 - Starting with a copy of PROFILE.SMP
	 and using any text editor that can operate
	 with ASCII files and no tab characters,
	 change the FILES parameter in the profile
	 to specify the files you want indexed.  (It
	 currently refers to some sample files
	 included on the diskette.  If you wanted to
	 index all of the files in a particular
	 directory, you would use:
	      FILES=\dirname\*.*
	 If you wanted to index files called "abc"
	 and "xyz", then:
	      FILES=abc
	      FILES=xyz
	 If you have a floppy-based system and wish
	 to specify a drive designation, then:
	      FILES=B:\abc.ext
	      FILES=B:\*.cor

	 If you wanted all of the files on a
	 particular diskette, then:
	      FILES=b:\*.*
	 (IMPORTANT: The backslash "\" MUST be
	 specified after a drive letter.)
	 If you have Wordstar files in "document"
	 mode, use:
	      WSFILES=filename

     2 - Recommended for floppy disk systems:
	 Set your DOS path to A & B.  That is,
	 enter:  path A:\;B:\
	 (Again, don't leave out the backslash.)

     3 - Run Indexer, specifying the sample Profile
	 file:	indexer profile.smp

     4 - Go out for lunch.  (The program will
	 take about 40 minutes to index 100K, about
	 8 hours to index 1M.) You'll know the
	 program is running because status
	 information on the screen will continually
	 be updated.

     5 - When you get back from lunch, you will
	 find a set of files in your current
	 directory -- unless you assigned them
	 elsewhere with the PLOC/PKEY/PFENCE/PDLM
	 parameters.  (See below.)

	 These files will have, in size, about a 1:1
	 correspondence with your original text
	 files.  If this takes up more space than
	 you have available on a disk, then you will
	 have to juggle files.	For instance, you
	 can remove the program disk after the
	 program has been loaded or you can use a
	 RAM (virtual) disk or ....

	 The biggest file is the location file, the
	 keyword file may be 1/3 of that, the fence
	 file, if the fencing (Record Option) was
	 selected, is 1/4 of the location file size.

	 The following Profile parameters can be
	 specified to assign the output files to
	 appropriate drives or subdirectories.
	 For instance:
	   PLOC=C:\	prefix for location file
	   PKEY=C:\	prefix for keyword file
	   PFENCE=C:\	prefix for fence file
	   PTEMP=D:\	prefix for temporary work files
	   PDLM=C:\	prefix for delimiter file
	 Don't forget the backslash.
System Flow

   AnyWord can be used in either of two ways:
in the normal text lookup mode or in a special
browse-only mode.  (You would use the browse-only
mode when the text files have not been indexed.)

   Two examples are shown.  Both use sample files
supplied on the program disk.

   This first example shows typical processing for
doing lookups.	The second is a scenario for
browse-only processing.

Look-Up Processing

Input to Indexer:
1. Text Files
     lf
     lz
     ln
2. Stop list of words not to index
     exclude.mov
3. Profile File
     profile.mov
      - containing:
	 SUFFIX=.mov
	 FILES=??.
	 INDEX=YES
	 ...
_______________________________

C>  Indexer profile.mov
_______________________________

Output from Indexer, input to Finder:
    f-files.mov
    f-ik.mov
    f-ix.mov
    f-tab.mov
    f-fence1.mov (optional)
    f-dlmloc.mov (optional)

Also output from Indexer but not used by Finder:
    f-stats.mov
And, the Help file:
     f-help
_______________________________

C>  finder profile.mov
_______________________________

Output from Finder:
  - Any extract files that you specifically create

Browse-Only Processing

   The alternate method of using AnyWord is to
skip the indexing phase and just browse the files.
(A simple character-by-character search is also
available in this mode.)


Input to Finder:

1. Text Files
     lf
     lz
     ln

2. Help file
     f-help

3. Profile File
     profile.mov
      - containing:
	  SUFFIX=.mov
	  INDEX=NO
	  ...

4. List of files to browse
     f-files.mov

_______________________________

C>  finder profile.mov
_______________________________

Output from Finder:
  - Any extract files that you specifically create.
Record Option (Fencing)

   Normally, AnyWord uses byte (character)
offsets within a file to keep track of where a word
appears.  Optionally, the system will also track
what "record" a word is in.

   A record, as far as AnyWord is concerned, is
anything between two markers (delimiters).  These
markers can be any character or sequence of
characters.  The Movie Database, for instance, uses
two dots (..) to separate movie records.  These two
dots appear after every movie entry so as to
separate the information for one movie from
that for another movie.
      Plan 9 from Outer Space
      skdjk
      erioe
      ..
      Porky's
      sdkfj
      ekrer
      ..

   Actually, because every line in the Movie
Database ends with a carriage-return/line-feed
(CR/LF) combination, the actual sequence of
characters between two movies is:
      [CR][LF][.][.][CR][LF]
If you specify this sequence in the profile, then
Indexer and Finder will always know where one record
starts and the next begins.  This also means that
the system will know where the first line of a
record is, where the second is, etc.  This is used
effectively in the Movie Database to find movie
titles, because the title is always on the first
line.

   The only requirements for a marker are that the
character sequence be unique.  If the Movie
Database had used two dots on a line by themselves
for anything else, then the system would have
gotten confused.

   A blank line can be used.  The actual sequence
to specify, then, would be:
   [CR][LF][CR][LF]
You could use something like that on a file like
this, where the paragraphs are separated by blank
lines.	Each paragraph would then be a record.

   If your text files have two blank lines to
separate sections, for instance, then this would be
specified as:
   [CR][LF][CR][LF][CR][LF]
because every line, even null (blank) lines have a
non-printable CR/LF on the end.

   Another possibility is the page separator
used by some word processing software.	This
might be the sequence
    .pa  or
    .bp  or perhaps
    the formfeed character CTL-L.

   The marker you want to use is specified in the
profile file.  See the Indexer Profile section for
details.
The Profile

   As with Finder, the profile file controls the
way Indexer operates.  Three sample profile files are
included with AnyWord:
      profile.mov  - for use with the Movie Database
      profile.hlp   - for use with the Help file
      profile.smp  - as a prototype for your own use

   Profile files can have any name.  By convention,
the ones supplied with AnyWord have the name
"profile" with an extension designating the
collection of files they pertain to.  You can, of
course, establish your own convention, such as
calling the movie profile:  movies.pro.  Picking a
convention and sticking to it will make life easier.

   The same profile file is used by both Indexer and
Finder.  That is, you set the profile file up before
indexing your textbase and you specify the same file
when you invoke Finder.

   The profile contains information that is used by
Indexer only, other information used by Finder only,
and still other information that is shared by both
Indexer and Finder.  You can change any of the
Finder-only information before doing a Finder run,
but you should not change any of the shared
information between running Indexer and running
Finder.  That is, change the shared information
only before running Indexer.

   The information in the profile is in the form of
keyword parameters.  Indexer and Finder read this
file when they start up and pull out the information
they need.

   The parameters are specified according to the
following rules:
1. Each parameter occupies a line by itself and
   MAY NOT spill over onto another line.
2. Any line that starts with an * is a comment and
   is not processed by Indexer.
3. Any text preceded by a space will be treated
   as a comment.
4. Parameters may be supplied in any order.
5. Parameters must begin in column 1.

   The format is:  PARAMETER=value


FILES
	 The FILES parameter is used to specify
	 which text files are to be indexed.  Any
	 valid DOS name is acceptable, including
	 wild card characters.	For instance:
	     FILES=\movies\??.
	 would index all files in subdirectory
	 "movies" that had a two-letter file name.

	 There can be as many FILES statements as
	 necessary, though no more than
	 254 individual files can be indexed in
	 any one textbase.
	 For instance:
	      FILES=\autoexec.bat
	      FILES=*.c
	      FILES=a*.doc
	 Also legal:
	      WSFILES=xyz
	 for files that have high-order bits
	 turned on, e.g. Wordstar files in document
	 mode.

	 Note:	If pathchecking is specified (see
	 below) and the files parameter looked like:
	      FILES=*.c
	 then Indexer would expect to find all of
	 the "*.c" data files in the same
	 sub-directory.


PATHCHECK
	 If PATHCHECK=Y, the DOS PATH will be used
	 to find files.  That is, if a file is not
	 found in the current or specified
	 directory, it will be searched for in each
	 of the directories specified in your system
	 path.	(See the DOS manual for more
	 information about PATH.)

XFILE
	 Text file containing words that are not
	 to be processed, e.g.,
	     XFILE=exclude.mov
	 This "stoplist" is an ordinary ASCII
	 list of words, one word per line.

SUFFIX
	 All of the files created by Indexer will
	 have a common file extension.	For
	 instance, if you specify
	     SUFFIX=.mov
	 then the location file will be called
	 f-ix.mov, the keyword file will be
	 called f-ik.mov, etc.

FENCE
	 If FENCE=1, then the Record Option will be
	 used.	If FENCE=0, then it will not.  If
	 the record option is used, then the
	 MARKER parameter must be specified.

MARKER
	 This specifies the marker or delimiter used
	 to separate (fence off) records when the
	 Record Option is used.  The number
	 specified here is a menu selection number.
	 That is,
	     MARKER=1	means:	a blank line between
				    records
	     MARKER=2	means:	two blank lines
				    between records
	     MARKER=3	means:	two dots on a line
				    by themselves
	     MARKER=4	means:	.pa on a line by
				    itself
	     MARKER=5	means:	.bp on a line by
				    itself
	     MARKER=9	means:	the CHAR parameter
				    is used to
				    specify the
				    characters
				    making up the
				    marker

CHARn
	 If MARKER=9 is specified, then CHAR is used
	 to specify the exact characters, in hex,
	 making up the marker.	CHAR0 is the length
	 of the marker, CHAR1, CHAR2, etc., is
	 each character of the marker.	For
	 instance,

	     MARKER=9	   use CHAR parameters
	     CHAR0=6	   3 characters:
	     CHAR1=0d	   CR
	     CHAR2=0a	   LF
	     CHAR3=0c	   a form feed (CTL-L)

	 This would make a record out of everything
	 from the beginning of a file up to a form
	 feed, the next record out of everything
	 from there to the next form feed, and so
	 on.

UPPER
	 If UPPER=Y, then the case of the text is
	 ignored.  That is, the text will be
	 internally converted to upper case
	 characters and indexed that way.  So, the
	 words COMPUTER and computer would be mixed
	 together and in Finder, a search would
	 turn up both.

PLOC
PKEY
PFENCE
PTEMP
PDLM
	 Several files are created by Indexer.
	 Normally, these files will be constructed
	 in the current disk and directory.
	 However, you can assign these files to
	 different disks or different
	 subdirectories.  For instance, if you had a
	 RAMDISK D:, you might want to specify
	     PTEMP=D:\
	 (The slash is important.) This would assign
	 the temporary work files to your RAMDISK.
	 Or perhaps you want to assign the location
	 file to subdirectory 'ABC'.  Then you would
	 specify:  PLOC=\ABC.  Whatever you specify
	 becomes a prefix for the file name.  So,
	 the full name of the location file in this
	 example would be:
	     \ABC\F-IX.LOC
	 The movable files are:
	     PLOC    - location file
	     PKEY   - keyword file
	     PFENCE - fence file
	     PTEMP  - temporary work files
	     PDLM   - delimiter file

ACTION
	 A particular action to be taken on each
	 character.  (Characters include letters,
	 numbers, punctuation, special codes, etc.)
	 The allowable specifications for a
	 character are:
	     I - ignore this character completely
	     K - process this character as a
		 unique value
	     S - process this character as a space
		 (blank)

	 For instance, assume the following:
	     2D=I      (hex for '-')
	     2F=S      (hex for '/')
	     30=K      (hex for '0')

	 (A complete set of hex characters and
	 typical K/S/I values are included in the
	 sample profiles.) So, the string:
	 000/000-0000 would be indexed as:  000 and
	 0000000 because the '/' is treated as a
	 space and would separate the string into
	 two words.  The '-' is ignored, i.e.,
	 treated as not there, so the 000-0000 is
	 run together.	Let's say, instead, that:
	 2F=K Now, Indexer will index 000/0000000 as
	 one string, because the '/' is treated as a
	 normal character.
Interrupting Indexer

   Indexing a collection of files can take quite a
while.	And, in this version, there is no way to
terminate Indexer and have it later pick up from
where it left off.  However, you can temporarily
pause it, do some minor operation, such as a DIR
command, and then let Indexer continue.

   By pressing [Esc] when Indexer is running, the
program will pause and ask you what to do.  You then
have three choices:
    I - do nothing (return to Indexer)
    D - temporarily jump out to DOS
    Q - quit


[I]
  Selecting the [I] option simply allows
Indexer to continue running.


[D]
   If you enter a [D], then DOS will get control.
However, Indexer will remain in your PC memory and
will be able to start back up when you type in the
word "exit" on the DOS command line.  This is
explained (somewhat) in your DOS manual, under the
COMMAND command. (In the DOS 3.2 manual, it's
p.7-53.)

   What is happening here is that a second copy of
the DOS command processor has been loaded.
Naturally, with this second copy, plus Indexer, in
your system, the amount of memory you'll have
available will be reduced.  (By roughly 150K, in
this version.)	But this should still give you
enough to use for many programs and all DOS

commands.  The big benefit here is that when you
type in [exit], the secondary copy of DOS will go
away and you'll be returned back to the point in
Indexer where you left off.

NOTE:  You may interrupt Indexer as frequently as
you desire.  Indexer remains in a suspended
state until allowed to continue.


[Q]
  Pressing [Q] will permanently terminate this
Indexer run.  All results will be discarded.
FInder Command List

   All commands are entered by typing in the
first letter of the command whenever the menu
is on the screen.

Help
    - Displays portions of this manual

Search
    - Find an indexed word (or words)
      among the text files

Display
    - View the results of a search

Call
    - Call a DOS command or other program

Interrupt
    - Temporarily exit to DOS.
      (Return is by typing EXIT)

Review
    - Display past search results
      (for this Finder session)

View
    - Display all indexed words

Kill
    - Free up memory for additional searches

Where
    - Display the locations where the
      search terms were found

Find
    - Alternate search method: simple
      string matching

Mode
    - Change the Finder environment;
      i.e. change how Finder works

Quit
    - Terminate Finder



   The following keys also have special meaning:

PgDn
    - Display the next text segment (the one after
      the one that was most recently displayed)

PgUp
    - Display the previous text segment (the one
      that immediately precedes the most recently
      displayed text page)

Home
    - Display the first text segment in the database

End
    - Display the last text segment in the database

Ctrl/Home
    - Display the first text segment in
      the current file

Ctrl/End
    - Display the last text segment in
      the current file

Ctrl/PgUp
    - Display the first segment of the
      previous text file

Ctrl/PgDn
    - Display the first segment of the
      next text file

Note:  The size of the segment to be displayed
can be set via the profile file or the mode command.
Remember that the number of bytes specified is HALF
of what will be seen on the screen.
Record Option (Fencing)

   Normally, AnyWord uses byte (character)
offsets within a file to keep track of where a word
appears.  Optionally, the system will also track
what "record" a word is in.

   A record, as far as AnyWord is concerned, is
anything between two markers (delimiters).  These
markers can be any character or sequence of
characters.  The Movie Database, for instance, uses
two dots (..) to separate movie records.  These two
dots appear after every movie entry so as to
separate the information for one movie from
that for another movie.
      Plan 9 from Outer Space
      skdjk
      erioe
      ..
      Porky's
      sdkfj
      ekrer
      ..

   Actually, because every line in the Movie
Database ends with a carriage-return/line-feed
(CR/LF) combination, the actual sequence of
characters between two movies is:
      [CR][LF][.][.][CR][LF]
If you specify this sequence in the profile, then
Indexer and Finder will always know where one record
starts and the next begins.  This also means that
the system will know where the first line of a
record is, where the second is, etc.  This is used
effectively in the Movie Database to find movie
titles, because the title is always on the first
line.

   The only requirements for a marker are that the
character sequence be unique.  If the Movie
Database had used two dots on a line by themselves
for anything else, then the system would have
gotten confused.

   A blank line can be used.  The actual sequence
to specify, then, would be:
   [CR][LF][CR][LF]
You could use something like that on a file like
this manual, where the paragraphs are separated by
blank lines.  Each paragraph would then be a record.

   If your text files have two blank lines to
separate sections, for instance, then this would be
specified as:
   [CR][LF][CR][LF][CR][LF]
because every line, even null (blank) lines have a
non-printable CR/LF on the end.

   Another possibility is the page separator
used by some word processing packages.	This
might be, for instance, the sequence:
    .pa    or
    .bp    or perhaps
    the formfeed character CTL-L.
The Finder Profile

   As with Indexer, the profile file controls the
way Finder operates.  Three of these profile files
are included with AnyWord:
      profile.mov  - for use with the Movie Database
      profile.hlp   - for use with the Help file
      profile.smp  - as a prototype for your own use

   Profile files can have any name.  By convention,
the ones supplied with AnyWord have the name
"profile" with an extension designating the
collection of files they pertain to.  You can, of
course, establish your own convention, such as
calling the movie profile:  movies.pro.  Picking a
convention and sticking to it will make life easier.

   The same profile file is used by both Indexer and
Finder.  That is, you set the profile file up before
indexing your textbase and you specify the same file
when you invoke Finder.

   The profile contains information that is used by
Indexer only, other information used by Finder only,
and still other information that is shared by both
Indexer and Finder.  You can change any of the
Finder-only information before doing a Finder run,
but you should not change any of the shared
information between running Indexer and running
Finder.  That is, change the shared information
only before running Indexer.

   The information in the profile is in the form of
keyword parameters.  Indexer and Finder read this
file when they start up and pull out the information
they need.

   The parameters are specified according to the
following rules:
1. Each parameter occupies a line by itself and
   MAY NOT spill over onto another line.
2. Any line that starts with an * is a comment and
   is not processed by Indexer.
3. Any text preceded by a space will be treated
   as a comment.
4. Parameters may be supplied in any order.
5. Parameters must begin in column 1.

   The format is:  PARAMETER=value

   Many of the Finder parameters can be changed
while running Finder, by using the [M]ode command.
Those parameters will only be briefly mentioned here
with more detail in the Changing the Environment
section.

DRANGE
   - Display range: amount of text to show.
     Ex.:  DRANGE=8L

LIMIT
   - Number of characters between search terms.
     Ex.:  LIMIT=20

OR
   - Character to be used for OR searches.
     Ex.:  OR=|

AND
   - Character to be used for AND searches.
     Ex.:  AND=&

NOT
   - Character to be used for NOT searches.
     Ex.:  NOT=!

OPTIONS
   - Character on a command line that
     denotes optional information follows.
      Ex.: OPTIONS=;

RESULT
   - Character that indicates the following
     number is the number of a search set.
      Ex.:  RESULT=-

WILD
   - The character that will match any text
     character(s).
     Ex.:  WILD=?

WORDS
   - If Y, indicates that the words AND, OR, NOT
     will be reserved for internal use and will
     not be searchable.
     Ex.:  WORDS=Y

EXTRFILE
   - File into which extracted text will be
     placed.
     Ex.:  EXTRFILE=subfile.mov

EXTRTYPE
   - Indicates on what basis text extraction will
     be done.
     Ex.:  EXTRTYPE=N

INDEX
   - If YES, then Indexer has been (or will
     be) run on the files specified in the FILES
     parameter.  This will create the index
     files that Finder uses for looking up words.

     If NO, then Finder is to be used on
     files that have not been indexed.	The
     FILES parameter, which is used only by
     Indexer, will of course be ignored.
     Instead, a list of files (with no wild
     cards) must be put into a file called
     F-FILES.ext (where ext is specified by
     SUFFIX=).	Note: Without indexing,
     Search, Display and some other
     commands will not work.  However, you
     can still browse the files and use other
     commands such as [F]ind.

Function Keys F1 through F10
   - Assign a character string or special
     operation to a function key.
     Ex.:  F3=/1-10 ;l=a1

PATHCHECK
   - If Y, the DOS PATH will be used to find files.
     Ex.:  PATHCHECK=Y

SUFFIX
   - Filename extension used in this textbase
     for files created by Indexer.
     Ex.:  SUFFIX=.mov

FENCE
   - If FENCE=1, then the record option will be
     used, if FENCE=0, then it will not.  If the
     record option is used, then the MARKER
     parameter must be specified.

MARKER
   - If the Record (fencing) Option is used,
     this specifies what characters are used to
     separate (delimit) records, i.e., fence off
     each segment of text from other segments.
     See the Indexer Profile section for more
     information.

CHAR
   - The specification of the delimiter for the
     Record Option.  See the Indexer Profile
     section for more information.

UPPER
   - If all searches are to ignore the case
     of the text, then specify UPPER=Y, otherwise if
     lowercase characters are to be treated
     differently than uppercase characters, specify
     UPPER=N.

XFILE
   - The name of the file containing the list of
     words that have not been indexed.
     Example:  XFILE=exclude.hlp
Changing the Environment

   You can easily control many of the things that
AnyWord does.  The primary way to do this is
through the profile file, discussed elsewhere.
Another way, which you can do after the program has
begun running, is via the MODE command.  The MODE
command allows run-time access to things that would
normally be specified in the profile.  This lets you
change things on the fly as well as allowing you to
make temporary changes to the way AnyWord runs
without affecting future runs.

   The parameters that can be changed with the
[M]ode command are:

Display range
	 The number of characters of text to display
	 on each side of a search term when showing
	 the results of a search.  If followed by an
	 L, then it is the number of lines.  Zero
	 (0) means display an entire delimited
	 (fenced) record instead of a character
	 count.
	 Examples:  100  - 100 characters
		     8L  - 8 lines

Limit
	 The number of characters that search terms
	 connected by an operand (AND, OR, NOT)
	 must be within.  A zero means that the
	 search terms must simply be within the same
	 record.

	 Example 1:  With limit at 20, a search for:
	       Universit?  and Illinois
	 would get:
	       University of Illinois
	 (The beginning of the word University is
	 within 20 characters of the word Illinois.)
	 It would also retrieve:
	       universities in Illinois
	 but would not retrieve:
	       "universities and other institutions
		in Illinois"

	 Example 2:  The reverse situation
	 would hold for:
	       Universit?  not Illinois
	 This would not retrieve "Unversity of
	 Illinois" but would retrieve "universities
	 and other institutions in Illinois".

Fudge
	 The number of characters that search words
	 within one term can be within.

	 Example:  search for University of
	 Illinois with Fudge set at 15.  Assuming
	 "of" is not a searchable word (i.e., it was
	 specified in the exclude list), then the
	 words University and Illinois must be
	 within 15 characters of each other.  The
	 results would then be the same as for a
	 Limit set to 10, explained previously.

Marker
	 The delimiter used for the Record
	 Option ("fencing").  You will be prompted
	 to enter a character string.

Pathcheck
	 If Yes, then the subdirectories in the DOS
	 PATH will be searched (if necessary) to
	 find files.

And character
	 The character, normally "&", to use for
	 AND.

Or  character
	 The character, normally "|", to use for OR.

Not character
	 The character, normally "!", to use for
	 NOT.

Set character
	 The character, normally "-", to use to
	 refer to a previous search set

Wild character
	 The character, normally "?", to cause
	 Finder not to match characters in the
	 search argument past this point

Option marker
	 The character, normally ";", to tell Finder
	 that a special option follows on the
	 command line

Reserved words
	 The words AND, OR, NOT will be used in
	 addition to the special characters defined
	 for these functions.

Uppercase
	 Yes, if all searches are to ignore the case
	 of the text; No, if lowercase characters
	 are to be treated differently than
	 uppercase characters

Type of Extract
	 If automatic, extracts all displayed text.
	 If semi-automatic, asks before extracting.
	 If manual, allows comments with each
	 extraction.  Or none.	(With "none"
	 specified, Extract will only be done with
	 the ;E option or [E]xtract command.)

Com file drive
	 The drive designation, e.g.  A, C, etc.,
	 where your DOS COMMAND.COM file is located.
	 (If not changed, will be the one specified
	 in the DOS COMSPEC environment variable.)

Extract file
	 File to be used for extracted text, unless
	 over-ridden by the [E]xtract or [D]isplay
	 commands

Index
	 If No, then the filenames in f-files.xxx
	 have not been indexed and only the
	 browse/find commands will be operative on
	 them.
Searching

   The [S] option off the main menu is used to do
text lookups.  Once you've pressed the "S", Finder
will prompt you for a search string and allowable
options.

   Finder uses the "set" concept of search and
retrieval.  That is, when you do a search, Finder
keeps a list of the places in the text where your
search word or phrase was located.  This list is
kept until you decide, with the [K]ill command, to
throw it away.

   For instance, let's say your first search was for
the word 'future' and that it appears 5 times in
your text files.  All 5 occurrences are called a
"set".  Let's say further that the first time it
appeared was in file abc, the second time in file
def, the third time in file ghi, and so on.  If you
just wanted to look at the word "future" in file
ghi, then what you would want would be the third
"element" in the first search set.  When you wanted
to display the text, you would specify this
particular appearance of 'future' as '1/3' -- set 1,
element 3.

   Let's say your second search would be for the
word 'past' and there are 9 occurrences of this word
in your files.	These words could be specified as
2/1 through 2/9.

   Of course, the results for search set 1 are still
around and can still be retrieved or re-used.  With
this method, each place your requested word(s) have
been found will have a unique designation.

   When would you want to go back to the results of
a particular search?  If you wanted to look at the
results again, perhaps.  Or if you wanted to narrow
down a search.	Suppose for instance, that a search
for the word "future" reported 200 occurrences.  You
probably don't want to read all 200 text segments,
particularly if you're only looking for one in
particular.

   Maybe you're only interested in those text
segments where the word "future" also appears with
the word past.	You could do a search for:
      future and past
Or, you could do:
      -1 and past
What this means is:  use the results of search 1
as part of a new search.  This was a trivial
example, but you might see how this can be quite
powerful.  Because AnyWord "remembers" as many
as 100 search requests, some complex searches can be
done.  For instance:

Set #	  Terms 	      Results
1.	 future not time     200 occurrences
2.	 -1 and past	      11
3.	 -2 or Dickens	      14
4	 Christmas	       6
5.	 -3 and -4	       2

   Just as an aside, for those who have used
a mainframe
search service, this is the same as:
  (((future not time) and past) or Dickens)
       and Christmas
With that method, it's easy to make errors with
the parentheses and get an erroneous result -- which
may not be spotted right away.	The method Finder
uses, which is modeled after Lockheed's Knowledge
Index, is more flexible and less error-prone.

   Multi-word searches are also possible.  For
instance, using the Movie Database for our examples,
'Louis Gossett, Jr.' can be searched for.  Or Edgar
G.  Robinson.  'Edgar Robinson' would also produce
the same results, because Finder will match all the
Edgars with all the Robinsons, rather than doing a
match for a single piece (string) of text.

   Actually, Finder would have reported a match if
it found the string:  Robinson, Edgar G. -- because
the order of the search words doesn't matter to
Finder.  What does matter is the "fudge factor", set
in the Mode command, which can be used to control
how far afield Finder will go in trying to produce a
match.

   A single "wild-card" character is permissible per
search term.  (A "term" would be 'future' or 'Edgar
G.  Robinson' in the above examples.  'Debra Winger
& Nick Nolte' would be 2 search terms.  Note that
'&' is equivalent to 'and'.)  The wild-card
character, denoted by a '?', allows a match for
anything.  For instance, John?	would produce
matches for John, Johnson, Johnston, etc.

   You can specify the number of bytes (characters)
that search terms can be separated by.	This can be
specified in the Environment for an entire session
or on the search statement as ;R=nnn, For instance:
      winger & nolte ;R=50
would tell Finder to mark only text sections
in which these terms were separated by 50 bytes or
less.

   Searches can be restricted to particular lines
within records, if the Record (fencing) Option had
been used when the files were run through Indexer.
A semi-structured collection of text files, like The
Movie Database, might have particular information in
the first line of an entry (record), such as a
title.	You can therefore restrict your search that
way.  For instance, a search for:
      York ;L=A1
would return the movie entry with the title
"Sergeant York", but not any movies with Susannah
York.

   The semi-colon (;) above indicates that an option
follows.  (You can change all of the special
characters if you desire.)  The 'L' means a
particular line is requested.  The 'A' is always
present in this version of Finder.  The '1' means
that you want the search restricted to the first
line of a record.

   Another line option is ;L=S.  For instance,
       D & Woody Allen ;l=s
would mean that you wanted to select all movie
records with Woody Allen listed as the director.
Search Examples

   The following searches, using The Movie Database,
are marked by [OK] if legal, [BAD] if not legal.

1. Debra Winger   [OK]

2. winger and nolte  [OK]

3. schwarz?   [OK]
      (Find all keywords starting with SCHWARZ)

4. arnold schwarz?   [BAD]
      (Can't have multiple words & a wild card in
       the same search term)

5. arnold and schwarz?	;r=7	[OK]
      (An alternative to #4; the r=7 means
       the two terms must be within 7
       characters of each other.)

6. woody allen & diane keaton	[OK] ("&" is "and")

7. woody allen | diane keaton	 [OK] ("|" is "or")

8. woody allen ! diane keaton  [OK] ("!" is "not")

9. allen & keaton & hemingway  [BAD]
      (Can't have more than 2 search terms/line)

10. toshiro mifune   [OK]

11. -9 & Akira Kurosawa    [OK]
      (Use the result of a previous
       search, search set #9)

12. -11 & 1981	 [OK]
      (Narrow a search down further)

13. james ;l=a1    [OK]
      (To find the name James only on the
       first line of a record, which, in the
       Movie Database, is the title line)

14. time & time ;l=s	[OK]
      (To find a movie with the word "time"
       repeated twice on the same line).

15. Robert Redford ;l=a1   [BAD]
      (Can't do multiword search & line
       option together)

16. james not -13  [OK]
      (To find james not on a title line)
Displaying Text

   Once text has been located with the [S]earch
command, you can use the [D]isplay command to view
it.  (See the "Browsing" section for additional
commands.)

   The [D]isplay command works on the same
set/element concept that [S]earch does.  That is,
using the Movie Database for an example, if
search set #1 reported 6 movies with Debra Winger,
you can view each separately by doing a display for
1/1, 1/2, 1/3, etc.  You can also display them
continuously, e.g. 1/1-4.

   Another option lets you display only particular
lines of each record, e.g., 1/1-6 ;L=A1.  (The L
means line, the A means the first delimiter type,
always an "A" in this version of Finder, and the 1
means the first line of the specified records, which
for The Movie Database, would be the title of the
movie.	Please note that your files must have been
indexed with the Record Option in order to select
particular lines of particular records.)

   Using the [M]ode command lets you change the
amount of text that you can display at one time.
(You can also specify this in the profile file.)
Text display can be by record, by a character (byte)
count or by a line/paragraph count -- actually a
count of carriage returns.  For The Movie Database,
the delimiter display method is the default.

   Note:  if you set a value too low, you'll find
that the browsing functions will seem to be stuck.
In this case, just reset the display range to a
larger number.	Conversely, if the displayed text
consistently spills over to another screen, set the
range to a lower number.

   Displayed text can also be copied (extracted)
into other files.  This can be done automatically or
individually.  See the "Extracting Text" section and
the "Display Examples" section for further
information.
Display Examples

   The following examples show you how to
display the results of particular searches.  First,
press [D] from the main menu, then you will be
prompted for a set/element number.  Enter the
information and press [ENTER].

1.
       (A null line, i.e., a RETURN/ENTER by itself.)
       Display the first or next element of the last
	 (current) search set.


2.  3
       Display the first or next element of set #3


3.  4/2-5
       Display the 2nd through 5th occurrences of
	 the search terms specified in set 4.


4.  2/1-9  ;l=a1
       Display the first line of each of elements
	 1-9 in set 2.
       (Assumes Record Option in use)


5.  10/3  ;l=a2
       Display only the 2nd line of the third
	 element in set 10.
       (Assumes Record Option in use)



6.  1/1-999
       Display the full range of occurrences for
	 set #1. (If there aren't 999 elements
	 in set 1, then Finder will come back with
	 the correct number.)


7.  13/6  ;E=M
       Extract this text into a file and prompt
	 for a file name and additional comments.


8.  13/1-7  ;E=S
       Using a pre-selected file name and
	 prompting you only for a yes/no, extract
	 the text associated with elements numbered
	 1 through 7.


9.  15/10-30  ;E=A
       Without asking, extract all displayed text
	 as it is put to the screen.



Some illegal display responses:
   0/1-999	     (Set numbers start with 1)
   1/0-999	     (Element numbers start with 1)
   5/1-8  ;E=A ;L=A1 (This version of Finder allows
		      only one option per display
		      command; if you need to set
		      both, use the [M]ode command.)
Identifying Located Files

   After you've done a search, you may want to see
where the search term[s] were found.  For instance,
if a search for the word 'future' reports 100
occurrences in the database -- too many to look at
-- you may want to see which files the word was
found in.

    The [W]here command produces output that
looks like:

4/1: at   703 (hex    2BF) within file OZ
4/2: at  2001 (hex    7D1) within file TF
...


   Here's what this means:

4	- The number of the search set.
1	- An element within the set.  There will be one
	    line of output for each element (occurrence
	    of the search terms) within the set.
703	- The number of characters (offset) from the
	    start of the file where the term(s) were
	    found.
2BF	- The offset, expressed in hexadecimal
	    notation.  (This can be useful with other
	    programs that let you access parts
	    of a file by location.)
OZ	- The name of the file in which the search
	    term(s) were found.

   Similarly, the second line of the output shows
you the second occurrence of the search terms.

   When you press [W] on the main menu, you will
be prompted for the number of a search set to look
at.  You may also specify a particular element or
range of elements, such as:
  2/1-10
  3/4
(This is similar to what you'd enter for the
[D]isplay command.)
Printing

   There are three ways to get a printout of what
Finder displays on the screen.
a) Shift/PrtSc
b) CTL/P  or CTL/PrtSc
c) Re-directing I/O

   At any time in the course of running Finder
you can press the Shift/PrtSc keys and send the
contents of the screen to your printer.

   If you want to run your printer simultaneously
with the screen display, then "toggle" the CTL/P or
CTL/PrtSc keys.  This is a little-known but very
useful feature of PC-DOS.  For instance, if you want
to print some text that your search has found, press
the CTL/P keys before the text starts to display on
your screen.  After the text has been displayed, you
can press those same keys again to turn the printer
off.  Of course, unless you have an extremely fast
printer, this will slow down the rate at which
output will be displayed on your screen.
Nonetheless, this method can provide a useful log of
your session.

   The third method is to redirect normal Finder
output to the printer when starting up the program.
Through DOS redirection, all text that Finder
locates can be automatically printed or saved into a
file or sent to another device, e.g., a
communications port.  This is done by starting
Finder with:
	 finder profile.mov > LPT1:
or	 finder profile.mov > out.mov
Extracting Text

   Anything in your text files that can be displayed
can be copied into new file(s).  For instance, let's
say that, using The Movie Database, you have done a
search for Edward Woodward and then displayed the
entry for "Breaker Morant".  You have also
specified, in your profile or with the [M]ode
command, that text is to be sent to file AMOV.TXT.
Now, if you select [E]xtract from the menu, the
information on "Breaker Morant" will be added to
file AMOV.TXT.

   You can use the same output file for each
extraction, or you can change output files when the
[E]xtract command asks you for a file name.

   You can also precede each data extraction with
comments or other information typed in from the
keyboard.  For instance, you could have typed in:

===>  Australian movie about a Boer War
      incident.[ENTER]
      cf. "Gallipoli". [ENTER]
      [ENTER]

and this would go into the output file, followed by
the entry on "Breaker Morant".

   Extractions can also be done via the [D]isplay
command.  Within the profile, or using the [M]ode
command or in the [D]isplay command itself, you can
specify:  "manual", "semi-automatic" or "automatic"
extraction -- as well as "none".

   "Manual" means that Finder will ask you if you
want to extract the text every time a search element
has been displayed.  It will also ask you to enter
comments and a file name.  In semi-automatic mode,
Finder will only ask you if you want to perform the
extraction on a particular display or not; if yes,
it will be written into the same extract file as was
the previous.  In automatic mode, Finder doesn't
even ask -- it just copies the text into the
pre-selected file.

   Note:  Specifying a device, like LPT1:, instead
of a file name is perfectly legal, and would send
the extracted text to that device.  (LPT1: is the
printer connected to parallel port 1.)
Viewing Searchable Keywords

   The [V]iew command lets you look at all of the
words in the database that have been indexed.  You
can start at any point and continue for as long as
you like.  The number of times an indexed word
occurs in the database is displayed next to that
word.

   For instance, to see all the words starting with
'b', just enter:  b[RETURN] when asked for a
starting point.  Press Esc when ready to stop.

   To see all of the words in the index, enter a
null line when asked for a starting point.  (A null
line is just the RETURN/ENTER key by itself, with
nothing proceeding it.

   Like the output of the Display command, the
output of View can be redirected to a file or to
another device, such as a printer.  For instance, if
you start Finder with:
     finder profile.mov > movielst
and then, when the menu comes up, press V, the list
of words will be written out to a file called
"movielst" (instead of being written to the screen.)
You will still get the "Press Esc or any other key
to continue" message.  Continue pressing a key
whenever this message comes up.  When the
complete list has been written out, the main menu
will return to the screen.

   Alternatively, like the output of the Display
command, you can press CTL-P or CTL-PrtSc at any
time to send the results of a View command to the
printer, in addition to seeing it on the screen.
(Press CTL-P or CTL-PrtSc again to turn off the
output to the printer.)
Reviewing Previous Searches

   All of the searches in a Finder session are kept
in memory.  You can look at the results of these
searches with the [R]eview command.

   Complicated searches can be built using the
results of previous searches.  See the "Search"
section for further information.

   The actual output of the [R]eview command might
look like:    (Using the Movie Database)

Set 1
	 6 occurrences for Debra Winger
	13 occurrences for Nick Nolte
	 1 occurrence for Debra Winger & Nick Nolte

Set 2  (Error)
	 0 occurrences for L?

set 3  (Interrupted)
       100 occurrences for L?
       200 occurrences for B?
	 0   occurrences for L? | B?

set 4
	 1 occurrence for -1
	 2 occurrences for John Steinbeck
	 1 occurrence for -1 & John Steinbeck

   The search terms and results for each set are
listed.  If processing of a search did not go to
completion, then the set will be marked as being in
Error or having been Interrupted.

   The [R]eview command will prompt, like the
[D]isplay command, for the number of the set you
want to look at.  It will also accept a range, such
as 1-10, or the letter 'a' (for all sets).
Browsing Through Text

   Your "database" consists of a collection of
files.	Finder understands that and provides a
flexible means of browsing these files.  From any
starting place, you can navigate in any direction
within the database.  Your starting place is
determined by the last [D]isplay command you've done
or, if no [D]isplay was done, then the beginning of
the first file.  You can use the following keys to
navigate:

  PgUp	- previous record or text block
  PgDn	- next record or text block
  Home	- beginning of the database
  End	- end of the database
  Ctrl/Home	- beginning of the current file
  Ctrl/PgUp	- beginning of the previous file
  Ctrl/PgDn	- beginning of the next file
  Ctrl/End	- end of the current file

   The amount of text displayed on the screen, the
text block, depends on what has been set in the
environment, i.e., with the profile file or the mode
command.

   For instance, if the display range has been set
to 50, then 100 characters (approximately) will be
displayed.  If the range has been set to 0, then the
display will be one "record", e.g.  all of the text
between two delimiters.  You may find it more
convenient to specify a line count:  9L would show
18 lines of text on the screen.  (Note:  the number
specified in the range is the number of characters
or lines BEFORE the midpoint and a similar number
after.	This was done to be compatible with the
[D]isplay command.

   It is possible to browse files other than ones
that have been indexed.  If you have run Indexer, a
file was created called F-FILES.ext, where "ext" is
a unique extension.  If you edit F-FILES.ext and add
additional files at the end, you will be able to
browse them.  Of course, none of the commands that
rely on indexing -- e.g.  search, display -- will
function will these added files.

   It is also possible to create an entire
collection of files, a "textbase" without indexing
it.  First, create a F-FILES.ext, where "ext" is a
unique extension.  Place into this file the names of
your unindexed text files (no wild cards).  Create a
profile file specifying:
    SUFFIX=ext	 and
    INDEX=NO
in addition to the usual parameters.  Now you can go
into Finder specifying this profile and be able to
perform browsing operations, as well be able to use
the [F]ind command.
When Text Files Change

   Finder works best when the text files are static,
at least between Indexer runs.	But all is not lost
when you change your files without having a chance
to run Indexer on them again.

   Of course, if you add new text into a new file
then AnyWord's indexing won't be disturbed.
The second best thing is to add new text at the end
of existing indexed files.  This will not change the
locations of already indexed keywords.	(Of course,
in both cases, the new material won't be indexed.)

   New text that is substituted for old on a
character-for-character basis won't affect the
majority of your text, but the indexes will still
point to the old, deleted material.  The worst
thing, as far as maintaining usable indexes goes, is
to delete or insert material at the beginning of
files.	This will throw the indexes to everything
else in that file off by the number of characters
you've inserted or deleted.  Still, you can use
Finder to go to the approximate spot where it thinks
it located a search string and then browse
or use [F]ind to locate its exact position.

   Another solution, and one that I've used in a
crunch, is to save the original text files in a
separate subdirectory or on separate floppies.	Use
this set of text files with Finder, noting the
filenames and offsets of the found search terms.
Then use Finder (or other browse/edit program)
against the newest files, using these offsets.	This
allows you to narrow down a search pretty well
before locating the keyword in the new files.  You
can combine this approach with the technique
mentioned in the "Browse" section -- the names of
any unindexed file can be added to the end of the
f-files file.
Alternate Search Method

   O.K., you know something is in there somewhere,
but the Search command doesn't find it.  Maybe it
was excluded during the indexing process.  Perhaps
it's been added to the database after it was
indexed.  Perhaps you want to find something that's
not a complete word, but just a string of characters
that appear in the text.  Or maybe you just don't
believe the Search command works correctly.  (Shame
on you!)

   Well, wonder no more.  The [F]ind command
will accept your text string and try to match it
against the text in the database.  It will take
whatever you type in and, starting with wherever you
currently are in the database, will look for exactly
that text.  For instance:

F   The Who	will do a match for The[b]Who
			   (where [b] is a blank)
F   ... 	will do a match for three dots
			   (an ellipsis)
F   porting	will find references to importing,
			   exporting, etc.

   Each line or paragraph in the database is
individually searched.	Please note, because
searching is on a line by line basis, that the
search phrase can not span a [CR][LF]
(carriage-return/line-feed) boundary, even if CRs
and LFs are marked for keyword processing in the
profile.  (By "line" or "paragraph", we mean
anything delimited by CR/LFs.

   When [F]ind gets a match, it will display the
text surrounding the located string.  (The amount
that is displayed depends on the environment; i.e.
the DRANGE parameter set in the profile file or the
[M]ode command.) Having displayed the first
occurrence of the text, [F]ind will ask you whether
you want to go on.

   Note that this is a "brute force" character-by-
character search and that there is no way of
knowing how many occurrences of the search argument
you will find within the database.  You also need to
give it time to run, as this type of search can be
slow.

   Note also that if the current environment
specifies "uppercase", then case will be ignored
during the matching process.
Help

   Selecting 'H' from the menu loads the F-HELP file
and puts up a list of topics on the screen.  Select
a topic by striking its designated letter or number.
Use the Esc key to exit out of a particular topic
and put the topic list back up on the screen.
Strike Esc again, and you will go back to the main
menu.

   You can put your own information into Help, giving
you a useful means of recalling notes.	For instance,
you might want to put information about a specific
database into the help file.

   Because the Help file is a simple ASCII (text)
file, you can easily modify it using any text editor
that can read/write ASCII files and which will put a
"hard" carriage return at the end of each line.
This includes Edlin, PE, Edix, Wordstar
(non-document mode), PMATE, Brief, etc.

   All headings that show up on the Help screen are
taken from lines in this file with a form feed
(CTL-L) in the first column.  So, new headings can
easily be added and old ones changed or removed.

   Finder does not care what the order of the topics
is, so your only constraint is what will fit on the
Help screen.  Topic titles, for instance, can only
be 30 characters long and there can be no more than
34 topics (2 columns of 17) total.  Reminder:
don't forget to take the border into account when
adding text:  restrict each line to 72 characters.
Freeing Memory

   As you do each search, Finder internally records
all of the text locations that match your search.
This location information is kept in memory for
potential use in later searches.

   If you reach a point where a search (or other
operation) fails because of a lack of memory, you
will probably want to get rid of any old search
results that you don't need.  Use the [K]ill command
to do this.

   By "killing" a search set, the memory devoted to
that set can be re-used.

   When prompted for a number, enter the number
of a search set that you don't need.  (In order to
free up enough memory for particular operations, you
may need to use the [K]ill command several times.)

   Use the [R]eview command to look at your previous
searches to see which ones you don't need to keep
around.
Interrupting Finder

   Normal Finder processing can be interrupted in
two ways.  The CALL command allows you to run a
program of your own choosing.  The INTERRUPT command
allows you to temporarily go to DOS, execute
whatever commands and programs you want to, and then
return to Finder with all of your previous search
results still intact.  Note:  either option requires
you to have enough memory space in your machine to
load the PC-DOS command processor (COMMAND.COM) or
its equivalent.

   The MODE command, with the 'C' option, allows you
to tell Finder that COMMAND.COM is on a different
drive from the one you booted with.  However, DOS
will still want to use the original COMMAND.COM, so
you may find, after using the INTERRUPT command,
that the new DOS session won't work quite the way
you expect.  Put another way:  if you don't need to
change the drive, don't.

   Two things you might want to interrupt
Finder to do are:
- look at a file with the DOS TYPE command
- run a second copy of Finder with a different
  textbase.
Calling Other Programs

   The [C]all command allows you to enter the name
of a program or DOS command, just as you would type
it in on the DOS command line.	This can be any
program.  The only restriction is memory.  You will
not have as much memory available as you would if
Finder were not running.  As with the [I]nterrupt
command, Finder stays in memory.  Unlike [I],
however, a second copy of the DOS command processor
is not loaded, so there will be somewhat more memory
available with [C]all than with [I]nterrupt.
Specifications

Text Capacity/Type
------------------
   Maximum text per database:  1 MB (500K when Record Option used)
   Maximum number of files: 254
   Maximum text per file:  1 MB (500K when Record Option used)
   Maximum number of drives/subdirectories: 254
   Preferred file type: ASCII file or Wordstar document
   Secondary type (usable with limitations):
	 WordPerfect, Microsoft Word, others
   Allowable text characters:  Any (binary 0 to binary FF)
   Maximum number of words beginning with the same character: 16384

Search Capabilities
-------------------
   Wild card:  for suffixes (e.g. "comput?" gets
	 computer, computing, etc.)
   Mix a wild-card and multi-word terms in the same
	 search statement: No
   Boolean operators:  AND, OR, NOT
   Proximity searches:	By number of characters
   Maximum number of terms (operands) per search
	 request:  2 (e.g.  black cat and dog)
   Maximum number of operators per request:  1
   Maximum number of search options per request: 1
   Maximum number of words per search term: 20
   Maximum number of characters per word: 80
   Recombine previous search requests into more
	 complex searches:  Yes
   Maximum number of search requests per session: 100
   Review previous search requests: Yes
   Maximum number of occurrences of a word that can be
	 processed: about 1000

Display Capabilities
--------------------
   In-context text display:  By number of lines,
	 number of characters, or entire record
   Display instances of located text:  one at a time
	 or range of occurrences
   Highlight located text:  First character (on most machines)
   Re-display previously located text: Yes
   View list of file names where word/phrase was located:  Yes
   Browse across multiple files: Yes

Browsing Files
--------------
   Page Up/Down: Yes
   Go to beginning/end of current file: Yes
   Go to beginning of next/previous file: Yes
   Go to beginning/end of entire textbase:  Yes
   Paging options (e.g. PgDn) highlight search terms: No

Optional Record Processing
--------------------------
   Acceptable record separators:  any character or
	 string of characters
   Maximum number of lines per record: 255

Miscellaneous
-------------
   View alphabetical list of indexed words:  Yes
   Extraction of located text into new files:  Yes,
	 automatically or one text segment at a time
   Ability to suspend operation to execute DOS commands:  Yes
   Ability to suspend operation to run other programs:	Yes
   Function keys: optional - user definable
   Ability to use DOS PATH to locate files: Yes

Indexing
--------
   Index all words in specified files:	Yes, except for
	 user-modifiable (stop) list of words not to index
   Maximum number of words in the stop list:  500

User Customization
------------------
   Re-define reserved words (e.g.  and, or, not, ?):  Yes
   Re-define concept of a "word" for special processing:  Yes
   Set proximity between multiple words in a search term:  Yes



Idiosyncrasies/Bugs
-------------------
1. The 'OR' search operation may
   produce a match count larger than what
   you might expect.  That is, a search
   for:
	Clint Eastwood or Sondra Locke

   will count all of Eastwood's movies and
   all of Locke's movies -- thus counting
   some movies twice.

2. Indexer has been known to occasionally incorrectly
   compute a line location when the Record Option is used.
   That is, when you do a Finder search that is
   restricted by line, you may occasionally miss a
   record because its line number is off by 1.

Files

   Several files, besides your own text files, are
required to run Finder.  These may be in the current
subdirectory or, unless pathchecking has been turned
off, in any of the subdirectories specified with the
DOS PATH function.

Required files:

profile file
	 The file that contains the parameters and
	 options that control both Indexer and
	 Finder.  Detailed information on the
	 profile can be found in the appropriate
	 sections of this manual and also in the
	 sample files, PROFILE.xxx.

F-FILES.ext
	 The list of text files that have been
	 indexed.  You may edit this file to change
	 the drive and directory designation of a
	 file, or to add additional non-indexed
	 files at the end.  DO NOT remove file names
	 or change the order of the files, or Finder
	 will get confused.

F-IX.ext
	 A file containing the locations in the
	 text of the keywords.

F-IK.ext
	 A file containing the keywords, the number
	 of occurrences in the "database", and where
	 in F-IX.ext those occurrences are.

F-TAB.ext
	 A control file with information about the
	 other files.

exclude file
	 A list of words that are not searchable.
	 This list should be built prior to using
	 Indexer and should not be changed for
	 Finder.  It is an ordinary text file, with
	 each word to be excluded placed on a line
	 by itself.

Optional files:  (These are not necessary to run
			 Finder.)

F-DLMLOC
	 If the Record option is being used, this
	 file contains the location in the
	 "database" of each record.

F-FENCE1
	 If the Record option is being used, this
	 file contains the record offsets
	 of each keyword.

F-HELP
	 The Help file.  This is an ordinary text
	 (ASCII) file that you can modify to meet
	 your needs.  See the Help section for more
	 information.

   You do not need to have all of your text files
online at all times.  If you have only a
floppy-based system, for instance, you can load your
text files only as they're called for.  If you do
swap diskettes, however, you should write-protect
the diskettes by covering the write-notch.  This is
to ensure that if Finder accidentally terminates and
DOS tries to update the directory on your text
diskettes, that it will not be able to do so.
License

   Carefully read the following terms and
conditions.  If you do not agree with them, you
should not use the package.  Use of this software
package indicates your acceptance of the terms and
conditions.

   Eric Balkan, dba "Packet Press", hereinafter
"Publisher", provides this software and licenses
its use.  Your use of the software acknowledges
that you have read this agreement, understand it
and agree to be bound by its terms and conditions.

   You may use this software for any purpose,
subject to the following restrictions:
1 - You may copy the contents of this diskette for
    yourself or for others, but the entire diskette
    must be copied without change;
2 - You may charge for copies of this diskette, but
    not more than $8;
3 - You may not modify any of the files on this
    diskette without the permission of the Publisher;
4 - You may not incorporate this package, or any part
    of this package, in a commercial product, without
    prior arrangement with Packet Press.  (Typically,
    we will ask for a nominal royalty fee.)

   This license is effective until terminated.	You
may terminate it at any time by destroying the
software together with all copies.  The license also
terminates if you fail to comply with the terms and
conditions of this agreement.

   This software and accompanying documentation are
protected by United States copyright law and also
by international treaty provisions.

   The publisher makes no warranties in regard to
this software.	No claim is made that functions
contained in this software will meet your
requirements or that the software operation will be
uninterrupted or error free.

   In no event will the publisher be liable to you
for any damages, including any lost profits, lost
savings or other incidental or consequential
damages arising out of the use or inability to use
this software, or for any claim by any other party.

   This agreement shall be construed, interpreted
and governed by the laws of the state of Maryland.
you agree that this is the complete and exclusive
statement of this agreement which supersedes any
prior agreement or other communication between us on
this subject.
Registration

   The software on this diskette has been provided
on an honor system "try-before-you-buy" basis.
(If you paid less than $9 for this diskette,
your payment was simply for a duplication/handling
charge and for the diskette itself, not for its
contents.)

   As much as we'd like to provide this software
for free, its development took approximately 800
hours.	(That's 800 hours I could have spent making
some money to meet my mortgage payments.)  If you
like AnyWord and would like to continue using it,
then please pay for it.  Of course, this is all on
the honor system and we won't be checking up on
anyone.  However, if you do send us a check for
$35, you will be supporting our past and future
efforts in developing affordable information
retrieval software.  We'll also make it worth
your while.

   By sending in your $35, you will automatically
become a member of our AnyWord users group (AUG).
Members of AUG get:
- a $15 credit towards other products
- a free DOSCARD
- technical support for problems
- assistance and advice with particular applications
- programming support at a discount
- free bug fixes
- inexpensive update disks with new features
- other benefits from time to time.

   We also give bonuses to members when
they bring in other members.

   To join, just send us a check or money
order, with your name and address, and the AnyWord
serial number (which you can get by doing
SHOWID at the DOS prompt -- this is how we credit
whomever you got your disk from).  If you think you
will be distributing copies to others, give us your
social security number (or other identifier) as well,
so we can give you credit.  (And run MAKEID to record
your number on the disk.)


				  Eric Balkan
				  Developer/Publisher
