^1                               FREE-FORM DATABASE
                               by Joel Ellis Rea


You might consider Free-Form DataBase (FFDB) to be a "grab-bag" filer.  It can 
accept any text and/or numeric information, up to 127 characters per line 
(about one-and-one-half screen lines) or search an entire file for sub-strings 
that have a particular word or phrase.  It can also send transcripts to a 
printer or a disk file, or copy selected excerpts from one file to another.  
Best of all, FFDB is extremely user-friendly and intuitive in its operation.  


USING THE PROGRAM
-----------------

When you run FFDB, it will be working with a sample file called "FFDBFILE.DAT".
This is an ordinary text file containing ordinary lines of text.  You can 
easily switch to a file you create; we'll discuss how in a moment.  

FFDB colors your input light grey on a color monitor, or dim on a monochrome 
monitor.  FFDB's own output is yellow on a color monitor, or bright on a mono-
chrome monitor.  If you have a monochrome monitor, turn the brightness up all 
the way and turn the contrast down about halfway so you can easily tell the 
difference.

FFDB commands consist of a line of text ending in a punctuation character.  
This character denotes the actual command, telling FFDB what to do with the 
rest of the line.  The punctuations and their meanings are: 

FILING COMMANDS:  The input is a line of text.

   "." (Period)    Add the line to the current file.

   "?" (Query)     Search the file and display all lines in the file containing
                   the specified line.  "?" by itself displays the entire file.

   "~" (Tilde)     Search the file and display all lines in the file which
                   do NOT contain the specified line.

UTILITY COMMANDS: The input is a legal MS-DOS filename, optionally including 
drive and path specifications.

For example, "a:junk.txt" will use the file "junk.txt" on drive A; 
"c:\stuff\junk.txt" will use the file "junk.txt" in subdirectory \stuff\ of 
drive C; and "this.txt" will use the file "this.txt" in the drive on which you 
are running BIG BLUE DISK.  

Since there is not much room left on BIG BLUE DISK, it is recommended that
you create FFDB files on a disk of your own.

   ":" (Colon)         Switch the current file to the new pathname.

   "!" (Exclamation)   Send a transcript of the input or output in this session
                       to the specified pathname.  "prn!" sends a Transcript to 
                       the printer.  "!" alone stops Transcription.  

   "^^" (Caret)         Re-direct output of Searches ("?", "~") to the specified
                       filename.  Unlike Transcription, only SEARCH output is
                       sent.  No periods are added to the end of the "found"
                       lines.  This can be used to excerpt lines from the cur-
                       rent file and use them to start a new file.  "^^" alone
                       stops re-direction.

   "@" (Commercial AT) Stop the program and exit to DOS or BIG BLUE DISK.

  (Note that to preserve data integrity, FFDB opens the file during an Add or a 
Search.) 


EXAMPLES
--------

Now, let's consider a file that you might make for yourself.  The first step is
to create a file.  To do so, you could, for example, type in: "file.dat:" (no 
quotation marks).  

Now you are ready to add information:

   Mount Everest is the tallest mountain in the world.

   The Pacific Ocean is the largest ocean in the world.

   The Dead Sea shore is the lowest land area in the world.

   Richard Milhous Nixon was the only U.S. President ever to resign.

   Franklin Delano Roosevelt was the only U.S. President to serve more than
   two terms.
  
When you have your data entered, you may reference it with the query command.

   Largest ocean?
   ^1The Pacific Ocean is the largest ocean in the world.

   Tallest mountain?
   ^1Mount Everest is the tallest mountain in the world.

   U.S. President?
   ^1Richard Milhous Nixon was the only U.S. President ever to resign.
   ^1Franklin Delano Roosevelt was the only U.S. President to serve more than
   ^1two terms.

  To make a print out, use the "!" command.

   prn!
   ^1Transcript being sent to "prn".^0                        _
                                                           \
   Sea?                                                     \   (These lines
   ^1The Dead Sea shore is the lowest land area in the world.^0  >-- copied to the
                                                            /    printer.)
   !                                                      _/
   ^1Transcription file "prn" is closed.

Now, to redirect some of the data in "file.dat" to another file, 
"geogrphy.dat," use the "^^" command.  

   geogrphy.dat^^
   ^1"geogrphy.dat" either does not exist or is not a legal filename!
   ^1Do you wish to create it?^0  Yes
   ^1Now re-directing Search output to "geogrphy.dat".

   World?
   (The lines about Mount Everest, the Pacific Ocean and the Dead Sea Shore
    are sent to a new data file "GEOGRPHY.DAT"!)

   ^^
   ^1Re-direction file "geogrphy.dat" is closed.

   geogrphy.dat:
   Now accessing file "geogrphy.dat".

   ?
   The name of this file is "geogrphy.dat".
   ^1Mount Everest is the tallest mountain in the world.
   ^1The Pacific Ocean is the largest ocean in the world.
   ^1The Dead Sea shore is the lowest land area in the world.

The redirection facility, along with the "~" command, also provides a way of
deleting records from a file.  Let's say you would like to remove all records
concerning presidents from the above file.  To do this, first use redirection
to send output to a new file, as follows:

   file.new^^
   ^1"file.new" either does not exist or is not a legal filename!
   ^1Do you wish to create it?^0  Yes
   ^1Now re-directing Search output to "file.new".

Then, use the "~" command with a search argument which selects the records
you wish to remove, in this case, those concerning presidents.

   president~
   (The lines not containing the word "president" are written to the file
    "file.new".)

Finally, close the file.

    ^^
    ^1Re-direction file "file.new" is closed.

The file "file.new" contains the new version of your database, with the
lines about presidents deleted.  Later, when you have exited to the MS-DOS
command level, you may delete the old "file.dat" file and rename "file.new"
to "file.dat".

When you are ready to leave the database, use the "@" command.

   @
   (Exit FFDB)

As you can see, FFDB is indeed intuitive.  You can use it as a phone book, an
address list and in many other ways.  You can pile all of your information in
one file or break it up into many files.  And best of all, even with long
files, and even though the search command is NOT case-sensitive, FREE-FORM
DATABASE works very quickly.

-------------------------------------------------------------------------------

DISK FILES THIS PROGRAM USES:

   FFDB.CHN     <--  The program (a Turbo Pascal chain file).

   PASRUN.COM   <--  Program that lets you run chain files such as FFDB.CHN.
                     Type "PASRUN FFDB" to invoke FREE-FORM DATABASE from
                     outside the BIG BLUE DISK menu system.  When you invoke
                     FREE-FORM DATABASE in this manner, you can specify the
                     data file you want to use by appending its name to the
                     command, as:  "PASRUN FFDB DATAFILE.DAT".  If the data
                     file is not specified, FFDBFILE.DAT will be used.

   RETURN.CHN   <--  Chain file invoked at the end of execution of this and
                     other programs on BIG BLUE DISK to clean things up and
                     ensure smooth re-connection to the menu.  If a program
                     is invoked outside the BIG BLUE DISK menu, RETURN.CHN
                     will return control to DOS rather than re-enter the
                     menu.

   FFDBFILE.DAT <--  A sample FFDB file, containing information on Softdisk,
                     Incorporated -- the makers of BIG BLUE DISK.  When using
                     it, try "Part owner?" "Editor?" "Version?" "Business?"
                     and "Order?".  You can copy all the phone number entries 
                     to a new file called "phone.lst" by typing "phone.lst^^", 
                     "(?" and "^^").  

