			       SETID / CLEARID
				by Jerry James
				 Version 1.00

WARNING: These programs can destroy any information contained in the ID fields
of your PAF database.  Always make a backup before using either program.  Both
programs modify only INDIV2.DAT and no other file, so it is sufficient to
make a backup of INDIV2.DAT only.

1. What is SETID / CLEARID?

   Many people have numbering schemes for their genealogical databases.  PAF
   users, in particular, frequently use the ID field in an individual record
   to store the numbers produced by such a scheme.  SETID is a program for
   DOS PAF versions 2.0 through 2.31 which automatically sets ID fields
   according to a predetermined scheme.  CLEARID is a companion program which
   erases all the ID fields in a PAF database.

   These programs are distributed in both executable form, and as C source
   code.  The intention is that those who know how can modify the source to
   correspond to their own numbering schemes.  The source code compiles
   cleanly on both Borland C++ 3.0 (I've never been able to afford an upgrade;
   isn't that sad?) and DJGPP 1.12.maint4 (which corresponds to GCC 2.6.3).

2. How much does it cost?

   Absolutely nothing.  This program is targeted at such a small audience that
   it would hardly be worth my while to charge for it.  However, I do retain
   the copyright on the source code.  This means that the program is freeware,
   NOT public domain.  I have no problem with people distributing derived
   works, so long as they are also freeware.

   If you find that these programs are just so wonderful that you can't resist
   sending a donation to the author, I won't send it back.  After all, I'm a
   starving student.  Worse yet, I'm a married starving student with a child.
   No donation is too small!

3. How do I contact the author?

   Until June 1997, my address is:
   Jerry James
   776 Madrona Walk, Apt. C
   Goleta, CA  93117
   USA

   After that, I may have graduated.  My parents will know where I am.
   However, their address may change after June 2000 (when my youngest sibling
   graduates from high school).  Until that time, you can send mail to:

   146 Douglas St.
   Bakersfield, CA  93308
   USA

   You can also send email to jerry@cs.ucsb.edu to see if I'm still at UCSB.

4. How do I use SETID?

   The program can set the ID fields according to an ancestor numbering scheme
   (Sosa-Stradonitz or ahnentafel system), a descendant numbering scheme
   (Modified Henry system), or a combined scheme (previous two separated
   by a period).  It can also be set to overwrite previously existing
   IDs or skip people with previously existing IDs.

   The program must be executed while while you are in the directory
   containing your PAF database.  For example, if your PAF data is in
   directory C:\PAF\DATA, then you must execute a CD \PAF\DATA command before
   running SETID.

   The program accepts the following command-line options:
      -r# = The RIN of the base individual
      -m# = The MRIN of the base couple
      -a  = Don't number ancestors (descendant scheme only)
      +a  = Number ancestors
      -d  = Don't number descendants (ancestor scheme only)
      +d  = Number descendants
      -o  = Do not overwrite pre-existing IDs.
      +o  = Overwrite pre-existing IDs.
   The default command-line is: -r1 +a +d +o.  If conflicting switches
   are present, then the last one to appear on the command line will
   take effect.  This lets you call SETID from a batch file conveniently.

   Two versions of SETID have been packaged, along with the source code.  The
   program named SETID.EXE has been compiled with Borland C++ 3.0.  It only
   uses conventional memory (i.e., the standard 640K), so it is limited in the
   size of the databases it can handle.  The file named SETID is a COFF file
   generated by DJGPP 1.12.maint4.  It must be executed on a 386 or better by
   using GO32, as follows: GO32 SETID.  For more information about DJGPP,
   visit its home page at http://www.delorie.com/.

5. How do I use CLEARID?

   Like SETID, CLEARID must be executed from the directory containing your PAF
   database.  It takes no command-line options; it just erases every ID field
   in the entire database.

   Like SETID, CLEARID comes in two versions.  CLEARID.EXE has been compiled
   with Borland C++ 3.0, and CLEARID is a COFF file produced by DJGPP
   1.12.maint4.

6. What do those mysterious error codes mean?

   To save space in the executable, I did not include a nice error handler.
   If either program reports an error number, then it is the number generated
   by the low level I/O routines themselves.  Here is a list of the numbers
   you might encounter:

   Number  Meaning of error number
   ------  ---------------------------------------------------------------
      2    The specified file or directory does not exist.
      4    There are more files open than the system can handle.
      5    The file can't be modified.  Look up ATTRIB in your DOS manual.
      8    Ran out of memory.
    101    I/O or bounds error.
    102    The disk is full.
