Home of the original IBM PC emulator for browsers.
[PCjs Machine "ibm5170"]
Waiting for machine "ibm5170" to load....
Ever wonder who's lurking in the upper branches of your family tree?
The FAMILY HISTORY system, a modular genealogy program, will help you
organize and refine your search.
The system stores information about individuals, including all family
relationships. You are not limited in the number of relationships that
might exist for each individual, or the number of generations of
ancestors or descendants. Information for up to 3200 individuals may
be stored on a diskette and up to 9999 on a hard disk. You can produce
ancestor, descendant, relative, and family group reports and ancestor
(tree) charts. You may print out blank worksheets and charts to record
information for entry into the system. Sample files are included for
the descendants of Adam (as recorded in Genesis) and the family of
Prince Charles. A GEDCOM export/import program permits sharing
information with other genealogy software.
Research your roots and know where you came from. A great gift for the
next generation.
Appendix A: Extended Options for Registered Users
These programs were first made available for public use in March 1985.
Since then the system has been going through an almost continuous
process of revision and extension. The descendant "chart" and rela-
tive report are two significant enhancements that have been made to
the basic set of programs. In addition, a number of other options
have been made part of an "extended" system which is available only to
registered users of the programs (see the introduction to this
manual).
As of July 1990, the extended options include:
1. A program for creating INDEX files which permit processing the
Family History System files in various orders. An index may be
created based upon one or more of: Surname, GivenName, BirthDate
(YMD or MDY), DeathDate (YMD), Latest Marriage Date (MDY) and ID#.
Further, you may request that a husband's surname be substituted
for a wife's when creating the index. An index may also be created
which sequences related individuals in relationship sequence.
2. A program for producing printed indexes for ancestor, descendant,
relative and "batched" family group reports, for sets of ancestor
charts, for ancestor Maps and for descendant charts.
3. A program for searching the files based upon up to 9 selection
rules stated in terms of:
ranges of ID#, Birthdate & Deathdate, Sex,
substrings or soundex of Surname, GivenName, BirthPlace and
DeathPlace, and
existence of Marriage records, children or residence
information.
The program produces detailed listings in indexed or ID# sequence
of selected information including comments, latest residence
information, and common-term relationship (if any).
4. A program for producing Summary reports. The SURNAME Summary
report provides a means for evaluating the completeness of certain
types of information among selected records, grouped by Surname.
Similar ANCESTOR and DESCENDANT Summary reports show statistics,
such as numbers of males & females and ranges of birth and death
dates, for records grouped by generation level. The RELATIVE
Summary report is presented as a 2-dimensional relationship table
with the number of relatives in each relationship category.
5. A RELATIONSHIP CALCULATOR, which accepts two name record ID numbers
and "dynamically" determines the "relationship", if any. It also
shows the nearest common ancestor of two related ID's.
6. An `IMPORT/EXPORT' utility which permits copying information from a
set of family files into an ASCII (standard character) dataset and
transferring the information from that ASCII dataset into another
FHS family file. While this program was designed using a prelim-
inary GEDCOM definition which was not widely used, it does permit
65
you to transfer all types of information between FHS family files.
The export/import program provided with the basic set of programs
only supports those fields of data which are common to both FHS
files and the current PAF GEDCOM description.
This program also has an option for creating a "MailMerge" format
address file which may be used with database programs such as the
publicly distributed PC-FILE III to print mailing labels. The file
may also be used with many word-processors for printing form
letters.
Registered users are notified of major updates to the system, though
there is a $15.00 fee for updates after the initial registration. All
updates are cumulative, so it isn't necessary to order each update as
it is announced.
66
Appendix B: Recording information for the Family History System
This section is not intended to be a `How to' for doing genealogical
research. For that information I would suggest that you go to a
local library or bookstore to get one of the many excellent books
you can find there on that subject. What I do want to tell you
here, is how to use the Individual/Family Group worksheets to record
information for the systematic entry of this information into the
Family History System files.
Before continuing with the discussion here, however, you should get
several blank copies of the Individual/Family Group worksheets. You
may get copies by using MAIN MENU option F2-B-1 to select the System
Function for producing Family Group worksheets, and then selecting
function F5 of that program's option menu. (You should also request
that space for ID numbers be included on the worksheets by responding
"Y" to the program's query about this item.)
Now, you should have before you several blank Individual/Family Group
worksheets. The first thing to note on these worksheets is that every
individual mentioned, whether a parent, spouse or child, has an assoc-
iated ID number. This number is assigned sequentially to individuals
when they are first identified to the system. The numbers assigned two
individuals does not have anything to do with the family relationship
that may exist between these individuals, however these numbers are
used whenever family relationships are being defined between indivi-
duals. It isn't necessary for you to remember the ID number of every
individual (they are easily determined by searching the files by
'name' or other key information), however you will probably be able to
recall the ID numbers of many of your close relatives or significant
ancestors.
To begin filling in one of your blank worksheets, select one of your
ancestors that you would like to start with. Eventually you will
have a file of family group worksheets produced by the system (1 for
each of your direct ancestors, at least, and probably others for
uncles, cousins, etc. as you systematically expand the information
in your files). But first you should record the information on a
blank (or partially blank) worksheet. If you do not have a very
distant ancestor whose line of ancestry you particularly wish to
record, I would suggest choosing one of your grandparents. Fill in
his/her name in the first block of individual information provided
on the worksheet. Put the last name first (this is the 'SURNAME'),
then a comma, followed by the 'GIVEN' name(s). If it is a grandmother
that you have selected, use her maiden name for the surname, not the
name of your grandfather. Fill in as much as you can of the remaining
personal information about the individual including birth and death
dates and places.
Concerning the recording of dates on these worksheets, the almost
universally recommended format (the one used when these reports are
printed from information in the system) is: DD MON YYYY, where MON
is a 3 character abbreviation for the month. However, when entering
dates in the file maintenance program, the required format is MM-DD-
YYYY (or DD.MM.YYYY or YYYY.MM.DD), so I would recommend that you use
67
here the format in which you intend to enter the dates. If the month
or day is not known, enter 00, and if the person has died, but the
year of death is unknown, use 9999...(This is recognised by the system
as a "don't know" year and will eliminate the calculation of ages or
anniversarys). Do not use 9999 for an unknown Birth year, instead use
0000. (Also see "Appendix C" for a discussion of additional ways of
indicating uncertain dates.)
When recording Birth and Death places, do not put 'addresses' but
rather the CITY, COUNTY and STATE or country. You will only have 22
characters for entering the information so you may have to abbreviate.
Enter '1' for the ID number of the individual for whom you are filling
out this worksheet. This is the first person you will be entering
into the system files.
For the meantime, ignore the information about the individual's
parents; we have agreed that this individual is the most distant
ancestor we are interested in now.
Proceeding to the spouse information, enter the appropriate data
according to the 'rules' we have mentioned above, again using the
maiden name if the individual is a female. An additional piece of
information for the spouse is the date of marriage. If the marriage
has been terminated, either thru divorce or by death of one of the
persons, this date should also be recorded if known. The ID number
of this person should be '2'. You will note that additional spouses
may be identified. The marriage records are maintained within the
system in a most recent to least recent order.
Next you should enter information concerning the children of the
individual with ID #1. (See Appendix C. for the handling of adoptive
relationships within the system.) These should be recorded in
increasing order of birth with ID numbers assigned sequentially
following that of the last recorded spouse. The last name of a child
should be the same as that of the father. If more than one spouse is
recorded for individual #1, then the ID # of the appropriate spouse
should be recorded in the space for 'Parent ID#' under the child's
name. You needn't bother recording spouse information for each child.
This would more appropriately be entered on a Family Group worksheet
for that child.
Incidentally, the children will be recorded in the file in increasing
order of birth under each parent, no matter what order you enter
them into the file. This has the unfortunate consequence that
individuals whose birth year is not known may end up listed in the
wrong order of birth in reports. The order will be corrected however,
as the birth information is learned and recorded correctly.
The remarks section is not intended for writing a person's life
history, but rather for making notes; for example concerning sources
of birth, death information or for burial information. You will find
that there are many places in the Family History files for recording
remarks such as these. I trust that you will develop a feeling for
the types of information you will want to record in each place. (The
68
comments that are placed under a spouse record should have relevance
for both partners of the marriage. These remarks will appear under
the marriage information for either spouse.)
Now set the 'completed' worksheet aside and take another blank work-
sheet and set about filling it out, in the same way, for your ancestor
that was included among the children on the previous worksheet. (If
you started with a grandparent, then one of your parents was listed
among the children). The only information you need enter for the
individual is the name and ID#. You can also write down the ID#'s of
the parents in the appropriate places, as a reminder that this infor-
mation is already available. Then continue filling in spouse and
child information just as before, assigning ID#s sequentially,
following the ID# of the last child of the previous worksheet.
When the second worksheet has been completed, set it aside and fill
out another for your ancestor listed among the children on this
worksheet...continuing in this way until you have filled out a
worksheet for yourself.
Now, with the several worksheets you have completed in hand (in the
order that you have created them), you should be ready to start
putting information in your Family files. (see section II.B.4)
69
Appendix C. Notes on Adoptive Relationships & Date Status Fields
I will try to explain in this section the purpose of several `status'
fields which have been added to the NAME record information. Each
field appears as a one character extension to the right of the Birth
& Death dates and Mother & Father ID numbers in the NAME information
view in the file maintenance program (Main Menu option F1).
For the Birth & Death date fields, these status indicators permit you
to assign 3 different levels of `assurance' regarding the accuracy of
the dates shown. Symbols recognised in these fields are "!", " ",
and "?". The "!" symbol would indicate a date backed by a primary
source of information (this can mean whatever you want it to, but
might include a `birth' or `death' certificate or family Bible
entry). A blank (" ") would indicate a secondary source such as a
document whose own source is not known, and a "?" would indicate a
questionable source of information (such as a computed date from
vague recollections). Explanations for the choice of symbols could
be included in the comments for the individual's name record. These
symbols are displayed in all reports produced.
The status fields appearing to the right of the mother and father ID
numbers may be used to indicate that a parent-child relationship is
an adoptive one or is questionable (for example when it is uncertain
which of the spouses of an individual parented a child). The symbols
recognized by the program are "*" for an adoptive relationship and
"?" for one whose information is uncertain. Descendant reports may
optionally include or exclude adopted individuals and their
descendants, and if included, the relationship is marked with an "*"
in the bloodline next to the entry corresponding to the adoptive
relationship.
Perhaps a few remarks might be in order to try to explain my reason
for treating adoptive relationships as I have. When I first began
designing the formats for the Family History files, I intended
allowing for maintaining a complete history of both biological and
adoptive parent/child relationships. However, because of the
complexity of handling the record of adoptions, which could
conceivably involve one or more `parents' singly or in pairs, and
because of the relative rarity of the situation, the limit of my
commitment was allowing for a `pointer' field to an un-implemented
adoption record.
As I have worked on adding information to my own family files from an
extensive list of descendants of a 7th generation ancestor, gathered
through the dedicated efforts of a distant cousin, I have been
repeatedly faced with the decision of how to treat children who are
identified as being adopted. In all cases, I had chosen to omit
establishing the parent/child relationship. However, I was troubled
by the thought that such individuals would be left out of reports
which would include "siblings" with whom they shared a common
traditional heritage, if not a biological one. I did notice, though,
that in the information I had, the `missing' biological parent was
seldom indicated; therefore, I opted for an alternative approach to
the `adoption problem' which would permit including an adoptive
70
relationship and would allow producing reports which would optionally
include or exclude information for such relationships, but which
forces one to decide, when full information is available, whether to
record a biological or `traditional' ancestry for an individual.
Though I am not entirely satisfied with this approach, I feel that it
is an improvement over the previous situation.
I would still like to provide a more complete treatment of adoptive
relationships but this would now require changes to the file format
that would make it incompatible with previous versions of the system.
Of course the export/import program of the extended system could
provide a means for converting between the two formats but still, I
don't expect to accomplish this any time soon.
71
Appendix D: DATECALC, a RAM Resident Date Calculator Utility
The program DATECALC.COM that has been placed on your Family History
System program diskette (or in the \FAMILY sub-directory of your hard
disk) is a program to assist you in performing some standard opera-
tions involving dates, including:
Determining the day of the week on which a given date falls;
Computing the number of years, months and/or days between two
given dates;
Determining the date that is a given number of years, months
and/or days before or after another date;
Displaying a calendar for the month containing a given date;
Converting between "old style" and "new style" dates.
In providing these functions, the DATECALC utility also permits you to
select the format for dates entered or displayed from among:
DD MON YYYY (e.g. 10 APR 1943)
MON DD, YYYY (e.g. APR 10, 1943)
MM-DD-YYYY (e.g. 04-10-1943)
DD.MM.YYYY (e.g. 10.04.1943)
YYYY MM DD (e.g. 1943 04 10)
or YYYY DDD (e.g. 1943 100).
The "difference" or length of interval between dates can be displayed
in several formats also, including:
+/- Yr,Mon,Day (+ 0044 Y 004 M 02 D)
+/- Yrs,Days (+ 0044 Y 124 D)
or +/- Days (+ 016195 Days).
(A "-" before the date difference indicates that the second date
occurs before the first one.)
The DATECALC utility can be invoked in several ways. If you are using
DOS 3.0 or later and have sufficient RAM available, you should be able
to invoke it from the MainMenu of the Family History System by
pressing the F7 key. It can also be executed as a command from the
DOS prompt, for example by entering: A>datecalc
assuming the DATECALC.COM program is on the diskette in the "A" drive.
Finally it can be made memory resident by entering: A>datecalc r
(again assuming the DATECALC.COM program is on the diskette in the "A"
drive) after which it may be called up at just about any time by
simultaneously pressing the ALT and CTRL keys. The utility will not
"pop up" when the screen is being used to display graphics and it may
be incompatible with some other resident utilities or with some
programs which take control of keyboard input.
The AUTOEXEC.BAT file created on program diskettes during the standard
INSTALL procedure has a command line in it which will make this
utility memory resident when you boot from those diskettes. If you
are running from a hard disk or do not boot from your Family History
System program diskette, you may consider modifying the AUTOEXEC.BAT
file used during your normal boot procedure to automatically make the
DATECALC utility RAM resident. Be aware that making the program
resident in memory will "permanently" reduce the available memory for
other programs by about 7k.
72
When you invoke DATECALC in one of the above ways, it "pops" into
view, overlaying the previous contents of the screen. The utility's
options are listed together with the function keys that are used to
select them. (Note that the ESCape key is used to exit from the
program. The previous contents of the screen are restored when you
do.) Below the list of options you will find the descriptions for the
current formats for DATEs and Date DIFference. If "old style" dates
are being processed, then the characters "OS" will appear to the right
of the literal describing the date format. Near the bottom of the
viewing area, on separate lines, appear two dates (DATE1, DATE2) and
the computed DIF (calendar interval) between the dates. The day of
the week for each date is also shown for each date. The first time
the utility is used the dates will have the value of the current date
(or 01 JAN 1980 if you don't have a clock calendar board and haven't
previously corrected the date using the DOS DATE command or some other
utility) and the computed DIF will be 0 years, 0 months and 0 days.
You can use the cursor control keys (as well as the HOME, END, PGUP,
PGDN keys) to move the viewing area for the utility to different
locations on the screen. This allows you to reveal any area on the
screen in which a date appears that you may want to examine. If you
are running DATECALC as a memory resident utility, then the location
of the viewing area will remain unchanged between separate invocations
of the program.
The list of program options appears as follows:
F1 Enter DATE1 (find DAY)
F2 Enter DATE2 (find DIF)
F3 Enter DIF (find DATE2)
F4 Show Calendar for DATE1/2
F5 Change DATE Format/Style
F6 Change DIF Format
ESC Exit
USING THE DATE CALCULATOR:
If you press function key F1 or F2 then a reverse video cursor will
appear in the first position of the value field for the corresponding
date at the bottom of the viewing area. You can then type in the
value you wish and press the Enter or RETURN key when you are through
(or press the ESCape key to restore the previous value for the date).
Month literals should be among:
JAN,FEB,MAR,APR,MAY,JUN,JUL,AUG,SEP,OCT,NOV,DEC
Any other values entered will be changed to "JAN". Lower case charac-
ters are automatically changed to upper case when entering these
values. If a value is entered for the day of the month which is
greater than the "legal" number of days in the month, then the month
and day (and year if necessary) will be automatically adjusted accor-
dingly. For example an entered date of "MAR 35, 1987" will be changed
to "APR 04, 1987". Similarly, if a value greater than 12 is entered
for the number of the month, then the month and year (and day value if
necessary) will be adusted accordingly. For example an entered date
of "14-30-1987" will be changed to "03-01-1988".
73
If you press function key F3 then a reverse video cursor will appear
in the first position of the value for the DIF field at the bottom of
the viewing area. The first character must be a + or - (indicating
whether the computed value for DATE2 is to be after or before DATE1).
Press the Enter or RETURN key when you are finished (or press the
ESCape key to restore the previous value for DIF).
When entering any of these values you can use the left and right
cursor control keys to move the cursor and you can use the TAB key to
move quickly to different parts of the field. The cursor automatically
skips over the "filler" characters (such as "-" or ",") so you don't
have to enter these.
If you have changed either DATE1 or DATE2, then the program will
compute and display the day of the week and compute and redisplay the
value of DIF, the difference between the two dates. If you change the
value of DIF, then the program will compute the value of DATE2 which
is the specified interval before or after the current value of DATE1
and will compute and redisplay the DIF between the dates. Note that
in computing date differences the following procedure is used:
The larger of the two dates is determined and the sign of the
difference is set to - if DATE1>DATE2 and + otherwise;
The smaller date is subtracted from the larger, first days, then
months and then years.
On the other hand, when DATE2 is computed from DATE1 the adjustment of
the components of the date are made in the reverse order, first years,
then months and then days. (This is an important distinction and one
which was not followed by an early version of the DATECALC utility.
If the components of DATE2 are computed in days, months, years order
then the computed DIF between DATE1 and the computed DATE2 will some-
times not match the original DIF value entered.)
DISPLAYING A MONTHLY CALENDAR
If you press the F4 key then the middle portion of the viewing area
for the DATECALC utility will be cleared and a calendar will be
displayed for the month of the year containing DATE1. (If instead you
press the SHIFT and F4 keys simultaneously, then the calendar for
DATE2 will be displayed.) Once the calendar is displayed, you can
scroll the calendar backward or forward by months by pressing the left
or right cursor keys respectively. The calendar may also be scrolled
forward or backward by years by pressing the up or down cursor keys
respectively. The calendar display is terminated by pressing the
ESCape key. (Note: if you are currently using "old style" dates then
the calendar will be computed using "old style" rules.)
CHANGING DATE AND DIF FORMATS
Pressing the F5 key causes the DATEs to cycle through the various
formats described previously. Both the literal describing the format
and the values for DATE1 and DATE2 will automatically change. All
dates will be entered and displayed in the currently selected format.
Similarly, if you press the F6 key then the value for DIF will cycle
through the various formats described above. All DIFs will be entered
74
and displayed in the currently selected format.
If you are running DATECALC as a memory resident utility, then the
format for DATEs and DIF will be retained between invocations of the
utility.
CONVERTING BETWEEN "OLD" AND "NEW" STYLE DATES
It is generally well known that the "standard" calendar year of 365
days differs from the "solar" year by an amount that makes it neces-
sary to insert extra days occasionally (as a 29th day in the month of
February) to get back in synch with the sun. The years in which such
days are added are called "leap years". The rule for determining leap
years that has been used in English speaking countries since 1752 (and
from earlier dates in other enlightened areas of the world...in fact
the new calendar is called a "Gregorian" calendar after Pope Gregory
XIII who requested that Catholic countries begin using it in 1582) may
be stated as follows:
A given year will be a leap year if it is evenly divisible by 4
UNLESS the year ends in "00" in which case it is NOT a leap year
UNLESS it is divisible by 400 in which case it IS a leap year.
Prior to the establishment of this leap rule, most of the Western
world employed a rule which was just the first line in the above
statement, that is every fourth year was a leap year. The effect of
using this simplified rule over a long period of time was that the
planting season, which is determined by the sun, would creep a
calendar day earlier every 133 years or so. By the Spring of 1752
people were having to plant their potatoes the day after Groundhog Day
instead of Valentine Day. Therefore to correct the situation all
English subjects were asked to go to bed the evening of 02 SEP 1752,
get up the next morning on 14 SEP 1752, and from that day forward use
the new leap year rule for constructing calendars.
Today this calendar change is just a curiosity for most of us, but to
people of that day and genealogists today who have to deal with dates
both before and after this adjustment it is a problem which has been
recognised by labeling dates based upon the old leap rule as "old
style" dates and designating those following the new rule as "new
style" dates.
The calendar adjustment to "new style" dates occurred at different
times in different countries so rather than just treating all dates
prior to 14 SEP 1752 as "old style" dates, the DATECALC utility pro-
vides an option for converting between the two "styles". Pressing the
SHIFT and F5 keys simultaneously causes the program to shift between
old and new style treatment of dates with a corresponding adjustment
of displayed DATEs and DIF values. When dates are being treated as
"old style" dates the characters "OS" will appear to the right of the
literal describing the current Date format. When the new leap rule is
in effect there is no special indicator to the right of the Date
format descriptor (though genealogists will sometimes use an "NS"
suffix for such dates).
As an example, call up the DATECALC utility, press F1 and enter the
new style date: 22 FEB 1732 (or equivalent for the date format you are
75
using). You will find that George Washington was born on a Friday.
But if you press F4, the "new style" calendar displayed will not be
the one that George's parents used to mark his birth. Instead, press
ESCape (to erase the calendar display) and then SHIFT+F5 to switch to
"old style" dates. You will find that George's birthdate was actually
11 FEB 1732 (still a Friday though) and if you then press F4 you will
see the "old style" calendar that was in effect at the time.
Before ending this discussion, perhaps I should note another distinc-
tion between some old and new style dates. Prior to the implementa-
tion of the new leap rule, the first day of the new year was con-
sidered variously as Jan 1, Mar 1 and Mar 25 (e.g. according to some,
25 MAR 1645 was the day after 24 MAR 1644). This left some ambiguity
concerning the year for such dates as: 11 FEB 1732 OS. Therefore the
custom was developed of using "double dating" to take note of the fact
that this discrepancy had been considered. The above date might then
be written: 11 FEB 1731/2 OS. You should be aware that the DATECALC
utility will always assume JAN 1 to be the first day of the year. You
may even use this to determine the correct double dating for an event.
For example, suppose it is known that a person was born on Saturday,
30 JAN 1691 OS, but it is not known which new year rule was in effect.
The DATECALC program will show that 30 JAN 1691 OS is a Friday but
that 30 JAN 1692 OS is a Saturday. Therefore the correct double-
dating would be: 30 JAN 1691/2 OS and the person who originally
recorded the date was apparently using something other than JAN 1 as
the date for the beginning of the new year.
For those wanting to find out more about various calendar systems I
would recommend your reading the discussions in the books:
"Tracing Your ROOTS" by the editors of Consumer Guide and distri-
buted by Bell Publishing Company, New York (p. 47)
"Ancestry's Guide to Research" by Johni Cerny & Arlene Eakle,
published by Ancestry, Inc., Salt Lake City
76
Appendix E: Logical File Structure diagram
+---------+
! NAME !
! RECORD !
+----+----+
!
+--------+-------+---------+------------+----------+---------+--->
! ! ! ! ! ! !
! ! +-!---+ +--!-----+ ! +--!---+ +--!---+
+---+--+ +---+--+ +--+--+! +---+----+! +----+----+ +---+--+! +---+--+!
!FATHER! !MOTHER! !CHILD!! !MARRIAGE!! !BORN/DIED! ! ADDR !! ! COM !!
! NAME ! ! NAME ! !NAME !+ ! RECORD !+ ! PLACES ! !RECORD!+ !RECORD!+
+------+ +------+ +-----+ +---+----+ +---------+ +---+--+ +------+
! !
! +--!---+
+--------+----------+----------+ +---+--+!
! ! ! ! ! COM !!
! ! +--!----+ +--!---+ !RECORD!+
+---+--+ +---+----+ +---+---+! +---+--+! +------+
!SPOUSE! !MARRIAGE! ! ADDR !! ! COM !!
! NAME ! ! PLACES ! !RECORD !+ !RECORD!+
+------+ +--------+ +---+---+ +------+
!
+--!---+
+---+--+!
! COM !!
!RECORD!+
+------+
>---------+--------------------+--------------------+----------
+---!-----+ +---!-----+ +---!-----+
+----+----+! +----+----+! +----+----+!
! MEDICAL !! !EDUCATION!! ! WORK !!
! RECORD !+ ! RECORD !+ ! RECORD !+
+----+----+ +----+----+ +----+----+
! ! !
+----+----+ +----+----+ +----+----+
! ! ! ! ! !
+--!---+ +--!---+ +--!---+ +--!---+ +--!---+ +--!---+
+---+--+! +---+--+! +---+--+! +---+--+! +---+--+! +---+--+!
! ADDR !! ! COM !! ! ADDR !! ! COM !! ! ADDR !! ! COM !!
!RECORD!+ !RECORD!+ !RECORD!+ !RECORD!+ !RECORD!+ !RECORD!+
+---+--+ +------+ +---+--+ +------+ +---+--+ +------+
! ! !
+--!---+ +--!---+ +--!---+
+---+--+! +---+--+! +---+--+!
! COM !! ! COM !! ! COM !!
!RECORD!+ !RECORD!+ !RECORD!+
+------+ +------+ +------+
77
Appendix F. Responses to Questions
Among the many questions and requests regarding the Family History
System, there are some that have been repeated often enough that they
seem to indicate a general interest, or state of confusion, regarding
the item. In this appendix, I will present some of those queries,
along with my usual response.
1. Can I use my own scheme for ID numbers?
A. Probably not. The FHS Name record ID numbers are simply a
convenient means for uniquely identifying each record. You
should not try to attach any special meaning to them by entering
name records in an order that would cause the ID numbers to have
some "relational" significance. The program automatically
generates relationship identifiers that conform to the most
commonly used schemes, including lineage or "ahnentafel" numbers
for ancestors and "bloodlines" for descendants (which are
essentially the same as the "Henry" system for denoting
descendants) so there is really no need to make the ID numbers
serve that purpose.
2. How do you delete duplicate or unwanted name records?
A. There is no direct means for deleting name records. At first,
I left the option out because I didn't think there would be much
need for it, but as the file update program grew, there just
wasn't room to add instructions for deleting a name record along
with all the "subordinate" information that may be associated
with it. I usually tell someone who has a record that they wish
to delete to manually delete all associated records (marriages,
addresses, comments, etc.), dis-associate any children (by
setting the parent ID to 0), and "space out" the remaining
information in the Name record. The record may then be used to
"add" the next new name to your family file. If there are
several name records to be "deleted" and you don't have any new
names to add, you may want to change the Surname of these
records to something like: (UNUSED). You can then Search for
them the next time you have new names to add. If you accumulate
a large number of (UNUSED) records, you may effectively remove
them by EXPORTing all except the (UNUSED) records and IMPORTing
them back into an empty family file. The Search/Select/LIST
option of the extended system allows you to search for records
with surname "#UNUSED" (which is read: "Not Equal to UNUSED") so
that it is easy to select the desired records for exporting. It
is also best to use the "older format" GEDCOM program in the
extended system for doing the transfer because it will process
all types of information that are allowed in a FHS family file.
3. Should I create separate family files for each of my parents and my
spouse's parents? How can I print reports from several files?
A. Each FHS report can only have information from a single family
file. Therefore I always recommend that all information for
individuals who are linked in any way, whether by marriage or
family relationship, be kept in a single family file. The only
exception would be if the file were so large that it exceeded
the maximum size allowed for the disks you are using (currently
78
3600 name records for 360k diskettes, 7200 records for 720k
diskettes and 9999 records for high density diskettes or a hard
disk). When you reach that point, it is possible to subdivide a
family file, along family lines, into two or more separate
files. (The Search/Select/LIST option and Export/Import option
of the extended system are best suited for doing this.) If the
subdivision is done carefully, you may be able to make each
family file correspond to different "chapters" of a family
history so that you may not need to be so concerned about being
able to include information from multiple files in a single
report.
4. I only have about 2500 names in my family file but my data diskette
is almost full!
A. Name records are each 100 characters so it is possible to have
up to 3600 name records on a 360k diskette. However, birth &
death place records, marriage records, and comment lines each
require a 50 character record in the ".OTH" dataset, and each
address places a 108 character record in the ".ADR" dataset.
Therefore, if you keep all of your datasets on a single
diskette, you will not be able to get the maximum number of name
records into your family file.
If you have two diskette drives, you can ease the situation some
by "splitting" your family file datasets between two data
diskettes. For instance, you may place the ".NAM" dataset on a
diskette which you will keep in the "B" drive and place the
".ADR" and ".OTH" datasets on a second diskette which will share
time in the "A" drive with the program diskette. The program
diskette is required only when you are starting the system and
when you are going back and forth between the Main Menu and the
option processing programs. At all other times, you may remove
it and replace it by a data diskette. If you do this, then you
should always wait until you are prompted to replace the program
diskette when you are returning to the Main Menu. This assures
that your family file is properly "closed" and all updates
written before you remove the data diskette.
By following this procedure of employing two diskettes for your
family file, you should be able to approach the maximum number
of name records for your family file on the size diskettes that
you are using.
5. Can an address be automatically attached to more than one name?
A. The only way of associating a single address record with more
than one name is by placing the address under a marriage record.
Such addresses are treated as a "residence" of each spouse and
will appear as a residence in the family group report for either
spouse. Some persons have asked about having a parent's address
associated with the children and I have given some thought to it
but I don't have any plans for doing that in the near future.
6. Can the addresses and phone numbers be made more flexible?
A. The inflexible address and phone number format is undoubtedly
the most commonly expressed lament of users outside the U.S. I
79
hadn't anticipated the amount of interest in these programs that
would come from other countries (currently about 30-40% of all
registrations come from outside the U.S.) or I would have given
more thought to this aspect of the file design. I do intend to
make changes in this area but it will probably be part of a
general redesign of the FHS family file format. That is a
process that I expect will take at least 2 years to complete.
7. What about Baptismal and Burial information?
A. I originally intended to make Baptismal information part of a
separate "Religious information" record, and provided a separate
"pointer" field to support it, but could never decide just what
other information should go into that record. Eventually there
just wasn't enough room left in the file update program to
implement another record format. When I do get around to
"reworking" the FHS file design (see the "Answer" to the
previous question), baptismal and burial information will be
given special consideration. In the meantime, the name record
comment area is the place to put those details. In the new
"free form" reports these comments appear as a more "natural"
extension of the name record so that the baptismal and burial
information "almost look like" they are part of the file design.
8. Can I incorporate "note files", created by my word processor, into
FHS reports?
A. No. Only information from your FHS family file, or generated by
the programs (such as lineage numbers and "bloodlines") can
appear in the FHS reports.
9. The Comment area is too limited!
A. It is true that the routine for entering comments is rather
"primitive" and the area for entering comments appears rather
small, but it is possible to include rather extensive notes with
this facility. Some persons have the impression that only 9
short lines of comments can be entered, however when the comment
viewing area is "full", you can press the PGDN key to continue
entering additional remarks. The "theoretical limit" for these
notes is about 32000 of those 38 character lines. That would be
roughly 200,000 words. The "practical limit" is much less than
that, although it still allows for fairly extensive notes.
Each comment line is held in a single record of the ".OTH"
dataset of your family file and the ".OTH" dataset can have up
to 32000 records. But that dataset also holds Marriage records,
Birth/Death and Marriage Places, Education, Medical, Military
and Occupation information, and these also contribute to that
maximum of 32000 records. I've yet to come across anyone who is
nearing this limit, although several persons have mentioned
approaching the 9999 name record limit.
10.Is it possible to increase the Name limit beyond 9999?
A. When I originally began working on these programs, I thought
that the 9999 name record limit would not be much of a problem.
In fact, I still believe that it will prove sufficient for a
very large majority of FHS users. In recent months I have had
several people express concern about reaching it though,
80
including one person in England who was using the programs for
maintaining a file of pedigrees for dogs. Actually, the design
of the name file allows for up to 32000 records. The number
9999 comes from allowing only 4 digits for ID numbers in the
screen displays and on reports. Extending the limit to 32000 is
not quite as simple as increasing the number of digits for ID
numbers however. Some of the system's routines for building
relationship tables take advantage of the fact that no ID number
can be bigger than 16000...those routines would have to be
carefully evaluated and probably rewritten. Another consider-
ation is the limited size of the ".OTH" file, mentioned in the
response to the previous question. Increasing the maximum size
of the Name file without a corresponding increase in size of the
".OTH" file would likely lead to another set of problems. The
"long term solution" would be to make an increase in these
limits part of the general file redesign mentioned previously.
I'm not sure right now whether there will be any other "interim"
solution.
11.Are there versions of the Family History System for other types of
equipment (besides those compatible with the IBM family of PC's)?
A. No, and I don't expect that I will ever have time to work on
versions for any other equipment. There are some ways of making
programs written for the MSDOS world run on other machines. I
have heard of users who have run the programs using "emulator"
software (and/or hardware) for the Atari, and there may be such
"setups" for the Apple or Amiga as well. There is usually a
"performance penalty" to be paid though. It is almost always
best to have software that is designed for the equipment on
which it is being run. With the growing number of genealogy
programs supporting the GEDCOM format for data sharing, it is
likely that one can be found for those other environments as
well. In that case, you can at least be "data conversant" with
your friends who are using other equipment, even though you may
not be using the same software.
12.Are there versions of Family History System for other languages?
A. Actually, I have received copies of the system that have been
modified to provide screen displays and/or reports in German and
Dutch and have heard of similar modifications in Swedish. None
of these are supported by me though, and you may not receive
the system extensions in these other languages. In recognition
of the interest in these programs in countries where English (or
"American") is not the native language, I do have plans for
enhancements that would at least provide for customizing reports
so that the report headings and field labels could be easily
tailored for different languages. This will be my primary goal
for the next FHS update. If all goes well (and it seldom does)
this should be ready late in 1990 or early 1991. When I do get
around to redesigning the FHS file format, it will likely be
part of an extensive rewrite of the entire system. At that time
I will give consideration to making the screen displays
"customizable" as well so that it may be possible to provide
both programs and reports (though not documentation) in "multi-
lingual" versions.
81
FAMILY HISTORY SYSTEM
View Document Procedure
This Procedure for VIEWing the Family History System documentation files
uses a utility program which permits you to scroll forward and backward
through each document before continuing to the next one.
You control the action of the program using the PC's special function keys
as follows: PGDN advances down the document by one screen
PGUP moves back up the document by one screen
DN Cursor advances down the document by one line
UP Cursor moves back up the document by one line
ESC ends the viewing of the document
and advances to the next when viewing several
in succession
FAMILY HISTORY SYSTEM
Contents of Distribution Diskettes
for Basic Set of Programs
Contents of FHS Distribution Diskette B1
FHSDISK.B1 Identification File
README "Bootstrap" Document
GO.BAT Orientation procedure
INTRO.DOC Description of Software
COPYRITE.DOC Copyright Statement
OPTIONS.DOC Description of GO Procedure Options
CONTENTS.DOC This Document
VERSIONS.DOC Description of Versions of FHS from 1985 to March 1990
MANUAL.DOC Description of Documentation
BROWSE.DOC Using the BROWSE Utility
PRINT.DOC Preparing to Print Manual
REGISTER.DOC How to Register and Why
REGFORM.DOC FHS Registration/Software Order Form
INSTALL.DOC Instructions for Creating Working Copy of Programs
INSTALL.BAT Procedure for GO INSTALLing the programs
FDINSTAL.BAT Procedure for GO INSTALLing the programs on Diskettes
HDINSTAL.BAT Procedure for GO INSTALLing the programs on a Hard Disk
BROWSE.COM Utility for VIEWing long Documents
SAMPLE.DOC Description of some sample FHS family files
The Following Files contain the Manual for the Basic FHS Programs
SECTION1.DOC Table of Contents and Introduction
SECTION2.DOC Getting Started
SECTION3.DOC Family History System Design
SECTION4.DOC Family History System Files and Datasets
SECTION5.DOC Report Descriptions
SECTION6.DOC Pointer Validation Program
SECTION7.DOC Export/Import Programs
APENDIXA.DOC Extended Options for Registered Users
APENDIXB.DOC Recording information for entry into the system
APENDIXC.DOC Adoptive Relationships & Date Status Fields
APENDIXD.DOC DATECALC, a Memory Resident Date Calculator
APENDIXE.DOC Logical File Record Structure Diagram
APENDIXF.DOC Responses to Frequently Asked Questions
-----------------------------------------------------------------------------
Contents of FHS Distribution Diskette B2
FHSDISK.B2 Identification File
FAMINIT.EXE FHS Initialization Program
FAMMENU.EXE Main Menu Program
FAMFILES.EXE Maintain File Name Table
FAMSCRNA.EXE Maintain Screen Color Table and Error Tone
FAMPRNTC.EXE Maintain Printer Control Tables
FAMVALID.EXE File Validation Utility
PAFGEDCM.EXE GEDCOM Export/Import Program
DATECALC.COM Memory Resident DATE Calculator
BRUN30.EXE Runtime Library for QuickBASIC 3.0
(C) Copyright 1986,1987 by Microsoft Corp.
PKUNZIP.EXE Program for Expanding FHS Sample Files
(C) Copyright 1989 by PKWARE Inc.
GENESIS.ZIP Compressed FHS Sample File (Adam's Family)
ROYAL.ZIP Compressed FHS Sample File (Prince Charles' Family)
------------------------------------------------------------------------------
Contents of FHS Distribution Diskette B3
FHSDISK.B3 Identification File
FAMILY.EXE File Update Program
FAMRELAT.EXE Ancestor/Descendant/Relative Report Program
FAMGROUP.EXE Family Group Worksheet Program
FAMFFGRP.EXE "Free Form" Family Group Report Program
FAMCHART.EXE Ancestor Chart Program
FAMDESCH.EXE Descendant Chart Program
FAMEXORG.EXE ORGCHART Export Program
-----------------------------------------------------------------------------
If you would like a printed copy of this document, enter: GO PRINT CONTENTS
FAMILY HISTORY SYSTEM
Copyright Notice
Although all programs on these diskettes are copyrighted by the author, you
are permitted to make unlimited copies of these programs for your own use.
Further, you are authorized, even encouraged, to share this system with
others, provided you only supply them with a complete copy of the
distribution diskettes as you received them (use the DOS DISKCOPY command).
You may not request payment for such copies beyond the cost of media,
postage and handling unless given permission in writing by the author.
These programs are being provided for your use without any request or
implied obligation for payment. Those of you who do find them useful and
want to receive the additional system options that are available should
consider registering your use of the system as described elsewhere in this
orientation procedure (enter: A>GO REGISTER).
All programs on this diskette (C) Copyright 1985-1990 by Phillip E. Brown
Disk No: 361
Disk Title: Family History 1 of 3 (also 632, 2291) (Disk 1 of 2)
PC-SIG Version: S2.4
Program Title: FAMILY HISTORY SYSTEM
Author Version: 07/90
Author Registration: $35.00
Special Requirements: None.
Ever wonder who's lurking in the upper branches of your family tree?
The FAMILY HISTORY system, a modular genealogy program, will help you
organize and refine your search.
The system stores information about individuals, including all family
relationships. You are not limited in the number of relationships that
might exist for each individual, or the number of generations of
ancestors or descendants. Information for up to 3200 individuals may
be stored on a diskette and up to 9999 on a hard disk. You can produce
ancestor, descendant, relative, and family group reports and ancestor
(tree) charts. You may print out blank worksheets and charts to record
information for entry into the system. Sample files are included for
the descendants of Adam (as recorded in Genesis) and the family of
Prince Charles. A GEDCOM export/import program permits sharing
information with other genealogy software.
Research your roots and know where you came from. A great gift for the
next generation.
PC-SIG
1030D East Duane Avenue
Sunnyvale Ca. 94086
(408) 730-9291
(c) Copyright 1989 PC-SIG, Inc.
FAMILY HISTORY SYSTEM
Installation Procedure for
Basic Set of Programs
Before beginning this INSTALL procedure, you should first make sure that you
have all the diskettes that make up the public portion of the Family History
System software. You should have three 5 1/4" (360k) diskettes or two 3 1/2
(720k) diskettes. During the INSTALL procedure, the 5 1/4" diskettes will
be referred to as "B1", "B2" and "B3", or the 3 1/2" diskettes will be
referred to as "B1" and "B2". If your diskettes are not labeled this way,
you should mark them properly before beginning the INSTALL procedure. To
determine the proper Identification for a diskette, place the diskette in
your A drive and enter: dir a:/p
The "B1" diskette will have a file named "FHSDISK.B1" on it. Similarly, the
"B2" diskette will have a file: "FHSDISK.B2" and the "B3" diskette will have
a file named "FHSDISK.B3". In the following description, I will refer to
these diskettes as the Family History System "distribution diskettes"
because that is how they are "distributed" or "sent out" by me.
(NOTE to Registered Users: If you are installing the complete set of
Family History System programs, you should have two additional 5 1/4"
diskettes or one additional 3 1/2" diskette. These will be labeled "X1"
and "X2" for 5 1/4" or just "X1" for 3 1/2". You should place the X1
diskette in your A drive and enter: A:GO INSTALL
to receive instructions for installing the complete set of programs. The
remaining instructions in this document are for those who are just working
with the public version of the system.)
The distribution diskettes for the Family History System contain many files
that are not used during the normal operation of the system. The purpose of
this procedure is to prepare a "working copy" of those files that are
required for you to create, maintain and process files of information about
your own Family.
If you are planning to run the system from diskettes you will first have to
format one or two diskettes to hold this working copy of the programs. One
diskette should be labeled the STARTUP diskette. To prepare it, place your
DOS diskette, which has the FORMAT command, in the "A" drive of your PC, the
STARTUP diskette in the "B" drive and enter the following command:
A>FORMAT B:/s
If you are using 360k diskettes, you will need a second diskette which
should be labeled the REPORT diskette. After preparing the STARTUP diskette
place the REPORT diskette in the "B" drive and enter the command:
A>FORMAT B: (leave off the "/S" this time)
WARNING: any form of the FORMAT command will destroy all contents of the
diskette which is placed in the "B" drive, so make sure the one you use
does not have anything on it that you wish to save.
If you are planning to run the programs from a HARD DISK, the INSTALL
procedure will create a FAMILY sub-directory on your hard disk and copy
all program files to it. An FHS.BAT file will be created in the main
directory of your hard disk to assist you in starting the programs.
When you have completed this preparation and are ready for installation
to begin, place the Family History System "B1" diskette in drive "A" and
enter:
A:GO INSTALL xx y
where: xx = 2D if installing on two 360k floppy diskettes
= 1D if installing on a 720k (or greater) capacity diskette
= HD if installing on a hard disk
and y = the drive identifier (B,C,D,...) for the hard disk drive
or floppy drive on which the working copy of the programs
or the sample files is to be created.
SOME NOTES ABOUT THE INSTALL PROCESS:
1. The INSTALL procedure requires that the distribution diskettes be
compatible with the "A" drive of your PC. If the diskettes you
received are not compatible with your "A" drive, but instead are
on diskettes for your "B" drive, you can still install the
programs on a hard drive by using the DOS ASSIGN command to redirect
all requests for the "A" drive to the "B" drive. The command for
doing this is: C>assign a b
Following this command, your "B" drive will be treated as the "A"
drive (as well as the "B" drive). You may then continue with the
INSTALL procedure described above. After the installation is
complete, you will want to immediately restore the drives to their
normal identification by entering: C>assign
2. If you are upgrading from an earlier version of this software, you
may continue working with all your family files just as before. No
conversion process is required. If you have made any changes to the
default file name tables, screen colors, or printer control tables,
you may transfer those changes to the new program diskettes by
copying the FAMILY.DAT file from your previous program diskette to
the STARTUP diskette. If you are re-installing the programs on a
hard disk, your FAMILY.DAT file will not be affected so your changes
to these default values will be retained throughout the INSTALL
process.
--------------------------------------------------------------------------
Enter: GO PRINT INSTALL
to receive a printed copy of these instructions.
FAMILY HISTORY SYSTEM
July 1990 Update
These programs were written to provide a simple means for maintaining files
of information concerning related individuals and for producing standard
types of genealogical reports from information in those files.
Reports produced by the system include: Ancestor, Descendant & Relative lists,
Family Group Reports, Descendant Charts, and complete sets of Ancestor (tree)
Charts. No limits are placed on the numbers of generations or relationships
stored in the files and information for up to 3500 individuals may be stored
on a 360K diskette (or up to 9999 individuals on a high density diskette or
hard disk).
Requirements for running the programs on these diskettes are:
an IBM-PC,PCjr,XT,AT or compatible; 256k RAM; at least one disk drive;
an 80 column monitor; and DOS 2.0 or later.
A printer is not required for creating family files or for displaying
information in a file.
These programs were compiled with Microsoft QuickBASIC 3.0. There is another
(very slow) version which will run on a PCjr with as little as 128k using the
PCjr Cartridge Basic.
FAMILY HISTORY SYSTEM
DOCUMENTATION
Documentation for the Family History System consists of a 81 page manual.
You may VIEW or PRINT this document in whole or in part by entering:
A>GO VIEW xxxxxx to view on the screen
or A>GO PRINT xxxxx to print on LPT1:
where xxxxx is one of the following: (with indication of content)
MANUAL - to view or print the entire manual
SECTION1 - Table of Contents and Introduction
SECTION2 - Getting Started
SECTION3 - Family History System design
SECTION4 - Family History System Files and Datasets
SECTION5 - Report Descriptions
SECTION6 - Pointer Validation Program
SECTION7 - Export/Import Programs
APENDIXA - Extended Options for Registered Users
APENDIXB - Filling out Family Group Worksheets
APENDIXC - Note on Adoptive Relationships and Date Status fields
APENDIXD - DATECALC, a Memory Resident Date Calculator
APENDIXE - Diagram of Family file record structure
APENDIXF - Responses to Frequent Questions
FAMILY HISTORY SYSTEM
GO Options
Options available to you using the GO command are:
GO to see a description of the Family History System
GO OPTIONS to see this list of OPTIONS
GO CONTENTS to see a description of this diskette's CONTENTS
GO VERSIONS to see list of changes to previous VERSIONS of this system
GO SAMPLE for a description of some FHS sample files
GO MANUAL to see a description of Family System documentation
GO VIEW x..x to display all or part of manual on the screen
GO PRINT x..x to print all or part of the manual on an attached printer
GO INSTALL to find out how to create a working copy of the programs
GO REGISTER to find out about other system functions available
NOTE: All "parameters" supplied to the GO procedure must be in CAPS.
All commands must be entered with the Family History System
distribution diskette in the "A" drive.
FAMILY HISTORY SYSTEM
Print Document Procedure
Before beginning the printing of this document, you should make sure that
your printer is set at the top of forms.
Make sure your printer has enough paper to print the parts of the document
you have requested. The following table indicates the (approx) number of
pages contained in each part of the manual.
SECTION1 (5); SECTION2 (13); SECTION3 (10); SECTION4 (3); SECTION5(17);
SECTION6 (6); SECTION7 (8)
APENDIXA (2); APENDIXB (3); APENDIXC (2); APENDIXD (5); APENDIXE (1);
APENDIXF (3)
FAMILY HISTORY SYSTEM
Registration/Software Order Form
The Family History System only runs on equipment that is compatible
with the IBM family of personal computers. Other requirements are:
at least 256k RAM, one diskette drive, an 80 column monitor,
and PC/MSDOS 2.1 or later.
___ $12.00 Update to Public Version of Family History System only
(3-5 1/4" or 2-3 1/2" diskettes)
___ $ 2.00 Demo Copy of Shareware ORGCHART Program
(This program requires separate registration with its
author, Jerming Lee. Details are on the diskette.)
___ $35.00 FHS Registration (5-5 1/4" or 3-3 1/2" diskettes)
(The Public version of programs is included in package)
NOTE: All documentation (81 page + 43 page manuals) is
VIEWed or PRINTed from the diskettes that you receive.
Although you may share copies of the public version of
the programs that you receive, the programs that are
on the Extensions diskette(s) may only be used by
you and members of your immediate family. You will be
notified of major updates to the system. Currently, a
$15.00 fee is required at the time that you order an
update. All updates are cumulative.
Disk Format: ___ 5 1/4" (360k) ___ 3 1/2" (720k)
(The format you choose should be compatible with the
"A" drive of the PC on which they will be INSTALLed.)
NAME: _____________________________ +--------------------------+
ADDRESS: __________________________ ! Send all requests to: !
_____________________________ ! Phillip E. Brown !
_____________________________ ! 834 Bahama Drive !
CITY: _____________________________ ! Tallahassee, Fla !
STATE/PROVINCE: ___________________ ! 32311 !
ZIP/POSTAL CODE: __________________ +--------------------------+
COUNTRY: __________________________
I cannot process charge card orders.
Payment for orders outside the U.S. should be made in U.S. funds
with a Bank Check or International Money Order drawn against a bank
with a branch address in the U.S. At this time there is no added
fee for Air Mail postage to locations outside the U.S.
FAMILY HISTORY SYSTEM
Registration Information
The programs provided on this diskette are made available for you to use
without any obligation for payment to the author. Many people should find
the functions provided by this basic system to be completely adequate for
organizing and maintaining a record of their family's history. However,
there are now several extensions to the system that you may find useful.
These extensions to the Family History System will only be available to
persons who have registered their use of the system by sending $35.00 to:
Phillip E. Brown
834 Bahama Drive
Tallahassee, Fla. 32311
Registered users will receive the latest version of all the programs and
will be notified of subsequent major updates to the system.
The following enhancements are now available for registered users:
1. a program for creating sorted indexes for the NAME file (based upon
combinations of: Surname, Given name, Birth & Death dates, most
recent marriage date, Sex and ID);
this program can also create an index in which the individuals in
an ancestor/descendant/relative work file are in "relationship"
sequence...that is, the order they would appear in an ancestor,
descendant or relative report. Such an index is useful for
printing a merged family group report in relationship sequence;
2. a program for producing printed indexes for ancestor, descendant,
relative and family group reports, descendant charts, and for
ancestor charts and maps;
3. a program for searching the family files on criteria similar to
the search option of the maintenance program (Search options
include soundex searches on names and places.); this program also
produces listings of information for selected individuals
(including addresses, comments, and relationship) in indexed or
ID# sequence.
4. an option for producing Summary Reports; these include a Surname
Summary report, Ancestor and Descendant generation level summary
reports, and a Relative "table".
5. a relationship calculator;
6. an export option for creating a MailMerge format address file;
7. an additional GEDCOM export/import program that allows you to
transfer all types of information between FHS family files.
There is a separate 40+ page manual describing the operation of these extended
options. It is printed from the Extensions diskette(s).
If you do decide to register, you should designate what format diskettes you
wish to receive: 5 1/4" (360k) or 3 1/2" (720k). The format you choose
should be compatible with the "A" drive of the PC that will be used to INSTALL
the programs.
As a registered user, you will be notified of future major enhancements. I
do ask a $15.00 fee when you order updates after the initial registration
packet. All updates are cumulative, so if you decide not to order one, you
will still receive all enhancements to date with an order for a later update.
At this time I do not ask any additional fee for postage to locations outside
the U.S. I do request that payments for registration or updates from
outside the U.S. be made with a money order or bank check drawn against a
bank with a branch address in the U.S.
-------------------------------------
Enter: GO PRINT REGISTER to print a copy of this document
Enter: GO PRINT REGFORM to print a Registration/Software Order form
Family History System
Sample Files
To help you become familiar with the Family History System report
options without having to enter a great deal of data, there are two
FHS sample files that have been placed on these diskettes. They are
in datasets: GENESIS.NAM, GENESIS.ADR, GENESIS.OTH
and ROYAL.NAM, ROYAL.ADR, ROYAL.OTH.
The GENESIS file contains information for 24 generations of descen-
dants of ADAM as recorded in the book of GENESIS in the Bible. I
created this file during the early stages of work on these programs,
to test their capacity for handling very long family lines. The
birthyears were estimated by accumulating the ages recorded there and
the birth places simply indicate the scripture verse in which the
individual was first mentioned.
While the GENESIS file may be interesting, because of its source, the
lines of descendancy and ancestry do not show much "branching". The
second family file, ROYAL.*, has a much more interesting pattern of
relationships. That file was created by a FHS user and records the
ancestry of Prince Charles of England (ID #1). It has 39 generations
of ancestry for him, which results in quite an ancestor Map. (This
Map does require that you print it in two "strips", using the printer
OFFSET parameter.) Unfortunately, it also hilites the occasional
inadequacy of the FHS name fields, especially when used for recording
title information.
You should copy these family files to a separate data diskette (or
into the FAMILY directory of your hard disk) rather than try to use
them directly from the distribution diskettes. If you are going to
place the files on your hard drive (assumed here to be drive C), then
you should:
Place the B2 diskette in your A drive and enter:
A>PKUNZIP GENESIS C:\FAMILY
and: A>PKUNZIP ROYAL C:\FAMILY
If you wish to move the files to another diskette, then format a
blank diskette and place it in the B drive of your PC.
Then place the B2 diskette in your A drive and enter:
A>PKUNZIP GENESIS B:
and: A>PKUNZIP ROYAL B:
When you start a family session to try out these files, use Main Menu
option F3-A to change the file name table to point to the right drive
and file name.
Family History System
Manual For the Basic Set of Programs
CONTENTS
I. Introduction................................................1
Note to New Users...........................................2
Note to Former Users........................................2
Note to Users of Other Genealogy Software...................2
II. Getting Started
A.Creating working copies of the programs...................4
B.Beginning a Family History System work session............5
1.MAIN MENU program, EXITing from the system..............5
2 Setting the DATE, TIME and Default DATE Format..........6
3.Setting default system parameters.......................7
4.Creating a set of Family files..........................7
a.Adding a Name Record to the File......................9
b.Creating a Marriage or Family Record.................11
c.Maintaining Address Information......................13
d.Listing CHILDREN of an Individual or Marriage........13
e.Climbing Ancestor Trees..............................14
f.Searching the Name Records on File...................14
C.Importance of `backing up' system files..................15
III. Family History System design
A.Use of Fixed Formatted screen displays...................17
B.Modular design, switching between programs...............17
C.System MESSAGES (use of ellipsis)........................17
D.Use of FUNCTION keys.....................................17
E.Use of ESCAPE key........................................18
F.Full Screen mode of data update..........................18
1.Updating screen displays (other than comments).........19
2.Updating Comment display...............................19
NOTE:Concerning the Formatting of Comments in Reports....21
G.Segmented Screen in File Maintenance Program.............21
H.Changing the Screen Attribute Table & Error Tone.........22
Color/Monochrome support, setting default values
Changing frequency and duration of the Error Tone........24
I.Use of Printer Setup Table...............................24
1.Printer control codes
2.Form size
3.Multiple printer SETUP tables
4.Standard Setup tables
J.File Name Table..........................................25
1.Use of multiple disk drives
2.Use of RAM disk
IV. Family History System Files and Datasets...................27
A. FHS Family File.........................................27
B. Report Program WORK Datasets............................29
Ancestor/Descendant/Relative WRK Files
Select WRK Files
Reference WRK Files
INDEX Files
1
V. Report Descriptions
A. Definitions.............................................30
B. Report Descriptions
..Fixed Format vs. Free Format..........................32
..Report Option Menus...................................32
..Other Report Options..................................32
..Pausing and Cancelling the Printing of Reports........33
1.Ancestor Report.......................................33
Ancestor/Descendant/Relative Report Options Menu......34
2.Descendant Report.....................................35
3.Relative Report.......................................36
4.Family Group Report...................................38
a.Identifying Group Reports to be Printed.............40
b.Printing Family Group Reports.......................41
5.Ancestor Charts.......................................44
4 Generation Charts
All Generation Map
6.Descendant Charts.....................................45
C.Report Program Parameters................................49
VI. Validating System Maintained "Pointer" Information.........51
VII. Export/Import Utilities....................................57
A.GEDCOM Export/Import Program.............................57
..Version 2.0 and 2.1....................................58
1.Program Operation......................................58
2.Changing the Table of Information to Process...........59
3.Exporting Data from your Family file...................59
4.Importing Information into your Family file............61
5.Producing listings of Exported Data....................63
B.ORGCHART Export Progrm...................................63
Appendix A. Extended Options for Registered Users..............65
Appendix B. Recording information for Entry into the system....67
Appendix C. Date Status Fields and Adoptive Relationships......70
Appendix D. DATECALC, a RAM Resident Date Calculator...........72
Appendix E. Logical File Record structure diagram..............77
Appendix F. Answers to some frequently asked questions.........78
(C) Copyright 1985,1986,1987,1988,1990 by Phillip E. Brown
2
I. Introduction
I want to thank you for choosing the "Family History System" for
organising and reporting the results of your research into your own
family history. Although I first began work on these programs for the
purpose of "computerising" the information in a family booklet
prepared by a distant cousin of mine, I have been pleased to find that
this software has proven useful to so many others with similar
interests.
Using this software, you will be able to build one or more "family
files", each of which may have information for up to 9999 individuals
recorded in it. (Each file is limited to the size of the disk(s) on
which it resides. On 360k, 5 1/4" floppies a file may have up to 3600
names, on 720k 3 1/2" diskettes a file may have up to 7200 names.)
Provision is made for recording family relationships as well as names,
dates and places. No limits are placed on the number of relationships
that may exist for each individual or for the number of generations of
ancestors or descendants that may be recorded.
The basic system produces Ancestor, Descendant, Relative and Family
Group reports, Ancestor (tree) Charts and Descendant Charts. Blank
worksheets and charts may be produced to record information for entry
into the system.
Requirements for running these programs are:
1. an IBM PC, PCjr, PC XT, AT, PS/2 or compatible computer
2. at least 1 diskette drive
3. an 80 column monitor
4. at least 256k of RAM memory
5. Dos 2.0 or later
A printer is recommended for making full use of the system but is not
required for creating, maintaining or displaying information in the
system files.
For users of the PCjr who have only 128k of RAM installed, there is a
version of the program which runs on that machine using Cartridge
BASIC. It is very slow, but provides all the capabilities of the
system with that configuration.
These programs are being made available for general use and unmodified
copies of the distribution diskettes (the diskettes on which you
received the programs) may be freely shared with others. No fee may
be charged for such copies beyond that required to cover the expense
of media, postage and handling incurred in producing them unless
written permission is given by the author.
Those who find these programs useful and would like to receive
additional options may become `registered' users by sending $35.00 to:
Phillip E. Brown
834 Bahama Drive
Tallahassee, Fla. 32311
Registered users will receive the most recent update to the extended
1
system and will be notified of future major updates as they become
available. Please see Appendix A at the end of this manual for a
description of the enhancements that are currently available among the
system extensions.
A NOTE ESPECIALLY FOR NEW USERS
While I have tried to make these programs as easy to use as possible
without reducing the available options, the on-screen help is limited
to brief menus of program functions. Therefore, I hope you will come
to this manual often to try to clear up any questions you may have
about the programs' operation. I realize that this is not the
"tutorial" type of instruction booklet that many would like, but I
have tried to include descriptions of every aspect of the operation of
the programs.
A NOTE FOR USERS OF EARLIER VERSIONS OF "Family History System"
Those of you who may be upgrading from an earlier version of the
programs should be interested in knowing that, during the 5 years
that the system has been distributed publicly, there have been no
changes to the file format that affect your being able to use your
existing "Family History System" data files with the programs in this
update. After installing these programs, you should be able to
continue working with your previous family files just as before.
There were, however, errors in some earlier versions of the file
update program that may have caused problems involving program
maintained information that "connects" the various pieces of an
individual's record together. There is now a utility program (the
"validation" option) which can help you to locate and correct any such
program generated file errors, as well as errors that may have
resulted from a prematurely interrupted file update session. I
encourage you to review Section VI of this manual describing that
option.
For those who have been using the "Sept 88" version of the programs,
the parts of the manual to which you should pay particular attention
are Section V.B, especially regarding the new "free form" reports and
report option Menus and Descendant Charts, and Section VII.B,
describing the new ORGCHART export option. The new Appendix F may be
of interest too.
A NOTE FOR USERS OF OTHER GENEALOGICAL SOFTWARE
If you have information stored in files prepared by other genealogical
software, you may be able to transfer much of that information into a
FHS family file without having to "rekey" any of it. This set of
programs includes a utility program that makes use of the GEDCOM
format for transfer of genealogical information. If the software that
was used to prepare your other files also supports that format, and
many of today's most popular programs do, you may be able to EXPORT
information from those files and IMPORT them into a FHS file. Please
read Section VII.A below for more information about the GEDCOM
utility.
2
-----------------
Although this public version of the 'Family History System' is the
foundation for the extended system that is sent to registered users, I
have tried in the past to avoid any references to those extended
options in these programs so that those who do not wish to register
will not feel that they are using an incomplete set of programs.
However, in the past two updates, in an attempt to extend the
usefulness of the indexing features of the registered version, I have
been forced to include, within these programs, options that only have
significance for those who have the extended system. In particular,
the ability to print family group reports in INDEXed sequence, and the
optional creation of REFERENCE work files for the printing of report
indexes are either unavailable or of no use to unregistered users.
I believe that most people will still find this basic set of programs
to be an excellent tool for recording and reporting their Family
History.
-----------------
While I have encountered (and corrected) a number of errors during my
use of the system, there are no doubt errors remaining in some of the
programs, hopefully none serious. If you should find any, I would
appreciate very much your sending a description of the problem to me
at the address shown on the previous page so that I may try to correct
it.
Good luck in tracing your `roots'.
All Programs (C) Copyright 1985-1990 by Phillip E. Brown
3
II. Getting Started.
A. Creating working copies of the programs
The basic set of programs in the Family History System is distributed
on three 5 1/4" diskettes or two 3 1/2" diskette. The diskettes
should be labeled B1, B2 (and B3) for identification purposes during
the installation of the programs. If your diskettes do not have
external labels marked in this way, you may identify the diskettes by
the following:
Place a diskette in the A drive and enter: A>dir A:
the B1 diskette will have a file named: FHSDISK.B1
the B2 diskette will have a file named: FHSDISK.B2
and the B3 diskette will have a file named: FHSDISK.B3
The B1 diskette has an "orientation" procedure that may be started by
placing the diskette in the "A" drive of your PC and entering: A:GO
This 80+ page manual can be printed from files on the diskette by
entering the command: A:GO PRINT MANUAL
The "GO" procedure requires that the B1 diskette be in the "A" drive
of your PC. If you have received the diskettes in a format that is
not compatible with your "A" drive, you may still be able to use this
procedure by employing the DOS ASSIGN command. For example, suppose
you have received the programs on 5 1/4" diskettes but you have a
3 1/2" A drive and a 5 1/4" B drive. If you enter: ASSIGN A B
and place the B1 diskette in the B drive, you may use the GO procedure
to print the manual and install the programs on a hard disk. After
finishing those tasks, you will want to "undo" the reassignment of
drives by simply entering: ASSIGN
which will return all drive assignments to normal.
These "distribution" diskettes contain many files which are not
required during the normal operation of the system. For instructions
on how to create a working copy of the programs, without those
unnecessary files, place the B1 diskette in drive "A" and enter:
A:GO INSTALL
Instructions are provided for installing the programs on either floppy
diskettes or a hard disk. For example, you will be instructed to
enter: A:GO INSTALL 2D B to install the programs on 2 360k disks
or A:GO INSTALL 1D B to install the programs on 1 diskette
with capacity >= 720k
or A:GO INSTALL HD C to install the programs on hard disk
drive "C"
Those running the programs from 360k, 5 1/4" floppy diskettes should
note that two program diskettes are now required (a STARTUP and a
REPORT Program diskette). During an FHS working session it will be
necessary for you to change program diskettes when some options are
selected from the Main Menu.
If you are installing the programs on a hard disk, they will be placed
in a FAMILY sub-directory of the hard disk. If you are reinstalling
the programs, they will simply replace the existing programs in the
FAMILY sub-directory.
4
After installing the programs on diskette(s), you may start the system
by placing the STARTUP program diskette in drive "A" and entering:
A>fhs or A>faminit
If the programs are installed on a hard disk, you will start the
system by entering: C>fhs
or by entering: C>cd \family
and C>faminit
On the PCjr, the BASIC language cartridge must be installed in one of
the cartridge slots when using the "interpreted" or uncompiled version
of the programs.
B. Beginning a Family History System work session
When starting the Family History System, the screen will be cleared
and reformatted with the system's `introductory panel'. This panel,
which shows the `update' of the program diskette that you are using,
will only appear for a few seconds, after which the MAIN MENU of
system options will appear.
1. MAIN MENU Program
Besides being the first functioning panel that you will see when
entering the system, the MAIN MENU provides the only `authorized' and
`safe' means of exiting the system (by pressing F10). You are never
far from the MAIN MENU. It can be reached from any of the programs in
the system by pressing the `F9' key.
The purpose of the MAIN MENU is to permit you to easily select the
system function that you wish to perform. These functions include:
1. F1 - Display/Update/Create Family History System files
2. F2 - Produce Reports
3. F3 - Utility Functions
4. F4 - Set current DATE, TIME and DATE Format
5. F8 - Execute DOS Commands (DOS 3.0 or later)
6. F10- Exit from the system (Return to DOS)
The system functions are selected by pressing the indicated `function
key'. If any other key is pressed, a soft tone is sounded and nothing
else happens. When a `legal' key is pressed, the corresponding func-
tion key designator, next to the function description on the screen,
will be hilited. If you have selected a function, such as F2, that
has several options to choose from, you will be prompted to enter a
character corresponding to the one you wish to select.
When you have fully described the system function you wish to perform,
the program which performs that function will be read from the program
diskette and given control. If the program cannot be read from the
diskette (for example, if the correct program diskette is not in the
`default' drive, or the drive door is open, or the program diskette is
for some other reason unreadable), the message:
"Put Program diskette in default drive..."
5
will appear on the bottom line of the screen. If you are able to
determine the reason for the problem and correct it (for example, by
putting the correct program diskette in the appropriate drive), you
may press the `space bar' and the system will make another attempt to
read the program from the diskette. If for any reason you decide not
to continue with the selected option, you may press the `ESC' key and
you will be able to reselect any MAIN MENU option. (The ESCape key is
recognised by most programs in the set as an operator request to
terminate a process that has been started.)
The next paragraph discusses the setting of current date and time.
The section following that discusses some procedures for "customizing"
the system for your configuration. If you are a first time user of
the Family History System, I recommend that you review these sections
before going into any other area of the system.
2. Setting CURRENT DATE, TIME and DATE Format
The setting of the current date, time and default format for entering
dates are the only system functions that are performed within the MAIN
MENU program.
Unless you have a `clock calendar' board on your computer or have
previously set the date and time under the control of DOS or another
program, the current DATE will probably be `01-01-1980'. Because the
current date is used to determine the ages of living persons that
appear on some of the reports and in the file maintenance program, it
is important that it be properly set if any reports are to be
produced. The time is not used by the system and is only included for
your convenience.
If you press the F4 key, you will be prompted to:
Select: 1) Change DATE and TIME 2) Change DATE Format
If you select "2) Change DATE Format", you will be prompted to:
Select: 1) MM-DD-YYYY 2) DD.MM.YYYY 3) YYYY.MM.DD 4) SAVE
If you press "1", "2" or "3" the format for the current date will be
changed accordingly. The format that appears there will be the one
that must be used for entering dates in the file update program.
After you have selected your preferred format, you may press "4" to
SAVE the date format in file FAMILY.DAT so that it will be
"remembered" the next time you begin a FHS working session. If you
simply press the Enter key, the format will be used only for the
remainder of the current working session.
If you select "1) Change DATE and TIME", you will be prompted to:
Enter the current DATE and TIME
and the cursor will appear at the left most character of the displayed
date. You must enter the date in the format displayed. Further, it
must be a valid date and not be before "Jan 1,1980". After entering
the date, the cursor will automatically advance to the first character
of the time. The time must be entered in the form HH:MM:SS. You may
use the 24 hour convention for denoting AM or PM. If you wish to go
back to reenter the date, press the SHIFT+TAB keys at the same time.
6
After you have keyed in the date and time to your liking, you may
indicate to the program that you wish to reset the current values by
pressing the RETURN or ENTER key. If an error is found in either the
date or time, a tone will be sounded and you may correct the error.
If for any reason you wish to terminate the option, you may press the
ESC key and you will then be able to reselect any of the MAIN MENU
options.
3. Setting DEFAULT System Parameters
One thing you may wish to do when you first begin a FHS session is to
examine the system defaults for the file names, screen attribute
table, and printer setup table used by the system (Main Menu options
F3-A,B,C). Some reasons for doing this are:
a. To customize the default family file names. For example, you
may want to change the names of the family file datasets from
FAMILY.NAM, FAMILY.ADR and FAMILY.OTH to something like
RUSSELL.NAM, RUSSELL.ADR and RUSSELL.OTH. You can of course
build multiple family files and it is common to use the primary
surname as a dataset prefix to distinguish them. You will also
want to make sure that the "drive identifiers", that is, the two
characters at the beginning of each dataset name ("A:", "B:",
"C:" etc.), are correct for your placement of the datasets.
These adjustments can be made using Main Menu option F3-A.
b. To choose a more satisfactory set of screen attributes (colors
or light/normal/dim brightness) for the display of information
on the screen. Although the system, upon first entry, checks to
see whether the IBM monochrome or a graphics display adapter is
being used and selects a "screen attribute table" accordingly,
if you are using a color monitor you may find the colors used to
be unappealing or difficult to read. Main Menu option F3-B
permits you to adjust these.
c. To choose a printer control table more appropriate for your
equipment. While the original printer table is based upon a
common standard, there are a number of tables for more specific
printers selectable under Main Menu option F3-C. You may also
create a custom printer setup for printers not formally
supported by a prepared setup.
(Please see Sections III-H,I,J for more complete discussions of these
options).
4. CREATING and UPDATING a set of Family files
Data files for the Family History System are initialized and updated
in the system's FILE MAINTENANCE Program which is selected by MAIN
MENU option F1. This program is distinguished by its use of `seg-
mented' displays. Sections III.G and III.F discuss in more detail
the design of these displays and the general rules for updating infor-
7
mation on them. In the following discussion I will refer to each of
the formatted segments of the screen as a "view".
The first `view' you are presented in the file update program shows
the Menu of options available in the File Maintenance program. This
view provides the only `legal' means for EXITing the file maintenance
program (by pressing `F9' to request a return to the system's MAIN
MENU display). At that time, all "open" files will be "closed" and
all updates which may have been held in memory by DOS will be
permanently written to your family files. If the program diskette has
been removed from the default drive (for example if a separate data
diskette has been placed in that drive) you will be prompted to
replace the program diskette at the appropriate time. You should not
replace the program diskette before being prompted to do so because
the "open" files may not have been completely updated yet. (You are
never `far' from this list of primary options while in the file
maintenance program. It can be reached from just about any part of
the program by pressing the ESCape key enough times.)
The first option selected whenever the file update program is being
used should be `F1', Open/Close/Create Family Files. (It is automat-
ically selected for you when you enter this program.) When a program
`opens' a file, it is requesting the operating system to permit it to
read information from or write information to the file. Ordinarily
this is done automatically by a program without the user's having to
do anything. In this program however, because the files remain open
for long periods of time to process multiple user requests, and
because a file could potentially become `damaged' if the user were to
change data diskettes or `illegally' exit from the system (for
example, by turning the machine off) while the file is open, I have
chosen to require you to explicitly request that the files be opened
at the beginning of the program as a reminder of the situation that
prevails. All open files will automatically be closed when you return
to the MAIN MENU program. (See section II.C for a discussion about
protecting yourself from loss of information in damaged files.)
When the "Open/Close/Create" option is selected, you will see dis-
played in the upper right viewing area a list of the "datasets" used
to store your family information as well as the options that may be
`function key' selected from this view. You should also note that the
`hilited' border moves from the upper left to the upper right viewing
area. While in this program, the `active' view (the one from which
program options may be selected) is enclosed by a `hilited' border.
(NOTE: The term "dataset" is used here to refer to a named area on a
diskette or hard disk which contains a program or data. I am told
that this term is peculiar to an IBM environment, but it is one that I
find natural and will use frequently in this document. Many people
will use the term "file" for what I am calling a dataset, however I
usually think of a "file" as a collection of logically related infor-
mation and as such it may consist of several datasets. When I speak
of a "Family File" I will mean the entire collection of information
that is stored in the three datasets described here.)
Three datasets are used by the system to store your family history
8
information. You might think of these as three card files used to
store different types of information. The first dataset, the NAME
dataset, is used to store basic information concerning an individual,
including the name, sex, birth and death dates of the individual. The
second dataset is used to store the various types of ADDRESSes that
are permitted in the system. The third dataset of OTHER data
contains: birth, death and marriage places; marriage records; health,
education, military and work information; and notes or comments.
Because you may wish to maintain multiple family files, with different
names, or you may wish to place the datasets on one or more separate
data diskettes located on a different drive from the program diskette,
you are permitted to change the file `specifications' displayed before
opening or creating the files. I refer you to your DOS manual for a
description of file naming conventions which you should use. (Please
note that the "A:" before the dataset name describes the drive on
which the program is to look for the dataset. You may change this to
"B:", "C:", etc. if you want the program to look for the datasets on a
drive other than the "A" drive.)
If this is your FIRST time using the system you will want to `CREATE'
or initialize the file by selecting option F3. (If the datasets
already exist, you will be asked to confirm that it is okay to DELETE
the datasets during the process of re-initializing them. Be WARNED
that REinitializing a set of family datasets will result in the LOSS
of ALL DATA currently stored in them.) After the file has been
CREATEd, in future executions of this program you will use F1 to
simply OPEN the files. When the datasets are open you may return to
the view of main options of the file maintenance program by pressing
the ESCape key.
(Before continuing with this section, you may want to read Appendix B
concerning the recording of information on Family Group Worksheets
prior to entry in the system.)
In what follows, I will not attempt to fully describe all the options
available in the file maintenance program, however I will try to
describe the following:
a) ADDING a NAME record to the file;
b) Recording MARRIAGE information;
c) Maintaining ADDRESS information;
d) Listing CHILDREN of an individual or `marriage';
e) `Climbing' the ancestor tree through PARENT relationships;
f) SEARCHing name records.
I hope that you will experiment to become familiar with these and
other parts of the file maintenance program so that you may determine
which options of the program are appropriate for recording the histor-
ical information of your family.
a) ADDING a NAME RECORD to the File
If you are just beginning to enter data into your family file then,
after opening the files and returning to the primary menu of file
maintenance options,you will select option "F2 ADD a Name Record".
9
The `current viewing area' will move to the upper right corner of
the screen which will be formatted with labels describing the
information that you may enter into the name record for the first
individual to be added to the system.
You will note that the assigned record ID (on the first line of the
screen) is `1'. Each NAME record that you create will be assigned
an ID number which just indicates the order in which the records
have been entered into the file. These ID numbers are used to
identify records for the purpose of defining relationships between
them (such as parent-child or spousal relationships) but the value
of the ID number itself has no special significance.
When you start to enter information into a Name record, the
blinking cursor appears in the 1st position of the SURNAME field.
Pressing the "TAB" key (to the left of the "Q" on most keyboards)
causes the cursor to advance successively to other updatable fields
on the screen. You will note that pressing the ENTER or RETURN key
will move the cursor to the first position of the first updatable
field on the NEXT line. You must use the TAB key to move to other
fields which are to the right of the cursor on the SAME line.
Section III.F.1 describes other rules for entering information into
the formatted displays used in this program.
Of course the ID # of a parent cannot be entered into a child's
record unless a record has previously been created for the parent.
If the parent's record is added after the child's, then you may go
back and update the child's record with the correct ID number for
the parent to establish the parent-child relationship.
Although the Birth and Death places appear in the view of the name
record information, they are not actually stored in the NAME
record. Because this information is not generally known for
distant ancestors or relatives, I have made this part of a separate
record. If neither location is known, leave the fields blank and
no space will be used on the data diskette. Entry of anything in
either data item will result in the creation of a single 50
character record for storing the information.
I have allowed for recording the times of birth and death in the
NAME record. Although this is also information which is not
generally known about distant ancestors or relatives, in this case
a total of only 4 `characters' are required to store the informa-
tion so relatively little space is lost if these times are unknown
or you decide not to maintain a record of them.
You will note four unlabeled single-character fields to the right
of the birth/death dates and father/mother ID's. These are
"status" fields whose use is described in Appendix C. Among other
things, these may be used to distinguish adoptive parent/child
relationships.
The "Use:" field to the right of the Surname field was added in
February 1987 to handle a "problem" that arises when creating
indexes or printing reports using some of the extended options of
10
the system. There you are permitted to request that a woman's
surname be replaced with that of her (most recent) husband, which
seems more appropriate for things like Birthday or Anniversary
lists. However this didn't take into account the situation in
which a woman chooses to continue using her own surname after
marriage. A value of "Y" entered in the "Surname...Use:" field of
a married woman tells those programs that her own surname is always
to be used when building indexes or printing reports.
After all information has been correctly entered, press F1 to
cause a record to be created in the file. The bottom line of the
viewing area will then be replaced with a list of standard
options available when displaying an individual's information.
The displayed Name record information may be modified by pressing
function key F1 twice, and making changes as above. Another record
may be added by pressing the F1 key, then the F2 key and proceeding
as above. Other options will be discussed in the following
sections.
Please note when adding or updating a NAME record, the action of
the F3 key is described as "RESTORE FIELD VALUE". This means that
when you press the F3 key, the field that contains the cursor will
be restored to the last displayed value. This should simplify the
sequential entry of records with repeated values in certain fields.
For example birth or death places, or the Surnames of children in
the same family.
b) Creating a MARRIAGE or FAMILY record.
After name records have been created for each of the participants
in a marriage, the marriage or family record may be created by
pressing the F4 (SPOUSE) key in the view of name record informa-
tion for either spouse (a single marriage record is maintained
for both spouses). The `current viewing area' will shift to the
upper left corner of the screen, which will be formatted with
descriptions of the information stored in a marriage record. If
a marriage has previously been recorded for the spouse whose name
record is displayed, information from the most recent marriage
record will be shown. A new record may be created by pressing the
F1 key, then the F2 key. If no marriage record currently exists
for the displayed spouse, the view will be ready for information to
be entered. If you do not want to enter information at that time,
you may press the ESCape key to return to the Name record viewing
area.
When entering marriage information, to describe the other partner
in the marriage, press the F2 key, type the record ID for that
individual and press the RETURN key. The individual's NAME record
will be retrieved and descriptive information displayed to confirm
that the correct ID # has been entered. If it is incorrect, you
may press the F2 key again to change the value of the spouse ID.
To update the marriage STATUS, Date and Place fields, press the F3
key and use the TAB key to move to the fields that need to be
updated. Although the beginning status field will normally
11
indicate that a marriage was performed, other types of arrangements
may be indicated such as common-law (marriage), communal (living
arrangement), etc; the partners in the relationship will still be
identified as spouses in all reports. The termination status field
may indicate: "wife died", "husband died", "divorced", "annulled",
"agreement", etc. If a relationship is known to have terminated
but the date is unknown, the year of the ending date should be
9999. Please note that it is necessary for you to manually enter
this termination date even when one or both spouses are recorded as
deceased. It is not automatically updated with the death date of a
spouse because that may represent an incorrect assumption on the
part of the program. The report programs will take the death dates
of the spouses into consideration when computing the number of
years married, however an "*" will appear to the right of that
number, if a death date was used to determine it, to call your
attention to the fact that the program has made what may be an
incorrect assumption in computing it.
The PLACE fields that appear after the STATUS/DATE fields are
handled similarly to BIRTH/DEATH place fields. If nothing is
entered in either of the fields, then no space is taken in the file
for them. If any text is entered in either field, then a single 50
character record is created to hold both 22 character fields.
Press the F1 key when all status information has been correctly
entered.
After both spouse ID and status information have been satisfac-
torily entered, pressing the F1 key again will cause the record to
be written to the family file. If either spouse has other spouse
records on file, the record being added will be merged with the
others in reverse order of the beginning dates (so that the most
recent record occurs first). If there is an earlier marriage
record on file for the spouse whose name record is displayed in the
NAME record viewing area, there will be a message at the bottom of
the screen informing you that you may:
Press the PGUP key to display an earlier record
You cannot press the PGDN key to display a later record. If you
wish to back up in a series of marriages, you must press the ESCape
key to return to the NAME record viewing area, then press the F4
key to begin again with the most recent marriage record.
Please note that there are three separate steps to creating a
marriage record:
a. Update the ID for spouse
b. Update the status fields, dates and places
c. Save the information in a file record
No information is placed in the file until the last step is
performed.
You should also be aware that a marriage record need not be created
in order to establish parent/child relationships. Within the FHS
family files, there is no forced connection between parenting and
marriages.
12
Options available to you after the marriage record has been added
are shown on the bottom line of the viewing area and include:
F1 UPDATE (Change, Add or Delete);
F2 SELECT (the spouse to be displayed in Name record viewing
area);
F3 List CHILDren having both spouses as parents;
F4 List RESidence information;
F5 Display/Enter COMments about the family relationship.
Pressing the ESCape key in the view of SPOUSE or MARRIAGE informa-
tion returns you to the Name record viewing area.
c) Maintaining ADDRESS information.
Address information may be recorded in a number of places within an
individual's total information record. It may indicate the indivi-
dual's residence, a family residence (under the spouse record), or
an address related to one of the additional records for education,
health, work or military information. The information which is
stored in an address record includes:
Beginning and ending dates during which the address
information was current;
Address (two 30 character lines);
City (15 character field);
State (4 character abbreviation);
Zip or country (5 character field);
Telephone (3 numeric fields; early phone numbers using
alphabetic prefixes cannot be recorded here.)
Comments may subsequently be recorded concerning information that
is particularly relevant to the address record. (This might include
a physical description of a home.)
Multiple addresses may be recorded of each of the above types.
All addresses under a given type record (name, spouse, health,
etc.) will be `chained' together in reverse order of beginning date
so that the most recent address occurs first. The extended system
offers options for producing lists of latest (residence) addresses
and for creating a MailMerge format file of address information.
The MailMerge file can be used with many database programs for
printing mailing labels. It may also be used with many word
processors for printing form letters.
(NOTE: it has come to my attention that the above described format
for address information is not appropriate for many foreign
addresses, and some domestic U.S. ones as well. I do plan to
make adjustments to this area sometime in the future, but it will
not likely be in the very near future because it will require that
all users go thru a conversion process for their family files.)
d) Listing CHILDREN of an individual or marriage
Pressing the F3 key in the display for the individual's Name
record or for a SPOUSE record results in the listing of children
parented by the individual or by both spouses. The list appears
in a viewing area occupying the bottom half of the screen. Up to
9 children may be listed; if there are more, you may continue the
13
list by pressing the PGDN key.
You may request to select one of the children for display in the
Name record viewing area by pressing the F1 key and using the UP
and DOWN cursor control keys to select the ID number of the desired
child. Another child may be selected by returning to the child
list (as a result of pressing the ESCape key in the view of Name
record information) or by pressing the CTRL+PGDN or CTRL+PGUP key
combinations in the view of Name record information for the pre-
viously selected child.
e) Climbing Ancestor Trees through PARENT relationships.
The file maintenance program was designed so that the user could
easily follow lines of ancestry (or descendancy) from one gene-
ration to another. The previous section described how you might
start with an individual, list his/her children, select one of the
children for display, after which the grandchildren parented by
that child may be listed, a grandchild selected for display, etc.
The family tree may be examined in the `reverse' direction also.
From the display of an individual's Name record information,
pressing the F2 key moves the current viewing area to the upper
left corner of the screen where information about the parents is
displayed. From that view, the parents' children may be displayed
(the full brothers and sisters of the original individual) by
pressing the F3 key, or the Father or Mother may be selected for
display in the Name record viewing area by pressing the F1 or F2
function keys respectively. If a parent is selected for display,
then their parents (one set of grandparents of the original indivi-
dual) may be displayed using the F2 key. Continuing in this way, a
single chain of ancestor relationships may be examined to exhaus-
tion.
To help you remember how far the ancestor chain has been examined,
the `RELATIVE GENERATION LEVEL' of the displayed individual(s) is
shown in the upper right corner of the Name record, parent, spouse
and child displays. The generation level is reset to 0 whenever an
individual is selected for viewing for some reason other than a
parent, child or spouse relationship (for example, by selecting
from a `search list'...see below).
f) SEARCHing the Name Records on file.
The file maintenance program contains a procedure for making
(limited) searches of the Name records on file. This would ordi-
narily be used to determine the record ID for some individual whose
information or family relationships were to be examined or modi-
fied.
The view for initiating searches is displayed by pressing the F4
function key from the view of primary options for the file mainte-
nance program. The viewing area in the upper left corner of the
screen will be cleared and reformatted with fields describing the
criteria for limiting the search. These include:
limits on record ID;
Surname (or portion of a surname...e.g. the first 2 char);
14
Given name (or portion of a Given name);
Range of Birth dates;
Range of Death dates.
The searches on Surname and Given name are sensitive to upper and
lower cases; i.e. neither `brown' nor `BROWN' will match a record
with Surname `Brown' (but a search for `Brown' will match). Also
the range comparisons on dates make the month-day and Year checks
independently. Therefore a search with:
02/00/1930 <= Birth Date <= 02/99/1940
will locate name records with birth dates in the month of February
and between the years 1930, 1940 inclusive.
After the search criteria have been satisfactorily entered, the
search is started by pressing the F1 key. The current viewing area
moves to the lower half of the screen and the search begins. A
reverse-video display in the lower left corner of the screen shows
the record ID for the name record currently being examined. The
search process can be interrupted by pressing the space bar, then
the search may be continued by pressing the PGDN key or you may
select for display one of the record ID's already found by pressing
the F1 key and using the UP and DOWN cursor controls to move the
reverse-video `box' to the correct ID #, and then pressing the
ENTER or RETURN key.
After displaying a name record located through a search, other
members in the `active search list' may be selected for display
by either pressing the ESCape key from the name record viewing
area to return to the search list (if it has not been overlain)
or by pressing the PGDN or PGUP keys in the Name record viewing
area.
A search list becomes inactive when another search begins or when
the ESCape key is pressed in the search list viewing area.
C. Importance of `BACKING UP' your FAMILY Files
As with all `dynamic' files whose creation and maintenance represents
a considerable investment of time, the importance of keeping multiple
backup copies of the files cannot be overemphasized.
All of the information you enter is stored in the three datasets that
make up a FHS family file. Using the "default" names, these are the
FAMILY.NAM, FAMILY.ADR and FAMILY.OTH datasets. These are the only
files that you need "backup" to preserve your data. There is one
other file that you may consider backing up...the FAMILY.DAT file.
That is where any changes that you make to the file name table, the
screen colors, the error tone, the printer tables and the date format
are kept.
The standard DOS COPY utility should be adequate for most users to
create these `backup' files. If one of your family file datasets
exceeds the capacity of your backup device, then you must use the DOS
BACKUP utility (or something equivalent) to create your backup files.
The BACKUP utility will prompt you for additional diskettes if they
15
are needed to receive the backup copy of your family information.
The DOS RESTORE utility is required to recover a file from a backup
created with the BACKUP program. Furthermore, the 'backup' files that
you create with the BACKUP utility cannot be used directly by the FHS
programs. The backup files MUST be RESTOREd in order to be used by
the programs. The usual COPY command is used to recover a file from
backups created with the COPY command. The copies created by the COPY
command ARE usable by the programs without having to copy them back to
their original location.
I would recommend always creating a backup copy of the data files
before each extended file maintenance session, especially if your area
is subject to power fluctuations. I would also recommend that you not
reuse a backup diskette until at least two subsequent backups have
been taken.
If portions of a data file do become unreadable, you are cautioned
that when using standard disk utilities to remove the damaged
sections, direct file pointers joining information together within the
files may become unusable. It is best in this case to return to a
backup copy of the files. The "validation" option, Main Menu option
F3-E described in Section VI of this manual, may be able to eliminate
the "pointer errors" but it will not be able to "correct" them.
If it is necessary to restore your family file from a backup copy, you
should always restore all three datasets from the same backup copy.
Attempting to restore just part of a family file will likely result in
some system maintained pointer fields becoming invalid. This can
cause abnormal program termination, spurious messages, or "garbage" or
invalid information in reports. Again the validaton program may be
able to eliminate the problems associated with "bad pointers" if it is
necessary to "partially restore" a file, but you will have to
carefully examine the resulting file to determine whether any informa-
tion will have to be reentered.
If you have an extended update session interrupted by a power failure
or by inadvertantly turning off your PC, it is possible that some of
the updates will not have been written to the file, which could result
in incorrect "pointer fields" connecting records in the family file.
The "pointer validation option" can locate and help eliminate such
file errors as well.
16
III. Family History System design
In developing the programs in this system, a number of decisions were
made which influenced the appearance and character of the final
product. The following paragraphs provide descriptions of some of the
features of the system which resulted from those decisions. I hope
that this will increase your understanding of how the system works and
will make you feel more comfortable with its operation.
A. Fixed Formatted Displays
One of the first decisions made concerning the design of the system
was for the use of `static' formatted screen displays instead of the
`scrolling' mode of operation found in many early programs written for
personal computers. Because the programs were written in `inter-
preted' BASIC, a notoriously slow language, the use of formatted
displays made the execution of some parts of the system seem a bit
ponderous. I believe that the benefits derived from the use of the
formatted screens outweigh the occasional `performance' problem. (The
compiled version of the programs performs much more satisfactorily in
this area.)
B. Modular program design
It was impossible to include all functions of the system within a
single program, however I decided that each system function should be
completely contained within one program. As a result, it is only
necessary for a program diskette to be placed in the system's default
drive while changing system functions. At other times it may be
replaced with a separate diskette containing data files. This should
be especially appreciated by those who have PC's with a single disk
drive. If the program diskette is replaced by a data diskette
however, you must wait until prompted to restore the program diskette
to the drive when you are returning to the Main Menu display. This is
especially important when using the file maintenance program.
C. System Messages
The bottom line on the screen is reserved for displaying messages. In
some cases, these messages ask for a response from the operator (such
as `Y' or `N'); if a `single-key' response is expected, you do not
have to use the ENTER or RETURN key to indicate the end of your
response. Some messages are merely informational; these will be
terminated by an ellipsis (...) which indicates that the program is
waiting for you to press any key on the keyboard to show that you have
received the message so that the program may continue. I haven't
included a list of messages in this document. I trust that they will
be self-explanatory as they appear. Please let me know of any prob-
lems you have interpreting them.
D. Use of Function keys
The system has been designed to take full advantage of the PC's
function keys for simplifying the selection of program options.
Allowable function keys are indicated on the currently displayed
17
panel. Pressing an `illegal' key will result in the sounding of a
soft tone without any further action.
E. Use of the ESCAPE key
The ESCAPE key, labeled `Esc' on most keyboards, is used almost
uniformly as a request to terminate an operation without further
action. It only has effect, however, at those times that the program
is looking for input from the keyboard. It cannot be used to
interrupt the adding of a record to the files after you have requested
that the information be written to disk, and it usually cannot be used
to interrupt the creation of a work file.
One extended operation which may be interrupted is the printing of
reports. After each line of a report is written to the output device,
the report program looks for input from the keyboard. If some key has
been pressed, the printing is interrupted and a message such as:
`Waiting...'
is displayed on the bottom line of the screen. If the ESCape key is
then pressed, the report is terminated; pressing any other key causes
the program to continue the printing of the report. The SPACE BAR is
a convenient key for pausing and continuing a scrolling report.
The ESCape key is the standard means for returning from one `viewing
area' of the segmented display used in the file maintenance program to
the previous `viewing area' from which control was passed as a result
of some operator request. The one exception is the viewing area for
comments in which the ESCape key acts as the `undo' key to restore the
line on which the cursor is located to its contents at the time the
cursor was moved to the line. Return to the viewing area from which
the comments display was requested is accomplished by pressing the F1
key.
F. Full Screen Mode of Data Update
Part of the decision to use static formatted screen displays in which
data is shown in fixed labeled areas of the screen called `fields' was
the plan to permit operator update of the displayed information
directly on the screen within the limits of the field containing the
data. This has the advantage that the operator may make changes to
any of the fields without prompting from the program. You may return
to previous fields to correct errors and may view all changes made
before submitting the changes to the program for processing.
Certain conventions have been established to make use of many of the
PC's special function keys to simplify the updating of information on
the screen. Actually two sets of conventions were established, one
for the update of text stored as comments, and the other for the
update of information displayed in discrete fields on the screen.
These sets of conventions will be described separately in the
following paragraphs.
18
1. Updating screen displays (other than comments)
a. The "cursor control keys" can only be used to move the cursor
within the area permitted for a single labeled field (the field
containing the blinking cursor);
b. The "TAB" key (just to the left of the "Q" key on the keyboard)
may be used to move the cursor to the first position of the next
`updatable' field on the screen (if there is no next field, the
cursor goes to the first updatable field on the display);
c. The "SHIFT+TAB" keys (press the SHIFT and TAB keys simulta-
neously) may be used to move the cursor to the last previous
updatable field on the screen (if there is no prior field, the
cursor goes to the beginning of the last updatable field on the
screen);
d. The "HOME" key moves the cursor to the first updatable field on
the screen;
e. The "END" key moves the cursor to the last updatable field on
the screen;
f. The Enter or Return Key moves the cursor to the first updatable
field of the next line (when updating 2 or more lines of data on
the screen);
g. The "CTRL+END" keys erase (replaces with blanks) all characters
from the cursor position to the end of the field containing
the cursor;
h. The "DEL" key removes the character at the cursor position and
moves all trailing characters (in the field) one position to
the left;
i. When a character is entered in the last position of an
updatable field, the cursor is automatically `tabbed' to the
next updatable field;
j. For some fields (e.g. Record ID, DATES) you will only be
permitted to enter numeric digits; a tone is sounded if other
characters are entered;
k. For some fields (e.g. SEX, File names) entered alphabetic
characters will automatically be changed to upper case.
l. When entering NAME record information in the file update program
the F3 key is used to simplify the repetitive entry of
information such as surname or birth/death places. Pressing the
F3 key will restore the cursor field with the last displayed
contents.
Entered updates are committed by pressing a function key designated by
the program (usually F1) or by pressing the ENTER or RETURN key if no
function key is designated. Pressing the ESC key terminates the
update request without any changes being made.
2. Updating Comment displays
a. Cursor control keys:
Right arrow - moves the cursor right one position; at the end
of a line the cursor goes to the beginning of
the next line; a tone is sounded at the end of
the last displayed text line.
Left arrow - moves the cursor left one position; at the
beginning of a line the cursor goes to the end
19
of the previous line; a tone is sounded at the
beginning of the top displayed text line.
Up arrow - moves the cursor to the next line up, same
column; a tone is sounded if the cursor is on
the top line.
Down arrow - moves the cursor to the next line down, same
column; a tone is sounded if the cursor is on
the bottom line.
HOME key - moves the cursor to the first position of the
current line
END key - moves the cursor to the last non-blank character
of the current line after the current cursor
position.
ENTER key - moves the cursor to the first position of the
next line; a tone is sounded if the cursor is
on the bottom line.
b. Special Update keys:
DEL key - erases character at cursor position and moves
characters following it to the left one position.
Ctrl END - Erases current character and all characters
following it on the line.
INS key - toggles a "character insert" mode. When this
mode is in effect a "^" character appears on the
last line of the viewing area. Characters
entered at the cursor location will cause the
current character at that location, and all
subsequent characters on the line to be moved
right one position. The last character on the
line will be truncated.
BKSP key - same as Left arrow key;
ESCape key - removes all updates made to the current line since
moving the cursor to the line.
c. Special function keys:
PGDN key - moves the current line to the top of the screen
and displays the succeeding lines. If the current
line is at the top of the page, the next full page
of text is displayed. Changes which have been
made to the displayed text lines will be
written to the file.
PGUP key - returns to the first line of text for the
comments. Changes made to the current page of
text are written to the text file.
F2 key - `toggles' between INSERT and EDIT modes.
If not in insert mode, then the text lines after
the current line are replaced by blank lines
for new text to be entered.
If already in insert mode, then non-updated blank
lines are replaced by existing lines in the file
beginning with the line which originally followed
the text line after which the insertions were
made.
The current mode of operation is shown as a
`reverse-video' literal in the lower left corner
20
of the area.
F3 key - deletes the current line of text.
The numbers shown in the lower right corner of the viewing area
are the number of the text line containing the cursor, and the
total number of text lines for the comments. The first number may
be greater than the second in the case that it is a new line
which no operator action has yet caused to be added to the text
of the comments.
Pressing the F1 key causes all unrecorded updates on the current
display to be written to the file and then returns you to the view
from which the comments display was requested.
NOTE CONCERNING THE FORMATTING OF COMMENTS IN REPORTS:
When entering comment information you should take into considera-
tion the following conventions for joining comment lines together
to form blocks of text when comments are included in reports
produced by the system:
1. Three successive blanks at the beginning or in the middle of
a comment line will cause all text on that line to the right
of the blanks to be ignored.
2. A blank character is placed between two successive comment
lines only if the last character of the first, or the first
character of the second one is a space. (This permits a word
which has been typed across a line break to be joined back
together properly.) Additional blank characters at the end
of a comment line are dropped.
3. The backslash "\" character is recognised as a request to
begin a new line of text in the formatted output. Two
successive backslash characters result in a blank line being
inserted between the preceding and following blocks of text
when the comments are formatted for reports.
4. You may enclose parts of your comments in "curly brackets" or
"braces", that is "{" and "}", and the report programs may be
instructed to omit that text from the comments that are
printed. This allows you to remove sensitive or conjectural
remarks from reports that are distributed to others.
G. Segmented Screen in the File Maintenance Program
Because of the complex nature of the Family History System files and
the variety of information that can be stored in them, I decided to
use a `segmented' screen in the program that is used to display and
update information in these files (MainMenu option F1). Within this
program the standard 24x80 screen area is divided into 4 `viewing
areas': upper left, upper right, lower left and lower right. (A 5th
viewing area occupies the lower half of the screen.)
Different information is displayed in the various viewing areas so
that up to 4 types of information may be viewed at one time without
interferance. Of the several viewing areas that may appear at one
time on the screen, one will be designated the `current viewing area'
and will be distinguishable by its being enclosed by a `hilited'
21
border. The hilited border is moved from one viewing area to another
by selecting options (or terminating requests using the ESCape key).
While viewing information for one of the record types that may occur
multiple times, ordered by some date, you will be prompted by the
message: `Press PGUP key for earlier record'
if there is some record of that type which precedes the one currently
being viewed. (The PGDN key can not be used to return to later
occurrences of the record type however.)
The lower half of the screen is used as a fifth viewing area for
displaying lists of individuals resulting from a `search' of the
system files or a request to list the children of an individual or of
a marriage. Individuals may be selected from these lists for display
of related information by following the instructions in the `view'.
Others in the list may be selected for display at a later time by
returning to the list (after pressing the ESCape key in the `view' of
Name record information). Alternatively, one may go up (or down) an
active SEARCH list by pressing PGUP (or PGDN) key in the view of name
record information. (Similarly one may go up or down an active CHILD
list by pressing the CTRL+PGUP or CTRL+PGDN keys in the view of name
record information.)
In the upper right corner of most viewing areas is the "relative
generation level" of the individual(s) whose information is displayed.
This level is adjusted whenever a parent/child relationship is crossed
and is set to 0 whenever an individual is selected for display based
upon something other than a parent/child or spouse relationship
(spouses are assumed to be in the same generation level).
H. Changing the Screen Attribute Table and Error Tone
It was a suggestion of a member of our local PC user's group that
prompted me to implement a `screen attribute table' to provide a
common base for the use of color in the different programs in this
system. Although my own PC used the IBM monochrome board & display,
my friend's remarks that `any program which didn't permit him to take
advantage of his color monitor would receive little use on his system'
resulted in the program described in this section.
If you select MAIN MENU option F3-B, you are presented with a display
which lists 11 different types of information that may be used in
building the screens used by programs in the Family History System.
These types are:
Non-displayable data (such as passwords)...not used in the system
Standard literals or labels
Hilited literals, labels or messages
Numeric text
Upper Case text
REVERSE video text
Updatable Alphanumeric text
Updatable Numeric text
Updatable Upper Case text
22
Lowlite borders
Hilited borders
Different color attributes may be assigned to each of these types of
information resulting in much more pleasant displays for those who
have color monitors at their disposal. The only restriction in
assignment of colors is that each of the three types of `updatable'
information must have attributes which are distinct from all others in
the table. If you attempt to return to the MainMenu with an "illegal"
combination of attributes, a message will be displayed and the problem
entries will be marked.
A `screen attribute' consists of a foreground/background color
combination together with a `blink' option. Each position of the
display screen has an associated `screen attribute' that describes the
appearance of any character that is placed at that screen location.
To the left of each described type of information is a character
displayed with the screen attribute currently being used for that type
of information.
A small `arrow' on the left side of the screen points to the informa-
tion type whose screen attribute is currently being examined. The UP
and DOWN cursor controls may be used to move this `selection' arrow to
different information types.
The foreground/background/blink components of the `selected' informa-
tion type are shown on the bottom portion of the screen. Small
`arrows' point to the foreground and background component colors in
`pallettes' of 16 and 8 colors respectively. (These pallettes are
really not very interesting for PC's using IBM's monochrome board and
monitor, the only really distinguishing combinations in this case
being ones which produce reverse-video, underscore or hilite effects.)
The blink component is shown by a hilited `Y' or `N'.
The screen attributes for a selected information type may be changed
using the function keys and the horizontal cursor control keys. Func-
tion key F3 toggles the blink attribute on and off. The horizontal
cursor control keys are used to move the indicator arrow for the
foreground and background color pallettes. Function key F1 is used to
select which of the pallettes is being controlled by the cursor keys.
Function keys F5 & F6 may be used to load the screen attribute table
with previously prepared versions `suitable' for use on IBM's mono-
chrome or color monitors respectively. If you have a color monitor
and would like to try a color table which uses a light colored
background, press ALT+F6 to load a table which I have found pleasing
on an IBM Enhanced Color Monitor. Function key F7 may be used to
restore the screen attribute table with the last saved values.
Function key F9 is used to return to the MAIN MENU display. You will
be asked whether you wish to save the screen attribute table which
exists at that time. Actually you will be asked:
1)Temporary or 2)Permanent
A response of `2' will result in the attribute table's being written
to the program diskette (in dataset FAMILY.DAT) for use in later
23
Family system work sessions. Any other response will result in a
return to the MAIN MENU panel without saving the table although it
will continue in use until you leave the system or return to this
program to change the table again.
CHANGING THE ERROR TONE FREQUENCY & DURATION
Option F8 of the program that maintains the Screen Attribute Table
allows you to change the frequency and duration of the tone that is
used to inform you of error conditions. During this option, you can
press the F1 and F2 keys to decrease or increase the tone frequency,
or press F3 or F4 to decrease or increase the duration of the tone.
The tone may be sampled by pressing the space bar. Pressing the F9
key terminates the routine. The changes will be saved for later use
if you request that all entered changes be made permanent when you
return to the MainMenu. (Note: setting the frequency to a very large
value reduces the error signal to a barely audible click.)
I. Use of PRINTER SETUP Table
The Family History System makes use of a printer table which contains
control sequences and special characters used when printing the
system's reports. A program is also provided to permit you to custom-
ize this table for your printer. The current printer setup table is
displayed by selecting MAIN MENU option F3-C.
Upon entry to the Printer Control Setup program, you will see
displayed in a reverse video array of boxes, the decimal numbers for
the ASCII values of characters in the printer control sequences and
for certain `chart building' symbols. The printer control sequences
identified are for:
Resetting the printer at the beginning of a report;
Selecting the type size at the beginning of a report;
Causing a carriage return and line feed at the end of a
print line;
Requesting an advance to top of next page at the end of a
page or a report.
The chart symbols are those used for the `ancestor tree' lines when
printing an ancestor chart. The Gemini 15 and IBM Graphics printers
produce symbols similar to those which are used on the screen. The
Epson FX-100 has no such symbols in its character set and so the +,-,!
symbols are used. Examination of your printer's manual should provide
you with the information required for setting up these tables for it.
You should be aware that some printers will print more slowly when
graphic characters, such as the chart building symbols, are included
in a print line. If yours is one such printer, you may consider using
a printer setup which uses the +,-,! symbols for producing "draft"
copies of ancestor charts and use the more pleasing graphic symbols
for final copies.
(If you have a printer for which none of the supplied tables work, I
would be interested in receiving a set of the control sequences and
24
symbols that do work, along with the name of your printer, so that I
can add it to the list of `supported' printers whose control sequences
may be selected under this program's `F3' option.).
The Form Size is used to describe the limitation of the output page
size in characters/line and lines/page based upon both the font and
printer initialization parameters specified as well as the physical
size of the paper being used.
Up to 9 different tables may be saved. Table number 1 is the
default table that will be loaded upon entry to the Family system.
(Some notes concerning the printer control sequences:
a. The first two entries in the table are sent together to the
printer before printing each report. If necessary, they may be
treated as a single 16 character initialization sequence.
b. the decimal number `255' may be used to mark the end of a
short control sequence to prevent sending extraneous trailing
zeroes.
c. If your printer doesn't recognise a `form feed' control sequence
you can put a decimal `255' in the first character of the table
entry and the report programs will use multiple line-feeds to
advance to the top of a page.
d. If you are using a printer which requires you to manually feed
individual sheets of paper for a report, you can force the
report programs to stop at the top of each page by putting a
decimal '254' as the last character (before the '255') in the
table entry for 'Advance to top of Form'
e. The table for the HP LaserJet+ is intended to make use of the
resident compressed LINE PRINTER font of that printer and may
not work correctly if a font cartridge is installed.
f. The table for "Dataset" is intended for routing reports to disk
files. This has been used by some to print reports with a
SIDEWAYS printing utility.
J. System "File" Name Table
The File Name Table (or more consistently, the Dataset Name Table)
describes the default values to be used for family dataset, work
dataset and printer output file specifications. Included in the "file
specification" is the designated drive which is to contain the file
disk (that's the character preceding the ":"). Default values for
file name table entries are:
x:FAMILY .NAM Name dataset
x:FAMILY .ADR Address dataset
x:FAMILY .OTH Miscellaneous information dataset
x:ANCESTOR.WRK Ancestor work file
x:DESCNDNT.WRK Descendant work file
LPT1: Printer output destination
where x: is
A: for systems installed on a diskette
C: for systems installed on a hard disk.
Individual entries in the table may be changed temporarily within each
program that uses it. Permanent changes may be made using MAIN MENU
option F3-A.
25
Some reasons for making changes to the table might be:
a. use of a RAM disk (usually designated as C: drive on non-XT
systems) to hold data and/or work files. This can greatly
improve the performance of the system in creating work files
and producing reports. It also reduces considerably the `wear
and tear' of mechanical disk drives.
b. You may wish to maintain multiple family files using the
primary surname as a prefix for each set of files. The file
name table default values would be the set of values upon
which your work is concentrated.
c. If you have two drives on your system, you may wish to assign
some of the files to each of the drives. This may require
removing the program diskette from drive A at times. Read the
cautions in sections II.B.4 and III.B concerning this.
d. If your system has no printer, a printer designation of SCRN:
will result in all printer output automatically going to the
screen without the program's asking whether to send the output
to the printer or screen.
Users of the extended system should note the following conventions for
default names for datasets used only in that set of programs:
a. The prefix for the default index file name is taken from the
default name for the NAME dataset. To this the suffix `.NDX' is
added.
b. The first character of the default ancestor work area name is
used for the drive designator for the SELECT, TRANSFER and
MAILMERG datasets, as well as the RELATIVE.WRK dataset.
26
IV. Family History System Files and Datasets
The following discussion is provided for the interested user, but an
understanding of it is not necessary to make use of the system.
A. FHS Family File
The file used in the Family History System to store information about
individuals and their family relationships consists of three datasets
containing variable format `records' which are `linked' together into
a `hierarchic' logical file structure. Pictorially, a portion of the
logical file structure is represented by the diagram appearing in
Appendix E, at the end of this document.
In this diagram, each of the `boxes' represents a record type in one
of the system's datasets. In some cases, (for example child records,
marriage records, address records) a `logical record' may include
multiple records of information of that type. The number of multiple
records is essentially unlimited...there can be no more than 9999
occurrences of the name records or 32000 occurrences of the other
types of records. Records containing information of the various types
are `logically connected' by a system of program maintained `pointer'
fields. Though this structure may appear a bit more complex than the
more common `flat' file which has a single fixed record type, the
advantage in using the hierarchic structure is that there is no need
to `reserve' space in a dataset (other than a 2 character pointer
field) for types of information which may or may not be recorded for
an individual at some time in the future.
The only information that the user needs to provide to the system to
begin retrieving information in one of these extended logical records
is that required for locating the name record of the individual about
whom the information has been recorded. The basic `record key' that
the system requires is the `ID number' for the individual. This is a
number which is assigned to each individual by the system at the time
his/her Name is initially entered into the system. These numbers are
assigned sequentially (ID #216 is assigned to the 216th person entered
into the system). The ID numbers assigned two individuals need not
indicate any blood relationship between the individuals. These ID
numbers may (optionally) appear in reports produced by the system and
may also be determined by `searching' the files for other information
(such as surname, given name or birth date) using the search option of
the file maintenance program.
While the ID numbers of 2 individuals need not indicate any blood
relationship between them, these numbers are used to define the only
type of relationship that you are required to establish between indi-
viduals. The relationship of father or mother to a child is specified
by recording the ID numbers of the parents in the Name record for the
child. All other blood relationships between individuals are deter-
mined from the complete system of parent-child relationships recorded
in this way.
Perhaps it should be noted that the system provides for recording
additional information (e.g. educational, occupational, military and
27
health information) in record types not shown in the structure
described above. Further, address and comment records may also be
created under each of these record types.
It should also be noted that the system provides for extensive `com-
menting' with the comments or remarks being logically connected to the
appropriate record type. Care should be taken in the use of this
feature of the system because of the limited number of records in the
"...OTH" dataset of miscellaneous info. It is not intended for
writing a person's life history or for extended anecdotes, but rather
for recording notes concerning sources of, or explanations for, infor-
mation found in the record.
In the cases where multiple record types are permitted within a
logical record, the records are automatically maintained in some
`natural' order. For all but comment records, this is based upon a
date stored in the record. Children are ordered by increasing birth-
date; marriage records by decreasing date of marriage, and address
records by decreasing beginning date of residency. This has the
unfortunate consequence that unknown birth, marriage or beginning
dates (recorded as 00/00/0000) may result in information appearing out
of chronological sequence in the file and in reports. The order is
automatically adjusted as the correct information is determined and
recorded. You may consider entering a `best guess' for unknown dates,
making note of the fact in comments for the record type.
This discussion of the Family History System data files will conclude
with a brief description of the datasets which comprise the file.
There are three such datasets:
1. Name dataset - each record is 100 characters long;
information stored includes surname, given name, date and
time of birth and death, sex, and father and mother ID
numbers. Up to 3500 name records may be stored on a single
DS/DD diskette, or 9999 records may be stored on a hard disk.
2. Address dataset - each record is 108 characters long;
information stored includes: beginning and ending dates, 2
address lines, city, state, zip or country, and (numeric)
phone number. Up to 3500 address records may be stored on
a single DS/DD diskette, or up to 32000 may be stored on a
hard disk.
3. Miscellaneous INFO dataset - each record in this dataset is
50 characters long. Record types include:
a. spouse, family or marriage record;
b. Birth/Marriage/Death location record;
c. Comment record (1 record for each line of comments);
d. Occupation, Education, Military and Health records.
Up to 7000 records may be stored on a DS/DD diskette; up to
32000 may be stored on a hard disk.
28
B. Report Program WORK FILES
There are several types of "work" datasets that are used in the Family
History System. These are semi-temporary files that are used to
store information derived from certain processes so that those some-
times lengthy processes do not have to be repeated too frequently.
Among these work datasets are the RELATIONSHIP Work Files, the SELECT
Work file and the INDEX File.
A RELATIONSHIP WORK FILE must be created prior to producing the
ancestor, descendant or relative reports or the ancestor charts.
Although there appear to be three types of relationship files:
Ancestor, Descendant and Relative, in fact these all share a common
format...the only differences being in the number of generations of
ancestors or descendants that are searched in order to build the work
file. In building an Ancestor work file, no search is performed for
descendants at all. In building a Descendant work file, no search is
performed for ancestors. While in creating a Relative work file, the
program first searches for all ancestors and then all descendants of
the ancestors. Actually, you may specify the maximum number of
generations (of ancestors and descendants) that are to be included in
the work dataset. This is done to permit you to exercise some control
over the extent to which lines of ancestry or descendancy will be
followed in producing the report. A relationship work file may be
reused (without recreating it) if no new or changed relationships have
been recorded in the family file that was used to create the workfile.
Another type of work file is the SELECT file used by the Family Group
Report program and the export/import program. (Among the FHS
extensions, this work file is also used in the Search/Select/LIST
program and the Summary report program.) This file is essentially an
ID sequenced "check list" of individuals that have been chosen for
processing. It permits the system to isolate the sometimes complex
process of selecting ID #'s within certain programs but to pass the
results of the selection process to other programs in the system.
The Family History System INDEX File is one which contains a complete
but re-ordered sequence of ID #'s. The reordering could be accom-
plished by SORTing the ID#'s based upon the contents of certain
fields, for instance in Surname, Given Name sequence or in birthdate
sequence. The reordering could also represent the sequence that indi-
viduals identified in a relationship work file would be listed in an
ancestor, descendant or relative report. This last type index is most
likely to be used for printing family group reports in "relationship
sequence". The option for creating an INDEX file is one of the
"extensions" provided to registered users of the system.
Another type "work" file introduced in the March 1990 update is the
REFERENCE work file, which contains notes concerning the ID's that
appear in a particular report and the location of the reference within
that report. This work file is used by a program in the extended
system to print report indexes. These indexes may be printed for
ancestor, descendant, relative and family group reports as well as
sets of ancestor charts, ancestor maps and descendant charts.
29
V. System Reports
This section discusses the various reports produced by the FAMILY
HISTORY SYSTEM. While these are standard types of reports expected
from a genealogical record system, that is: Ancestor Report, Ancestor
(TREE) Charts and MAPs, Descendant Report, Descendant Charts, Relative
Report and Individual/Family Group Information, some of the data items
displayed or terms used in describing the reports may be unfamiliar to
you. The following paragraphs describe some of these terms, including
those of `ancestor', `descendant', `lineage number', `generation
level', `bloodline' and `related individuals'.
A.Some Definitions
An `ANCESTOR' of an individual refers to one of the parents, grand-
parents, great-grandparents, etc., of the individual. A `DESCENDANT'
of an individual refers to any one of his or her children, grand-
children, great-grandchildren, etc. The parent-child relationships
described are `blood' relationships and do not refer to `legal' or
adoptive relationships. (Adoptive relationships may be recorded and
distinguished from other parent-child relationships, as described in
Appendix C.) Two individuals are considered to be `RELATED' if they
have a common ancestor. Therefore we would not consider individuals
who are only `inlaws', that is `related' through marriage, to be rela-
tives in the above sense. A `SPOUSE' refers to either partner in a
marital relationship. (One aspect of this system's files and reports
is that they have been designed so as not to give a preferential
status to any individual based upon their sex.)
The `GENERATION LEVEL' of an ancestor or descendant of an individual
refers to the number of `parent-child' relationships that separate the
ancestor or descendant from the individual. For example, with respect
to a selected individual (who is said to have generation level 0), the
generation levels of some relatives are: children (GL=+1), grand-
children (GL=+2), great grandchildren (GL=+3), parents (GL=-1), grand-
parents (GL=-2), great grandparents (GL=-3). Notice that descendants
have positive generation levels and ancestors have negative generation
levels.
The `BLOODLINE' between an ancestor and any of his/her descendants
refers to a sequence of numbers, one for each parent-child relation-
ship that separates the ancestor from the descendant, where the number
for a given parent-child relationship refers to the number of the
child in that generation level who is an ancestor of the descendant.
For example, the bloodline (3,2,4,2) indicates that the descendant is
the 2nd child, of the 4th child of the 2nd child of the 3rd child of
the ancestor in question.
The `LINEAGE NUMBER' of an ancestor refers to a number that is
assigned sequentially to the ancestors of the individual in the
following manner:
the base individual has lineage number 1;
the individual's father has lineage number 2;
the individual's mother has lineage number 3;
the father's father has lineage number 4;
30
the father's mother has lineage number 5;
the mother's father has lineage number 6;
the mother's mother has lineage number 7; etc.
In general, if an ancestor has lineage number n, then that ancestor's
father will have lineage number 2n and the ancestor's mother will have
lineage number 2n+1. These are the `counting' numbers that would
naturally be assigned to persons on the traditional `horizontal'
ancestor tree chart. Some relationships to notice: all male ancestors
have "even" lineage numbers and all female ancestors have "odd"
lineage numbers, and for a given ancestor on the chart, the lineage
number of the child which appears on the chart is found by dividing
the parent's lineage number by 2 (and discarding the remainder, if
any...for example, an ancestor with lineage number 127 will have a
child with lineage number 63 appearing on the ancestor tree). Since
beginning to work on these programs I have become aware that the term
"ahnentafel number" is more commonly applied to the lineage number in
genealogical literature, though I have become accustomed to the term
"lineage number" and so will continue to use it in this manual.
While "lineage number" and "bloodline" are convenient "numerical"
concepts for describing "direct" relationships such as exist between
an individual and his/her ancestors or descendants, the problem of
uniquely describing one's non-direct relatives (aunts, uncles,
cousins, etc.) is a bit more complicated. The very definition of
"relative" given above suggests a natural approach which would combine
these concepts to label relatives with a "lineage number"+"bloodline"
where the lineage number is that of the "nearest common ancestor" of
the two individuals (that is the common ancestor with lowest lineage
number) and the "bloodline" is the one that
describes the line of
descendancy of the relative from the common ancestor. This is the
approach that is used by this system's relative report for grouping
and listing all recorded relatives of an individual. The family
group report provides an option for showing the relationship and
LINEAGE of the subject of the report. In that case, the LINEAGE
displayed consists of:
a. the LINEAGE Number if it is an ancestor
b. the BLOODLINE, in the format (x,x,x,...,x), if it is a
descendant
or c. the LINEAGE Number + BLOODLINE as described above if it is a
non-direct relative.
There is another method for describing relatives which, though it
assigns a non-numeric and non-unique label to relatives, gives a more
generally understood idea of the relationship between individuals.
These labels are ones such as: mother, father, cousin, aunt, grand-
mother, great-great-grand-uncle, etc. The set of rules used to assign
such labels in the relative report (and the relative report index of
the extended system) is the one which describes the child of a First-
Cousin as a First-Cousin-once-Removed, rather than as a Second Cousin.
These are sometimes called the "Common" rules for relationships.
31
B. Report Descriptions
FIXED FORMAT and FREE FORMAT Reports
Prior to March 1990, all Family History System reports were in a style
that placed all information of a given type in a "fixed" location in
the report. In Ancestor/Descendant/Relative reports, a column format
was used and family group reports appeared as "filled out" information
sheets. Most of these reports required a printline of at least 132
characters. Consequently they required using compressed print with
standard 8 1/2" wide paper.
In March 1990, new FREE FORM styles of Ancestor/Descendant/Relative
and Family Group reports were introduced in which all information is
printed out in a "block" or "paragraph" format. This permitted using
printlines as narrow as 80 characters for most reports, allowing the
use of more readable PICA or ELITE type styles.
While the FREE FORM reports are likely to prove popular for sharing
information with others, I believe the FIXED FORMat reports will still
be most useful for continuing research because they allow more room
for recording changes and new information. I hope you will try both
of them to determine which is most appropriate for your own work.
REPORT OPTION MENUS
Many report options are selectable from a Menu that appears in the
lower right corner of the screen. Any changes you make to these
options will be "remembered" throughout a FHS working session, though
the options will return to their "default" values in subsequent
working sessions.
OTHER REPORT OPTIONS
Other report options will be offered to you through "bottom line"
prompts. One such option allows you to select the style for
formatting names. You may select name formats from among:
1) Last, First 2) LAST, First 3) First Last 4)First LAST
where formats 2 and 4 provide automatic conversion of surnames to all
CAPs for visual emphasis.
Most report programs will also ask something like:
Start at Beginning? (Y/N)
What it wants to know is whether you want it to begin printing with
the first page of the report or skip forward to another page. This
permits you to restart an interrupted report without having to reprint
the initial pages. If you reply "N", you will be asked the number of
the page to begin printing. There may be a long pause after the
program indicates that it is printing the report because it must still
process all the information on the pages that are being skipped "to
find its place" for continuing the report. You will want to make sure
that you are using all the same options for printing the report as
were originally used so that all information will end up in the same
place as before.
32
Another "bottom line" option in the report programs asks whether you
wish to: Create REFERENCE File for Index? (Y/N)
This permits you to create a WORK file which contains the locations of
names refered to in the reports. One of the extended options provided
to registered users will print report indexes from the REFERENCE file.
If you have already printed a report and wish to go back to create the
reference file for an index, you can print the report again, with all
the same options, but when asked whether you wish to "Start at the
Beginning?", answer "N" and enter "9999" for the number of the page to
begin printing. The entire report will be "processed", for recording
references in the work file, but nothing will actually be printed.
PAUSING AND CANCELLING THE PRINTING OF REPORTS
While producing any of the reports, the printing may be temporarily
interrupted by pressing the `space bar' or any of the `character
keys'. The report may then be continued by again pressing the space
bar (or one of the character keys) or may be terminated by pressing
the ESC key. If you use the PGDN key to continue a report, then the
program will pause at the top of the next page of output. This may
prove convenient for pausing a printer that is running low on paper.
You can continue the printing by pressing any key.
-----------------------
In the following report descriptions, the keystrokes required to
select the report program from the Main Menu are shown, in parentheses,
following the name of the report in the section heading. I will
sometimes refer to the Ancestor, Descendant and Relative reports as
"relationship" reports because their organization is designed to
emphasize the relationship between individuals. The Family Group
reports give more detailed information about each individual. The
Ancestor Charts and "Map" should prove useful for tracking the results
of your ancestral research while the Descendant Chart option produces
a "wall chart" that graphically illustrates family relationships. You
may also want to see Section VII.B which describes how you may use a
shareware organization chart program to print descendant charts.
1. ANCESTOR Report (Main Menu option F2-A-1)
The `Ancestor REPORT' groups ancestors by generation level and shows
the lineage numbers of the ancestors listed. Because no lines are
printed for `missing' lineage numbers, (for ancestors not yet recorded
in the files), this report is much more concise than the traditional
ancestor chart. The lineage numbers may be used to follow lines of
ancestry on the ancestor report using the relationships described in
the previous discussion concerning lineage numbers. (The term
`Ahnentafel list' is also used for reports of this type.)
Before printing an ancestor report (or any of the other "relationship"
reports described in this section) you must identify which individuals
are to be listed. This is done by entering a "Base ID" for the
33
individual whose ancestors are to be listed and letting the program
"search for" the ancestors of the individual. The number of genera-
tions of ancestors that are to be searched appears under the File
names and may be modified by selecting the option (F1) for changing
File Names.
When you press F3, the program asks you for the Base ID and whether
you wish to include adoptive relationships. It then begins the
ancestor search, recording information about the located ancestors in
the ANCESTOR.WRK file. This "work" dataset does not have to be
recreated each time an ancestor report is printed if there is no
change to the family file that would change the relationships recorded
in it.
If you have decided to identify adoptive relationships as indicated
in Appendix C and you have included adoptive relationships in the
ancestor search, adoptive parents will be noted by an "*" to the right
of the lineage number in this report.
If a child is born to related individuals, the common ancestor of
those individuals will appear twice on an ancestor report for that
child. In the ancestor reports produced by this system, such common
ancestors will be noted and the lineage of the ancestor will be
continued only for the ancestor's occurrence with the smallest lineage
number.
If you have elected to show marriage dates in this report, the date of
marriage will only be shown on the line for female ancestors. The
number of years married is computed from the dates in the marriage
record, the death dates of the spouses and/or the current date at the
time the report is produced. If the death date of one of the spouses
is used to determine the number of years married, then an "*" will
appear to the right of that number in the report.
ANCESTOR REPORT OPTIONS MENU
As noted previously, many of the options for printing ancestor reports
appear as a Menu in a viewing area in the lower right corner of the
screen. This menu appears as follows:
Print ID's: N Sex: N
Age/Anniv: D (Y/N/D)
Relations: N (Y/N)
Places: N (Y/N)
Marriage: N (Y/N)
Comments: N (Y/N/A/S)
Page Nos: Y Line REF: Y
First Page Number: 1
The option for printing Ages or Last Anniversary may have values
"Y"es, "N"o or "D". The "D" means that an Age is only to be printed
if the individual has Died (or a Last Anniversary will be printed only
if the marriage has been terminated by death or other cause).
The option for printing Comments may have values "Y", "N", "A" or "S".
The "A" selection (for ALL) means that the comments are to be printed
34
(as with "Y") but that "bracketed" comments are to be included.
"Bracketed comments" are those that are enclosed in "curly brackets"
or "braces", "{" and }". This permits you to isolate possibly sensi-
tive or conjectural remarks from other comments. When you choose to
print these comments with the "A" option, the enclosing braces are
replaced with spaces. The value "S" requests that bracketed comments
be printed, but to "S"how the brackets instead of replacing them with
spaces.
Line REFerence indicators are line numbers that are printed in the
margin area, when Margin >= 4, to assist in finding the location of
individuals referred to in a report index. Producing report indexes
is one of the extended options provided to registered users.
Being able to set the value with which page numbers are to begin
allows you to print several different reports with continuous,
sequential numbering of the pages.
2. DESCENDANT Report (Main Menu option F2-A-2)
The Descendant Report may be produced in several formats. Individuals
may be grouped either by "generations" or by "families". The genera-
tion grouping uses the `bloodline' to group and `label' the indivi-
duals listed. In so doing, individuals in the same generation who are
`closely related' appear near one another in the report. Brothers and
sisters appear in succession in birth date sequence, with 1st cousins,
2nd cousins, etc. grouped around them. It is also easy to locate, in
previous generations, the ancestor which an individual has on that
generation level by locating the individual on that level whose blood-
line forms the initial sequence of numbers in the bloodline of the
descendant in question.
The "family" grouping will have children located closer to their
parents, though brothers and sisters will be more widely separated in
the report. The report for "family" grouping is printed in a "chart"
or "outline" format with each individual's name offset according to
the generation in which he/she belongs. This outline format will
probably be easier for most people to use.
Before printing a descendant report (or any of the other "relation-
ship" reports described in this section) you must identify which
individuals are to be listed. This is done by entering a "Base ID"
for the individual whose descendants are to be listed and letting the
program "search for" the descendants of the individual. The number
of generations of descendants that are to be searched appears under
the File Names in the upper left corner of the screen and may be
changed by selecting the option (F1) for changing file names.
When you press F3, the program asks you for the Base ID and whether
you wish to include adoptive relationships. It then begins the
descendant search, recording information about the located descendants
in the DESCNDNT.WRK file. This "work" dataset does not have to be
recreated each time an ancestor report is printed if there is no
change to the family file that would change the relationships recorded
35
in it.
Most Descendant report options appear in a viewing area in the lower
right portion of the screen. These are identical to those for the
Ancestor report. Please refer to the discussion of the ANCESTOR
REPORT OPTIONS MENU above for a further description.
If you have decided to identify adoptive relationships within the
system as described in Appendix C, you may optionally include or
exclude the adoptees and their descendants in this report. When
included, the bloodline will have an "*" next to an entry resulting
from an adoptive parent-child relationship.
If you have elected to show spouse information in this report, the
number of years married is computed from the dates in the marriage
record, the death dates of the spouses and/or the current date at the
time the report is produced. If the death date of one of the spouses
is used to determine the number of years married then an "*" will
appear to the right of that number in the report.
It should be noted that an individual may have more than one bloodline
to an ancestor in the case that a child has been born to cousins or
other related individuals, and that such persons would appear more
than once on the `descendant tree' of such an ancestor. The children
of such unions are noted on the descendant report produced by the
system and their descendants will be continued only under the first
listed bloodline.
3. RELATIVE Report (Main Menu option F2-A-3)
This report includes entries for all relatives of an individual found
during a search of the files which:
a. First locates all ancestors of the individual going back a user
specified number of generations, and
b. then finds all descendants of the individual and all located
ancestors, going forward a user specified number of generations.
The limits on numbers of generations searched allow some control over
the maximum "distance" located relatives will be from the individual
used to start the search. For example, if you are only interested in
"offline" relations to the 1st cousin level, you would set the number
of descendant generations searched to 2. The numbers of generations
searched appear under the file names in the upper left part of the
screen and may be changed by pressing F1 to change the File Names
section.
Before printing a relative report (or any of the other "relationship"
reports described in this section) you must identify which individuals
are to be listed by selecting option F3 and entering the "Base ID" for
the individual whose relatives are to be listed. The program will then
create a RELATIVE.WRK dataset in which the ID#'s of the relatives are
recorded. This "work" dataset does not have to be recreated each time
a relative report is printed if there is no change to the family file
that would change the relationships recorded in it.
36
The RELATIVE Report is a combination of the ancestor and descendant
reports which have been described above. In fact the ancestor and
descendant reports are "special cases" of the relative report as
follows:
a. the Ancestor report is a relative report in which the number of
"descendant" generations searched is 0, and
b. the Descendant report is a relative report in which the number
of "ancestor" generations located is 0.
All three types of reports are produced by the same program.
Prior to the introduction of the relative report, the ancestor and
descendant reports were produced by separate programs and were
selected by separate Main Menu options. For the sake of continuity,
you are still allowed to select the ancestor and descendant report
options independently from the Main Menu and the format of the
displays produced by these options reproduce those of the previous
programs. To avoid making the user have to unnecessarily go back to
the MainMenu program to return to a different one of the three func-
tions of this program, a method of directly switching between these
options is provided as follows:
a. pressing ALT+A selects the Ancestor report function (while in
the descendant or relative report portions of the program)
b. pressing ALT+D selects the Descendant report function (while in
the ancestor or relative report portions of the program) and
c. pressing ALT+R selects the Relative report function (while in
the ancestor or descendant report portions of the program).
The relative report is like a combination of the descendant reports of
the "base" individual and all the located ancestors. These individual
descendant reports are presented in the lineage number sequence of the
ancestors. If an individual occurs in more than one descendant report
(for example the father will appear as a child in the descendant
report of each paternal grand-parent) then the descendants of the
individual will only appear within the descendant report for the
ancestor of lowest lineage number. In subsequent "descendant"
reports, only a single line of information will appear for the indivi-
dual with a reference to the page and line number of the next previous
reference to the individual in the relative report. This has the
effect of eliminating much of the redundancy that results when pro-
ducing separate and complete descendant reports for each of your
ancestors.
There is an additional piece of information that can be shown for each
entry on the relative reports. It is a literal describing the
"common" relationship between the relative and the individual on whom
the report is based. Some of these relationship labels are:
Child, gChild, ggChild, g2gChild (great,great grandchild) etc;
Father, Mother, ggFather, ggMother, g3gFather (great,great,great
grandfather) etc;
Brother, Sister, Niece, Nephew, gNiece, g2gNephew, etc;
Aunt, Uncle, ggAunt, g4gUncle, etc;
Cousin, 2Cousin, 3Cousin (third cousin), 4Cousin, etc;
1C1R (1st cousin, once removed), 2C3R, 4C11R, etc.
These relationships are particularly useful for getting over that
37
"bloodline barrier" that sometimes makes relatives seem more distant
than they really are.
The options for formatting each of the "descendant" reports within the
relative report are the same as previously described for the full
descendant reports. They may be produced with descendants grouped by
generations or by families, and when grouped by families they will
appear in a "chart" or "outline" format with names offset according to
the generation level within the descendant report.
Most Relative report options appear in a viewing area in the lower
right portion of the screen. These are identical to those for the
Ancestor report. Please refer to the discussion of the ANCESTOR
REPORT OPTIONS MENU above for a further description.
If you have elected to show marriages and "Anniv"ersaries in this
report, the number of years married is computed from the dates in the
marriage record, the death dates of the spouses and/or the current
date at the time the report is produced. If the death date of one of
the spouses is used to determine the number of years married then an
"*" will appear to the right of that number in the report.
Another type of information that can be included in the relative
report (and after Sept 86 also the Ancestor and Descendant reports) is
the "COMments" that you have recorded under the name and spouse
records in your family files. Prior to the introduction of this
report, comment information was only printable in the Family Group
Reports. Being able to include these notes in the lists produced by
the system, should make them more accessible and useful in your
continuing research efforts.
The COMment information appears on separate lines following the line
of standard information for a relative or spouse. In the Fixed format
report it is preceded by a "COM:" literal, and individual comment
lines are joined together to form longer lines whose length is deter-
mined by the length of the standard data line for the types of infor-
mation you have chosen to include in the report. In the Free Form
report, the comments appear as a continuation of the "paragraph" of
information about the individual.
It is possible to isolate parts of the comment information for
optional exclusion from the printed comments. This is done by
enclosing the text of those comments within "braces" or "curly
brackets" ("{" and "}"). (If the entire comment area is enclosed in
braces, then no comment area will be printed.) A more complete
description of the formatting of comments in reports is given in
Section III.F.2 of this manual.
4. Family Group Reports (Main Menu options F2-B-1 and F2-B-2)
When the "Free Format" style of reports was introduced in March 1990,
I was unable to put all the instructions for both "old" and "new"
reports in a single program. Therefore you must choose between the
two styles of reports when you select the Family Group report option
38
from the Main Menu. The "Fixed Format" for the family group report
appears as a "filled in" family group worksheet. If you have recorded
only partial information for an individual, portions of the report
will appear as "blank" lines which could be completed as the informa-
tion is discovered. In the "Free Form" group report, all basic
information recorded for an individual "flows together" in "block" or
"paragraph" style. There are no "blank" lines for missing informa-
tion, but you may find this report more appropriate for sending to
relatives.
The FAMILY GROUP REPORT produced by the system is intended to provide
a complete listing of information on record for an individual. Infor-
mation that may be printed includes: personal information (name,
birth/death dates and places), parents, spouse(s), spouse's parents,
children, child's (latest) spouse, and all residence information for
the individual. The report may also show the "other" types of infor-
mation from Medical, Educational, Work and Military records. In
addition, all addresses and comments relating to the above information
can be included in the report. You may also include a line which
shows the Relationship and Lineage of the subject of the report based
upon a supplied relationship work file (i.e. an Ancestor/ Descendant/
Relative work file).
The `viewing area' in the lower right corner of the screen lists the
types of family file information that you may optionally include in
the family group report. Using program option F6, you may specify
whether or not a category of information is to be INCluded and (in the
Fixed Format report) the MINimum number of entries of that type that
are to be shown. If a category is to be included but the minimum
number of entries is set to 0, then a section for that type of
information will appear in the report only if there is information of
that type recorded in the family file. A section will appear in a
blank family group report form only if the MINimum number of entries
for that section is not 0.
There are two entries for comments in the list of information types.
The first controls the printing of NAME and SPOUSE record comments;
the last entry in the list controls all other comments. Several
people have requested being able to print both the SPOUSE record
comments and the spouse's NAME record comments under the spouse entry
in this report. This is allowed by the INClude parameter for the 4th
item in the list. If it has a value of "A" (for ALL), then both the
spouse record comments and the spouse's name record comments will be
printed (with a blank line separating them if they are both present);
if the INC parameter has a value of "Y" then just the spouse record
comments will be printed.
You will probably want to produce a Family Group report for each of
your ancestors (male and female) and any descendants who have main-
tained separate households. To help simplify the task of printing the
many Family Group reports that you will want to be saving, you are
given several options for BATCH printing of family group reports. You
may enter a list of ID #'s for reports that you want printed, or you
can instruct the program to read a relationship file (Ancestor/
Descendant/ Relative Work file) or a SELECT.WRK file to determine
39
which reports are to be printed. It is therefore relatively easy to
print reports for all ancestors of an individual or for all descen-
dants or relatives of a given individual. When printing reports using
one of these lists of ID#'s, you may also request to BYPASS the
printing of reports for children whose own group report contains no
information that is not found on the one being printed for a parent or
for wives whose own family group report contains no information that
is not found on the one being printed for the husband. (The last
option may sound a bit sexist, but I believe it probably conforms to a
common procedure for maintaining files of family group reports.)
Program option F4 requests the printing of reports for the selected
individuals. When printing reports for ID's in a list (either entered
individually or read from a file) you may specify whether to print the
reports in ID# sequence or in the order specified by an INDEX file.
(Creating an INDEX file is one of the extended options for the system.
It may be either a SORTED Index or one which sequences a group of
ancestors, descendants or relatives in the order that they would
appear in one of the relationship reports.) Further, you may request
that the reports be printed separately or that they be merged into a
single report with a line of asterisks separating individual reports.
In the merged report, pages are numbered sequentially and line number
indicators may be placed in the margins (when the margin is >4) to
assist in locating the source of references in the report indexes
produced by one of the system's extended options. The merged family
group report is intended to simplify the task of producing booklets of
family information.
a. Identifying Group Reports to be Printed
Group reports that are to be printed are identified by giving the
program the ID # of the primary subject of the report. Program
option: "F3 Change SELECT Type or ID's" allows you four ways
of entering these ID's. When you press the F3 key you will be
asked to:
Select: 1)Single ID 2)List of ID's 3)Select File 4)Relative File
If you choose "1", you will be asked to enter a single ID (in the
middle of the screen where it says: "Processing ID #:"
The Name record corresponding to the ID # will be retrieved and
the name found there will be displayed to confirm your selection.
This option was the only one provided prior to Oct 87. When using
this mode of selection, the printing of the reports is handled just
the same as it was prior to Oct 87.
If you choose SELECT option "2) List of ID's", the bottom line of
the screen will be formatted with an "option line", and the
blinking cursor will appear near the middle of the screen to the
right of the label "Processing ID #:". You can enter a list of
individual ID numbers by typing each one on the screen and pressing
the enter key. After entering an ID#, the corresponding name
record will be retrieved and the name found in the record will be
displayed to the right of the ID#. You can enter a range of ID #'s
by pressing the F2 key and following the prompts that appear on the
bottom line of the screen. Pressing the F3 key will delete the
40
currently displayed ID from the list. All ID #'s entered are kept
in a list in ID# sequence and you may use the PGUP and PGDN keys to
move up and down the list to review previously entered ID's. The
CTRL+PGUP and CTRL+PGDN key combinations will move you respectively
to the lowest and highest ID #'s in the list. Near the right
center portion of the screen the number of ID #'s currently in the
list and the total number of name records in the file are shown.
You may press the F10 key to SAVE the list in a SELECT Work file
for later reuse. After you have finished adding all the ID #'s to
the list that you want, press the F1 key to terminate the process.
You can return to change a previously entered list of ID #'s by
pressing the F3 key and then the SPACE bar.
If you choose SELECT options "3" or "4" then the SELECT work file
or the relationship work file, respectively, (identified in the
File name section of the screen display) will be used to determine
the ID #'s for which family group reports are to be printed. The
name record for the first ID in the resulting list will be
retrieved and the individual's NAME displayed. The number of
reports selected for printing and the total number of name records
in the file will be displayed at the right center part of the
screen. You may then proceed to change the list just as described
in the previous paragraph.
b. Printing Family Group Reports
When you use function F4 to print family group reports for a list
of ID#'s or for ID #'s in a work file, you will be given the
choice of printing the reports in ID # sequence or in INDEXed
sequence (described by the INDEX File in the File name section).
Creation of an INDEX file is one of the functions provided by the
extended protion of the system. Using an index file, it is
possible to print the group reports in SORTed order (for instance
in "Surname" sequence), or in RELATIONSHIP order (that is, in the
order that the individuals would appear in an ancestor, descendant
or relative report).
The viewing area in the lower right corner of the screen will be
reformatted with a Menu of Family Group Report options and you will
be asked if you want to: Change Report Options? (Y/N)
If you respond "Y", you will be given an opportunity to change the
following Menu:
N (Y/N) Print ID Numbers
Y (Y/N) Fill Blanks with Underlines
N (Y/N) Print Subject Lineage
N (Y/N) Line Between Children
N (Y/N/S) Print Brkt Comments
B (C/W/B/N) Use Bypass Logic
Y (Y/N) Print Line Ref
Y (Y/N) Print Page Numbers
1 = First Page Number
If you choose "Y" for "Print Subject Lineage", then the file
described by the RELATIVE file description among the FILE NAMES
41
will be used to create a relative table. While the group reports
are being printed, the relative table will be used to determine the
RELATIONSHIP (g3gFather, 3C4R, etc.) and LINEAGE (lineage
number+bloodline) of the subject of the report, if the subject is
among the individuals included in the table.
The option for "Line Between Children" allows you to request that a
blank line be inserted between children in the group report. This
came at the suggestion of a user who felt that it would make it
easier to read the child information. I agree with her, but it
also takes extra paper, so you are given the choice.
Beginning with the Sept 1988 update, you were given the option of
enclosing the text of certain comments with braces or "curly
brackets" ("{" and "}"), for instance to isolate sensitive or
conjectural remarks that you might not want to make generally
available. If you enter "Y" next to "Print Brkt Comments", then
bracketed comments will be printed along with the rest and the
brackets will be replaced with spaces. If you enter "N", the
bracketed comments (including the brackets) will be replaced by a
single space. If you enter "S" (for "Show") then the bracketed
comments will be printed along with the brackets.
When printing family group reports from a list of ID's, you are
given an opportunity to eliminate the printing of certain reports
whose information duplicates that found on another report that is
being printed. This is done by entering "C", "W" or "B" next to
the "Use Bypass Logic" option.
A value of "C" for "Use Bypass Logic" tells the program to
eliminate the printing of a report for a "C"hild whose parent's
group report is being printed and for whom there is no information
being printed in the child's report beyond that which appears in
that of the parent(s). For instance, if you are printing family
group reports for all descendants of an ancestor this option would
allow you to skip printing Family Group Reports for the many
persons (including minor children) who have simply been listed as a
child on one Family Group Worksheet but for whom you have never
received or had need to create a separate Family Group Worksheet of
their own.
A value of "W" for "Use Bypass Logic" tells the program to
eliminate the printing of a report for a "W"ife if the husband's
report is to be printed and her own group report would have no
information on it beyond that that appears on the group report of
her husband.
A value of "B" for "Use Bypass Logic" instructs the program to
employ the rules for eliminating "unnecessary" group reports for
"B"oth Children and Wives.
Line REFerence indicators are line numbers that are printed in the
margin area, when Margin >= 4, to assist in finding the location of
individuals referred to in a report index. Producing report
indexes is one of the extended options provided to registered
42
users.
Being able to set the value with which page numbers are to begin
allows you to print several different reports with continuous,
sequential numbering of the pages.
You are given two format options for printing family group reports
from a list of ID's. In particular, you will be asked to:
Select: 1)Separate Reports 2)Merged Reports
If you enter "1" then separate Family Group Reports will be printed
for each ID in the ID List that has been created (who is not
Bypassed as described above) just as if you had printed them
separately and individually. Any other response will result in all
family group reports being printed continuously with a line of "* *
* *" separating them. The pages in the "merged" report will also
be sequentially numbered. In effect, this provides you with still
another type of report...one which can show ALL information in the
file for each individual.
In the "Fixed Format" reports the MINimum counts of the types of
information to be included will be assumed to be zero (sections
will be shown for information of a given type only if it is to be
INCluded and there actually is information in the file for the
individual whose family group report is being printed).
One of the options in the extended part of the system allows you to
produce a printed index for these reports with the page and line
numbers for each reference to each individual in any of the family
group reports printed.
When printing batches of family group reports, you will be asked
whether to: Start at Beginning of LIST? (Y/N)
If you reply "N" then if you are printing separate group reports,
you will be asked to:
Enter Starting ID=xxxx
or if you are printing a merged family group report, you will be
asked to: Enter Starting Page=xxxx
This allows you to restart the printing of a batch of family group
reports without having to reprint those that have already been
successfully processed.
Finally, when printing batches of family group reports, you will be
asked before printing each report:
Print Report for ID=xxxx (Y/N/A)
If you reply "N" then the next ID to be printed will be looked up
and a similar message will be shown for it. If you reply "A" then
this report and all succeeding ones will be printed until you
terminate a report by pressing the SPACE key to pause it, and then
the ESCape key to cancel it. If you cancel a report, then you will
again be asked whether you want to print a report for the next ID.
If you press the ESCape key when this prompt is displayed, then the
entire print process will be terminated.
43
5. ANCESTOR CHARTs and MAPs (Main Menu option F2-C-1)
The system also produces ANCESTOR CHARTS for an individual in the
traditional `horizontal tree' format, with an individual appearing on
the left (center) of the page and the parents appearing to the right
above (father) and below (mother) the line on which the individual is
identified. You can print either "formal" ancestor charts, showing 4
generations of ancestry on each chart, or an Ancestor MAP with up to
53 generations of ancestors in a single continuous chart.
FOUR GENERATION ANCESTOR CHARTS
Because only 4 generations of ancestors (comprising 15 individuals)
may appear on a single "formal" chart, several charts may be required
to show all ancestors on file for an individual. The Family History
System has been designed to produce as many `subcharts' as are
required to show all recorded ancestors. In doing so, it is necessary
to employ some scheme to show how to proceed from one chart to the
next in a set. I have chosen to assign a `chart-ID' to each of the
charts produced. This chart-ID consists of the generation level of
the ancestor appearing to the left on the chart, and the number of
that ancestor within that generation level. Some chart-ID's would be
0-1 (the first chart of a set), 4-1, 4-2, 4-3,...,4-16,8-1,8-2,...,8-
256, etc. This method of identifying charts has the advantage that
charts which are not printed, because they are empty, can be printed
at a later time (when information does appear on them) and they will
have a natural place in the sequence of charts, without affecting the
previous Chart ID's.
Charts will be printed only if an ancestor has been recorded on the
chart. If an ancestral line may be continued beyond one of the charts
in the series, then the chart-ID for the appropriate continuation
chart will be shown on the right side of the chart to be continued.
Individual entries on the chart may be numbered from 1 to 16 on each
chart, or you may choose to label each entry with the lineage number
of the ancestor recorded on the line.
If you have decided to identify adoptive relationships as indicated in
Appendix C, the adopted parent will be noted on the ancestor chart
with an "*" in the first position of the NAME field.
The "Spouse of Entry #1" appearing in the lower left corner of each
chart is the most recent spouse of the individual listed in entry #1
and may not be the "paired" ancestor on the chart.
Blank ancestral charts may be produced for recording ancestral infor-
mation prior to entering the information into the system's files.
ALL GENERATION ANCESTOR MAP
You may also print an ALL GENERATION Chart which, though not as
formally presentable as the 4 Generation Charts, has the advantage of
providing a complete overview or MAP of ALL (up to 53 generations) of
the recorded ancestors for an individual in a single report. The
format of this report is such that:
the information for each ancestor occupies a single line
44
no lines are produced for "missing" ancestors
the line for the father of an individual on the report is above
the line of information for the individual
the line for the mother of an individual on the report is below
the line of information for the individual
the information for ancestors is offset 4 spaces to the right for
each generation level
all parent-child relationships are graphically represented by
lines connecting the child to the parent(s).
The information shown for each ancestor includes:
The lineage number of the ancestor
(Optionally) the ID # of the ancestor, within parentheses
The ancestor's NAME
(Optionally) the birth/death dates and age, in the format
b. 7 Apr 1863,d.10 Feb 1937 at age 73
(the age is shown only if both birth and death years are known.
If either date's month and day are unknown an "?" will appear to
the right of the age)
This ALL GENERATION Ancestor Chart or MAP is printed continuously
in a single long report with no breaks at page boundaries. Up to 20
generations of ancestors may be printed using compressed print on
8 1/2" wide paper. Reports which exceed the width of the available
paper can be printed out in 2 or more strips using the OFFSET Printer
parameter. For example, suppose you wish to print a report that would
require a 150 character print line but you are using a font and form
which only allow 80 printed characters. You can print the report
first with a Form Width of 80 and OFFSET=0 to get the left most 80
characters of each print line and then print it again with an OFFSET
of 80 to get the right most 70 characters of each print line. The two
strips can then be joined together along the side to produce a
complete ancestor Map.
6. DESCENDANT CHARTs (F2-C-2)
The Family History System can also produce graphical charts of descen-
dants with information in "boxes" connected by "relationship lines".
A descendant chart may include up to 99 generations. Large charts can
be printed in 'strips' which can be joined together to make a "wall
chart" or you can print the full chart to a file for special
processing by any printing utilities you may have.
The chart format groups descendants by "generation levels" with
information on individuals in the same generation level recorded in
boxes which are in the same column of the chart. The first child of
each descendant is recorded in a box to the right of the parent and in
the same row of the chart. Children are sequentially numbered and an
adopted child is denoted by an "*" to the right of the child number.
You may request that the descendants of each individual in the chart
be printed before the row containing the next sibling or cousin, or
you may permit the program to "nest" the families together whenever
possible, producing a more compact chart.
45
The information shown for each descendant may include name, birth and
death dates and places, marriage dates and places, spouses' names and
spouses' birth and death dates and places. All boxes of information
are the same width, which you may specify. If the width is not
sufficient to show the information that is to appear on a line, the
data will be truncated to the size of the box. To help minimize this
truncation without requiring excessively large boxes, the program will
adjust the format according to the box width as follows:
If datawidth is less than 27 characters, then birth and death
dates will appear on separate lines; if place information is
included and the box width is less than 35 characters, then
dates and places will be shown on separate lines.
In addition you may request that names be shown on 2 lines, with
surname and given names on separate lines. (You can request either
surname or given name be first, and you may ask that the surname be
capitalized for emphasis.)
As with other relationship reports, 'crossed' family lines are noted
and the descendants of the children of related individuals will only
be shown under their earliest appearance in the chart. Subsequent
chart entries for the same individual will have a back reference of
the form: (Same as GL=xxx, line=yyy)
where xxx is the generation level of the earlier occurrence and yyy is
the line number. Please note that the left most 'generation level' is
the '0' level, the next is '1', etc.
Realizing that it may be difficult to locate particular individuals on
a large chart, you can create a REFERENCE file which identifies the
generation level and line number on which each individual's name
appears. An extended option can then print a Chart Index from
information in the REFERENCE file.
PRINTING DESCENDANT CHARTS
Before printing a chart, you must identify the individual whose
descendants are to be "charted". This is done using the chart program
option F3 and entering the ID number of the individual's name record
in the FHS family file. This process does not build a "work" file, as
the descendant report program does, but just verifies that the ID # is
valid and displays the name from the chosen record.
Charts are printed using chart program option F4. You will be asked
whether you want the output to go to the SCREEN, PRINTER or FILE. If
you choose file output, you will be prompted to enter the name of the
output file which is to be created. Screen output is limited to 79
characters and printer output is limited to the "forms width" given in
the Printer Parameters, but file output contains the entire chart...
When printing to the screen or printer, if a line of the chart extends
beyond the right side of the strip being printed, then after the
printing of the strip is completed, you will be asked if you want to
continue printing with the next strip.
When printing a chart, you are also asked to select the format for
names from among:
1. Last, First 2. LAST, First 3. First Last 4. First LAST
Therefore you can have the surname either precede or follow the given
46
name, and you may request that the surname be converted to all capital
characters (options 2, 4) for visual emphasis.
Before the printing of the chart begins, you will be asked whether you
wish to create a REFERENCE work file. This file will contain an entry
for each name in the chart, identifying the generation level and line
number on which the name appears. The report index option of the
extended system can then print an index from information in the
reference file.
If you are not sending output to a file, you will be asked if you want
to: Start at beginning? (Y/N)
This permits you to continue printing an interrupted chart at a line
below the top of the chart. If you reply "N", then you will be asked
to: Enter Line number to begin printing: ____
If you choose this option then the printing of the chart may appear to
be delayed because the program must still process the unprinted lines
in order to "find its place". (Please note that starting the print
with a 'strip' after the first or leftmost one is accomplished by
using the Printer OFFSET field among the printer parameters in the
upper right corner of the screen. For instance, if you have a forms
width of 132 charactres and you want to begin printing the 3rd strip
of a chart, you would set the OFFSET to 264.)
You can pause the printing by tapping the space bar. You can then
terminate the printing by pressing the ESCape key, or continue it by
pressing any other key. If you continue the printing by pressing the
PGDN key, then the program will pause at the top of the next page.
This can be useful if you see that your printer is running low on
paper and want to pause at a convenient place for adding a new supply.
Several options for formatting descendant charts are shown in a
viewing area in the lower right corner of the screen. Program option
F5 permits you to change these options. Your changes will be
'remembered' throughout a FHS working session but the default values
will be restored at the beginning of the next session. These options,
together with their default values are:
15 Data Area Width
Y Print Name on 2 Lines
N Show ID Numbers
Y Show Birth/Marriage/Deate Dates
Y Show Places
Y Show Marriages
N Show Line Refernce Index
Y Allow Nesting
Y Continuous Forms
The 'Data Area Width' is the number of characters that can be placed
on each line of an 'information box'. Each generation shown in the
chart actually requires 5 more characters, for the sides of the box
and connecting lines. The minimum value for the data area width is 0
and this is really only suitable for seeing the basic structure of the
chart. The default value of 15 allows viewing four generations on the
screen but would probably not be suitable for a printed chart because
of the amount of truncation. A width of 25 would allow places to be
shown without truncation. If places are not shown, a width of 27 will
47
permit birth and death dates to be placed on a single line of the box.
If places are included, a value of 39 will permit date and place
information to be placed on the same line. A value of 32 is the
smallest box width that would guarantee no truncation of any informa-
tion (assuming names are placed on 2 lines). In many cases, a value
smaller than 32 will be sufficient to avoid truncation, even with the
full name on a single line. Whatever value you choose for the data
width, the full chart can be printed on any printer, though it will
likely be necessary to print it in several 'strips' that can be joined
together to produce the full chart.
The option 'Print Name on 2 Lines' allows you to request that the
Given name and Surname appear on separate lines in the information
box. When you begin printing a chart, you are allowed to request
whether the surname (the last name) or the given name will occur
first. The name that occurs first in the chosen format will be placed
on the first line when the name is placed on 2 lines. The purpose of
this option is to permit you to print a chart with a smaller data
width without having any truncation of a person's name.
If 'Show ID Numbers' is chosen as a chart option, then the ID number
of each name record will appear, within parentheses, at the beginning
of the formatted name. If marriages are also to be shown then the ID
number area of each descendant who has another parent recorded will be
in the form: (xxx:yyy) where the first number is the ID for the
child's record and the second number is the ID number for the parent
that is NOT among the descendants charted. This may be one of the
spouse's of the parent on the chart (this may be determined by looking
at the information box for the parent) or it may be the ID number of
someone who was never married to the parent. If the ID of the other
parent is shown, then an "*" will appear to the right of the ID if it
is an adoptive relationship.
The 'Show Line Ref' option controls whether or not a 'line index' will
be printed in the leftmost 5 characters of the chart. This line index
can be useful for locating a particular information box from a
reference in the chart index that can be printed using one of the FHS
extended options.
The 'Continuous Forms' option determines whether the chart is to be
printed continuously across perforations of 'fan-fold' paper, or
whether it should be stopped 2 lines from the bottom of the page,
followed by a form-feed to the top of the next page. This option is
primarily for those who are using laser printers or other cut sheet
printers.
The 'Allow Nesting' option controls whether or not the chart entry for
a younger sibling can be placed in the chart before all the descen-
dants of an older sibling have been charted. See the diagrams on the
following page for a comparison of nested and un-nested charts. In
the charts that I have tried, nested charts require 20%-30% fewer
lines than unnested ones for the same group of descendants. Of course
this is very much dependant on the pattern of relationships being
charted.
48
An UNNESTED Chart A NESTED Chart
+----+ +----+ +----+ +----+ +----+ +----+
---+ +-+-+ +-+-+ ! ---+ +-+-+ +-+-+ +
+----+ ! +----+ ! +----+ +----+ ! +----+ ! +----+
! ! ! !
! ! +----+ ! +----+ ! +----+
! +-+ + +-+ + +-+ +
! +----+ +----+ +----+
!
! +----+
+-+ +
+----+
+----+ +----+ +----+
---+ +-+-+ +-+-+ +
The chart at the right is the same whether +----+ ! +----+ ! +----+
nesting is chosen or not. The second ! !
child in the first generation cannot be ! ! +----+
placed on the chart earlier because of the ! +-+ +
space required for his/her own child. ! +----+
!
! +----+ +----+
+-+ +---+ +
+----+ +----+
B. Report Program Parameters
Each report program permits the operator to change several 'para-
meters' that control the information going into a report as well as
the format of the output. This includes the names of system input and
work files as well as printer destination and `setup', and form size.
Changes to the report parameters are made by selecting the type infor-
mation to be changed using the appropriate function key, changing the
information on the screen (using TAB and SHIFT+TAB to move between
updatable fields just as in the file maintenance program) and pressing
the F1 key when all desired changes have been made.
Printer destination can be LPT1: or LPT2: (parallel printers), COM1:
or COM2: (serial printers), or SCRN:. In the case that the destina-
tion is set for SCRN:, you will not be prompted to identify whether a
report is to be sent to the screen or printer.
The report programs will also permit you to route your printer output
to a file. Some users have taken advantage of this feature to print
reports with a longer print line than is normally allowed for their
printer and then using a sideways printing utility to process the
report output file. You may want to create a separate printer table
just for this process.
The printer "SETUP"s selected must previously have been created (using
MAIN MENU option F3-C). If you change the SETUP number, the program
will attempt to read the printer table from the FAMILY.DAT file on the
"default" drive (the one on which you started the programs). If it
doesn't find the FAMILY.DAT file there, it will ask you to:
Place diskette with FAMILY.DAT in default drive...
49
This should only happen if you are running the programs from diskettes
and have removed the STARTUP diskette from the default drive. If you
replace the STARTUP diskette in that drive and press any key, the
program will again attempt to find the FAMILY.DAT file to retrieve the
desired printer table SETUP.
The `MARGIN' parameter allows you to indicate the left margin offset
in numbers of blank characters. This is to allow room for binding or
punching holes for inserting the report in a notebook. (Note that
when printing the Ancestor, Descendant, Relative or "batched" Family
Group reports, use of a margin >3 will result in the placement of
"line number" indicators in the margin area. These are useful when
locating a reference from the report index, which may be produced as
an option of the extended system.
The `Form OFFSET' parameter may be used to print a report (in more
than one pass) when a selected printer or printer font is unable to
print an entire report line. For example, if you are using a font
which allows only 80 characters across a page but the report line
requires 132 characters, you could print the first eighty characters
of the line with an OFFSET=0 and print the report again with OFFSET=80
to pick up the last 52 characters of the report line.
The ancestor/descendant/relative report program, when printing "fixed
format" reports, will print each individual's information on two lines
in the case that birth and death places are to be shown and the form
size is too narrow to put all information on a single line. When
individual record ID's are also being printed, these may appear on a
2nd line if the form is too narrow to include the information on a
single line.
50
VI. Validating System Maintained "Pointer" Information (F3-E)
In order to permit you to place variable amounts of "miscellaneous"
information and comments about an individual in your family files
without requiring excessive amounts of space on your diskette or hard
disk, an individual's information is stored in many "records" distri-
buted among 3 datasets (name, address and miscellaneous information).
All of these records are "drawn together" by a collection of system
maintained pointer fields. You are no doubt familiar with some of
these fields: the mother and father ID numbers in the name record are
two, and the spouse ID in a marriage record is another. There are
many others that you are not (and need not be) aware of. In addition,
each record in the family file datasets has an identifier as to the
type of information stored in the record and the "source" of the
information (whether an address record is an individual or family
residence, for example). It is important that the complete set of
"pointers" and record identifiers for those records relating to an
individual be valid and consistent.
The first record of each family file dataset also has information that
helps the programs determine whether the datasets that you are using
"belong together". This is to protect you from inadvertantly
attempting to enter information into, or produce reports using
datasets that are from two or more family files that you may be
working with at different times. In the ".ADR" and ".OTH" datasets,
these "header records" also have some additional "hidden pointers"
that help the file update program keep track of deleted records.
There are several ways in which inconsistencies may be introduced into
this "hidden" collection of information. Because updated file records
may remain in memory and not be written to disk until the files are
closed (or until you return to the Main Menu program from the file
update program) any interruption of an update session by prematurely
turning off your coumputer or by a power failure may result in
incomplete updates to the system information. Errors in some versions
of the file update program are another (unfortunate) source of
inconsistencies in system pointers (for instance, at one time you
could enter the same ID number for mother and father, which would
introduce errors in the files).
The purpose of the program invoked by Main Menu option "F3-E" is to
detect and correct any errors in the system maintained "hidden"
information. Upon entry to the program you will see that all three
datasets that make up your family file are used by the program. You
also will see displayed some information about these datasets that is
not shown by other programs in the system; this includes the "date of
(most recent) update" for each dataset, the number of records in each
dataset, and the number of "free" records in the address and
Miscellaneous info datasets. ("Free" records are ones which have been
deleted by you using the file update program, thus permitting them to
be re-used the next time information is added to the dataset.) These
dates and record counts are stored in the "header records" of each
dataset and are maintained by the file update program when you enter
or change information in the files. As usual, program option "F1" of
the validation program may be used to respecify the names of datasets
51
to be "validated".
(NOTE: if a family file has been corrupted as a result of an
interrupted update session and a recent backup is available, it is
always preferrable to restore the file from the backup, since
correction using the validation program may result in some loss of
information. If there have been many updates to the file since the
last backup or the file errors are also in the backup copy, then the
validation program can provide a "clean" file for you to continue your
work with minimal loss of data.)
Option "F2" of the validation program is the one that does all the
work. When you select it you will be asked whether error messages
should be sent to the screen or printer, whether you want the program
to make corrections to the files, and which name record ID number to
begin with.
If you get the message:
"Unmatched Files...Do you want to Continue?"
when you select the F2 option then the program has determined that the
"header record" of the ".ADR" or the ".OTH" dataset does not have the
same date or time of creation as the ".NAM" dataset does. This may
happen as the result of a problem with previous versions of the file
update program in which the "date time stamps" in the header records
were not "synchronised" when the files were first CREATEd. In very
early FHS versions, the programs didn't make use of these date and
time fields for determining whether files went together, so you may
not have had any problem until you updated your version of the
programs to one that DID check these values....If you are absolutely
certain that the files you are using DO belong together, you may reply
"Y" and the header records will be "synchronized" during the
validation procedure.
Actually this validation procedure is divided into several phases.
More will be said about what is done in each phase later but they may
be described briefly as follows:
I. Validate information in Name records (this is by far the most
time consuming of the phases, taking perhaps 90% of the total
execution time); this is the only phase of checking performed if
you request to begin with an ID# other than 1;
II. Check for broken "sibling" chains (determine children who are
not "listed" as a child of a recorded parent);
III. Check Address dataset free record chain;
Check for isolated or unreferenced address records;
IV. Check Miscellaneous dataset free record chain;
Check for isolated or unreferenced miscellaneous records;
Check for "partially referenced" marriage records;
V. Synchronise date time stamps in "header" records if files are
"unmatched" and updates are being performed.
The suggested procedure for using this program is:
1. Backup your family file datasets. If none of the datasets
exceed the capacity of the diskettes you use, the DOS COPY
command can be used to back them up, otherwise you will have to
use the DOS BACKUP command (or some equivalent utility) to back
52
them up;
2. Run option "F2" of this program with output going to the printer
and allowing the program to make file changes;
3. Run option "F2" again with output going to the printer...all
program correctible errors should now be gone.
4. Using the file update program (Main Menu option F1), review
information for individuals whose ID# appeared in any of the
error messages.
Some suggestions and comments concerning the use of this program:
if possible, run this program with your family files located on a
RAM disk. It will greatly reduce the time required for the run;
(incidentally, running the validation program against my files,
which contain information on about 1500 individuals, required about
55 minutes using a standard IBM-PC with all datasets on a single
floppy diskette using the interpreted version of the program; it
takes about 55 seconds running the compiled version off the hard
disk of an AT);
a "progress report" is given when you tap the space bar while the
program is processing the name record file (phase "I" above); the
validation procedure can also be interrupted if you press the
ESCape key during this phase of operation.
The remainder of this section gives more detailed descriptions of the
various phases of the validation process. This information is
primarily for my own documentation so don't feel that you have to
understand it to make use of the program.
Before discussing the phases in detail, let's first look at the type
of "identity" information stored in the "prefix" of each address and
misc info record. Each record begins with a 1 character record type
as shown in the "RTYPE" table which follows. (The record types were
changed in the December 1985 update of the system. This program
recognises both the old and new record types, but changes all old
record types to the new type when updating the datasets.) In
addition, the "header" record of each family file dataset has a
leading 1 character file type which is used to check that a dataset
used in one of the report programs has been properly initialized.
This "file type" is also shown in the following table.
TYPE Table: Old RTYPE New RTYPE
CHAR ASCII ASCII
Name record 1 049 001
Address record 2 050 002
Spouse Record 3 051 003
Place Record 4 052 004
Comments F 070 005
Education record 7 055 007
Work record 8 056 008
Military record 9 057 009
Medical record A 065 010
53
NAME dataset N 078 078 (unchanged)
ADDRESS dataset A 065 065 (unchanged)
MISC dataset M 077 077 (unchanged)
In addition, each address and misc info record contains the record
type and record number of the "source" record to which it is appended.
In the error messages produced by this program, the "source record
type" is labeled "SRTYPE" and the "source record number" is labeled
"SRNO". (For example a "family" residence will have SRTYPE=3, the
record type of a spouse record. A comment record attached to an
Education record will have SRTYPE=7.)
I. During "Phase I" of the validation process, each name record is
read successively (beginning with the ID# specified by you at the
beginning) and the following checks are performed:
1. Mother and Father ID
a. must be between 0 and the highest ID# on record (invalid
parent ID's are set = 0);
b. if parent ID>0, sex of parent is checked and discrepancies
reported (father's sex should be "M", mother's sex should be
"F"); no corrections are made since the program cannot
determine whether the sex or the parent ID is in error;
2. Sibling chain
a. the name record for the oldest child is retrieved and parent
ID's checked to make sure that ID# of name record being
validated is either the father ID (FID) or mother ID (MID);
b. younger children's records are retrieved and parent ID's are
similarly verified; (if the ID# of the name record being
validated is not found as a parent in a child's record, the
sibling chain is terminated);
c. if a child's ID is encountered a second time while following
the sibling chain, the "loop" is noted and the sibling chain
is terminated;
d. a note is made of each child correctly located on sibling
chain; this information will be used later for identifying
"broken" sibling chains;
3. Birth/Death Place Record
a. record number must be between 0 and max Misc Rec #;
b. if record number>0 then record is retrieved and record type
and source record information is checked (see previous table
of record types and discussion of source record information);
4. Comment Records for individual
a. first comment record ID must be between 0 and max Misc rec#;
b. if comment records are present, first comment record is
retrieved and record type and source record information
checked; total comment record count from first record is
saved; backward pointer should be 0;
c. successive comment records are retrieved and record prefix
verified as for first record; backward pointer should point
to previous record;
d. after last comment record is retrieved, total record count is
54
compared to what had been stored in first comment record;
(if record type or source record information is incorrect,
the comment chain is terminated; all other discrepancies are
corrected by the program);
5. Address Records for individual
a. first address record # must be between 0 and max addrs rec#;
b. if address records are present, first address record is
retrieved and record type and source record information
checked;
c. successive address records are retrieved and record prefix
verified as for first record;
(if record type is incorrect it is corrected; if source
record information is incorrect, the address chain is
terminated);
d. address comment records are checked (as in 3.)
6. Spouse information
a. first spouse record # must be between 0 and max misc rec#;
b. if spouse records are present; each spouse record is
retrieved and checked for valid record type and source record
information;
c. spouse ID's in the record are checked to see if one
corresponds to the name record being validated;
(if record type or source record information is incorrect, or
ID# is not in spouse record, the spouse record chain is
terminated);
d. if marriage place record is present for any of them, that
record is retrieved and record type and source record
information is checked;
e. spouse comment records are checked (as in 3.)
f. spouse residence records are checked (as in 4.)
7. Miscellaneous information
a. first misc record # of each type must be between 0 and max
misc rec#;
b. if misc information is present, first record is retrieved and
record type and source record information is checked;
(if record type or source record information is incorrect the
chain is terminated for that type of misc info);
c. misc info comment records are validated (as in 3.)
d. misc info address information is validated (as in 4.)
II. After all name records have been individually checked, the record
of all validated parent pointers is checked to see if any name
record was not located on a parent-child chain. (Unverified parent
ID's are set =0 in the name record.)
III. Records on free chain of Address dataset are checked to see if
they have been referenced during Phase "I". Address records which
were unreferenced in Phase "I" and not on FREE record chain are
noted and added to FREE record chain. Count of FREE records in the
address dataset header record is compared to the number of records
on the FREE chain. A discrepancy is noted and corrected.
55
IV. Records on free chain of Miscellaneous Info dataset are checked to
see if they have been referenced during Phase "I". Records in Misc
Info dataset which were unreferenced in Phase "I" and not on FREE
record chain are noted and added to FREE record chain. Count of
FREE records in the misc info dataset header record is compared to
the number of records on the FREE chain. A discrepancy is noted
and corrected.
While checking for unreferenced misc records, the number of
references (during Phase "I") to each spouse record is checked. A
message is displayed if a spouse record was not referenced exactly
2 times. This situation may be correct in the case that a marriage
record was created with a spouse ID=0. This is permitted by the
system to allow for the (unlikely) case that a marriage date is
known but insufficient information about the spouse exists to
justify creating a name record (the spouse name is given as
"(Unknown)" in descendant and family group reports). If both
spouse ID's are shown to be non-zero in the error line produced by
the program, then an incorrect situation does exist. You must then
use the file update program (main menu option F1) to retrieve the
marriage record from the spouse ID that it is accessible from,
delete the marriage record, and then readd it.
56
VII. Export\Import Utilities.
Whenever you spend a great deal of time entering information into a
file on your PC, there are invariably instances when you would like to
be able to get to that information for processing by another program.
When the file is in a format that was designed especially for the
program used to originally create it, it may be very difficult or
impossible to use it with any other software. At such times you may
get the feeling that your own information is being held "captive"
within the "non-standard" format file.
To alleviate the anxiety of users, most software that employs special
formats for storing information will supply utility programs for
"converting" information into a more generatlly usable form. The
process for converting information from a "special" format file to a
"standard" format file is called "EXPORT" while the term "IMPORT"
refers to a process of converting information from a "standard" format
file to a "special" (non-standard) format file.
This section describes two FHS programs that allow you to EXPORT
family file information into "text" files that can be used by other
software. One of these utilities also supplies an IMPORT procedure
for moving (possibly large quantities of) information from a "text"
file into an FHS family file. One of these programs uses the GEDCOM
(GEnealogical Data COMmunication) format for sharing information with
other genealogy software. The other creates files that can be used
with a shareware organization chart utility for printing graphical
descendant charts.
A. GEDCOM Export/Import Program (F3-D-1)
The PAFGEDCM Export/Import program allows you to transfer information
between Family History System files and family files maintained by
other software packages that support the GEDCOM format. The "Export"
option converts information from a FHS family file into an expanded
ASCII (or standard character) format and places it in a text file,
TRANSFER.GED. Information in the text file can then be "Imported"
into a new empty set of family files, or may be appended to an
existing set of family files. In the latter case, the system's file
maintenance program may then be used to establish relationships
between old and new individual records. All family relationships
between transferred records are preserved across the export/import
procedure.
The format of the transfer dataset is based upon the descriptions of
the format provided by the LDS Family History Department as imple-
mented in the Personal Ancestor File (PAF) software, v2.0 and v2.1.
This format prescribes that each data item (Name, BirthDate, etc.)
appear on a separate line in the transfer dataset, with related items
being grouped by associated "level numbers" and each individual data
item labeled by a 3-4 character "Tag".
Actually, the GEDCOM formats introduced by PAF 2.0 and 2.1 have some
significant differences, both in the TAGs used and the methods for
57
representing family and marriage relationships. When this GEDCOM
option was first added to FHS, in Sept 88, only PAF 2.1 was actually
using the new format. The other GEDCOM supporting packages were
designed to the PAF 2.0 specifications. Since PAF 2.1 could handle
either format, there seemed to be no loss in generality by having the
FHS utility able to import either PAF 2.0 or 2.1 format GEDCOM files,
but export information using the 2.0 format.
In the subsequent year and a half, many other genealogy packages added
GEDCOM utilities, but nearly all embraced the 2.1 format only.
Therefore, in the March 1990 update, the FHS utility was modified to
permit exporting or importing information using either GEDCOM
description. The format used during an export operation is determined
from the SOURce and DEST items in the GEDCOM header record. If the
SOURce is "PAF" or the DEST is "PAF 2.0", the GEDCOM file is processed
using the rules introduced with PAF 2.0. Otherwise it will be
processed using the rules introduced with PAF 2.1 and continued with
PAF 2.2. During an import operation you will be asked whether the
file being imported follows the rules for PAF 2.0 or PAF 2.1.
1. Program Operation
Upon entry to the Export/Import program you will notice that the
screen is formatted similarly to others in the system. In the
upper left corner are listed the datasets that may participate in
the various program options. These include the NAM and OTH data-
sets from a family file, an index dataset (name records may be
exported in ID# sequence or in an indexed sequence), a SELECTion
dataset created by the system's Search/Select/LIST program or the
Family Group Report Program, and a new TRANSFER dataset. The
identification of the datasets to be used may be changed using
program option F1 as usual.
In the upper right corner of the display are the familiar printer
parameters. These are used when the program option (F6) is
selected for printing the information in the TRANSFER dataset.
The printer parameters may be changed using program option F2.
In the "viewing area" in the lower right corner of the screen are
listed the various types of information (by family file record
type) that may be transferred. The number next to each record type
will be hilited or not depending on whether or not that type of
information is to be processed during the next selected import or
export procedure. Although Name Records are always processed, you
may adjust the selection of other types of information using
program option F3. (Note: this program will only process those FHS
record types that provide information that is found in the PAF
implementaton of GEDCOM.)
The lower left part of the display lists the program options that
may be function key selected. These include:
F1 Change File Names
F2 Change Printer Parameters
F3 Change Information Table
F4 Export Information to Transfer dataset
F5 Import Information from Transfer dataset
58
F6 List Dataset of Exported Information
F9 Return to Main Menu
Options F1,F2, & F9 have either been described above or should be
familiar from their similarity to options in other programs of the
system. The other options will be described in the following
sections.
2. Changing the Table of Types of Information to be Processed
As described above, the lower right corner of the display has a
"viewing area" in which are listed the different types of
information that are stored in the Family History System datasets.
These include:
0.Name Records
1.Places (Birth/Death/Marriage/Divorce Locations)
2.Spouse Records
3.Educational Records
4.Occupational Records
5.Military Records
6.Medical Records
7.Address Information
and 8.Comment Lines
Program option "F3" permits you to indicate which of these types of
information are to participate in an import or export process. A
reason for wanting to restrict the information transfered might be
that you want to exclude sensitive information among the remarks.
When you select program option F3, the hilited border moves to the
lower right corner of the screen and the message:
Enter 1,2 or 8 to Toggle Transfer of Information Type
appears at the bottom of the screen. If you press one of the
indicated number keys you will find that the corresponding
character in the list of information types will be alternately
hilited or displayed in normal intensity. If the character is
hilited, it indicates that the information type is to be processed
during the next export or import procedure. When you have hilited
just the items that you wish to process, press the Enter or Return
(or ESC) key to terminate the process and return to the selection
of another program option.
3. Exporting Data from your Family file
(NOTE: Prior to using the Export option, I would recommend that you
use the Validation option (F3-E) to verify that there are no
inconsistent relationships between the family file records that
could cause problems during the export procedure. The export
procedure will also assume that husbands have a sex code of "M" and
that only one of the participants in a marriage is a "M"ale.)
Selecting program option F4 initiates an export process in which
information is copied from your family files into the TRANSFER
dataset. You will first be asked whether you want to:
Export 1) ALL Records 2) SELECTed Records
59
If you choose to export selected records, you must have previously
used the system's Search/Select/LIST program (Main Menu option F2-E
of the extended system) or the Family Group Report Program to
create a "selection table" and save it in the SELECT dataset.
You will next be asked to:
Select: 1)INDEXed 2)ID # Sequence
that is, you must specify whether the exported individual name
records are to be in indexed order or in ID# sequence. To export
in an indexed order, you must first have created the INDEX file
using Main Menu option F3-F of the extended system. If you have
entered information from family group worksheets, then ID# sequence
would be the best choice to permit efficient processing of the
family files created from the Transfer dataset. After indicating
the order of export, the program builds the "Sequence Reference
Table" that identifies which name records are to be processed and
in what order.
Next, the viewing area in the lower right corner of the screen is
cleared and formatted to permit entry of descriptive information
that will be stored in the transfer dataset's header record. This
information includes the Name, Address & Phone number of the
"submitter", the source and destination system identifiers, and up
to 3 lines of comments. If the SOURce system is "PAF" or the DEST
system is "PAF 2.0", the information will be exported in PAF 2.0
GEDCOM format, otherwise the rules for PAF 2.1 GEDCOM files will be
used. You may choose not to enter anything in the header record
for datasets only used for local transfer of information. Press
the F1 key when you are ready to continue with the export
procedure.
You will next be asked to:
Enter Drive ID (A,B,C,...) for POINTER Workfile
This workfile is a temporary dataset needed only for the duration
of the export operation to place information concerning the rela-
tionships between records in the TRANSFER dataset. It is needed
because of the differences in the ways records are connected in the
FHS family file and in the PAF GEDCOM file. A RAM disk would be a
good place for this dataset if you have one available.
The process of building the POINTER workfile is accompanied by the
sequential display of the messages:
Building POINTER Workfile
Reversing Direction of Sibling Pointers (only PAF 2.0 format)
Finding Family Record of Parents
If there are children in the file whose parents are not married, a
dummy marriage record will be created for the parents because
within PAF GEDCOM files parent-child relationships are established
through the marriage record of the parents. In this case, at the
termination of the building of the pointer workfile, the message:
xxx NEW Parent Family Records Created...
will be displayed. You must press a key to acknowledge the message
before the export process will continue.
When the export process begins, the viewing area in the lower right
60
corner of the screen will again be cleared and the list of Infor-
mation to Transfer will be redisplayed. As the export process
continues, the number of records exported of each type will be
shown next to the line describing the record type. You will see
that family records are created only after all the name records
have been processed.
Perhaps I should note that I have chosen to include a few "non-
standard" data items to allow for information that seemed too sig-
nificant to omit. In particular, an adoptive parent relationship
will be noted by tags of ADFA (for ADoptive FAther) or ADMO (for
ADoptive MOther), and comments under a marriage record will be
exported as NOTEs under the GEDCOM family record...Although indi-
vidual record ID's in the GEDCOM file are numbered sequentially,
beginning with I1, the original ID # of the source record in the
FHS file is given as an RFN tag (in PAF 2.0 format) or a REFN tag
(in PAF 2.1 format) under the INDI record.
The export procedure may be terminated at any time by pressing the
ESCape key, though a partially created transfer dataset should not
be used in a subsequent import procedure.
When the process is finished, the message:
Export finished at hh:mm:ss...
will be displayed at the bottom of the screen. Pressing any key
will "clean up" the display and allow you to select another program
option.
4. Importing Information into your Family Files
The process of moving information from a TRANSFER dataset into an
existing set of family datasets is begun by selecting program
option "F5". The family datasets being used must have been
previously "created" using the system's file maintenance program
but may be otherwise empty.
At the beginning of the import procedure, the program opens the
family file datasets and checks to see that all "header" infor-
mation is valid (indicating that the file has been "created") and
consistent (i.e. the Name and Misc datasets "match").
If name records have been previously placed in the family file, the
program displays the message:
"Imported Name Records will begin with ID=nnn..."
All imported information will be placed after existing information
in the family file. You may later use the file maintenance program
to establish relationships between old and new name records. If
you had intended to import the information into an "empty" file but
forgot to change the names of the family datasets before beginning
the import procedure, you may terminate the process now by pressing
the ESCape key. Pressing any other key will permit the process to
continue.
The program must keep a table of name and marriage records created
so that it may subsequently go back and update the internal
61
"pointers" to these records. Therefore, you will be asked to:
"Enter Maximum for Name Record ID in Transfer File: 1000"
and "Enter Maximum for Family Record ID in Transfer File: 1000"
The number entered (1000 is the default) tells the program how big
the table needs to be to hold this information. The program will
not import records that would cause it to exceed the capacity of
this table. The numbers entered don't necessarily indicate how
many name or marriage records are to be imported, but rather the
highest value that is used for an ID of a name or marriage record
in the TRANSFER file that is being imported.
You will next be asked if you want to:
"Print Unprocessed Data Lines (Y/N)"
Although you will be shown a "running total" of the number of
incoming data lines in the TRANSFER dataset that have not been
processed (either because you have requested not to process the
type of information recorded on those lines, or because the program
doesn't recognise the type of information on the line) and these
unprocessed lines will also be displayed on the bottom line of the
screen, you may also request that the program write a copy of the
bypassed lines (together with the value of the most recent Name
record "identifier") to an attached printer. If you respond "Y" or
"y" to this question you must have a printer available and made
ready to receive output.
You will also be asked whether you want to:
Import Long PLACE Names into Notes? (Y/N)
If you respond with a "Y" then birth, death or marriage place names
which exceed the FHS limit of 22 characters will be placed in the
COMMENTs under the name or marriage record, and the literal "see
Notes" will be stored in the PLACE field in the file. If you reply
"N" then long place names will be truncated to 22 characters, but
the incoming line will also be listed among the "unprocessed" data
lines to call attention to the fact.
If there is Baptismal or Burial information in the transfer dataset
then it will also be imported into comment records under the
individual's NAME Record.
The program next reads the transfer dataset for header information.
If no header information is found a message is displayed and you
are asked whether to continue or not. Otherwise the viewing area
in the lower right corner of the screen is formatted to display the
header information and you are asked whether to:
"Continue with Import...(Y/N)"
If you choose to continue, the list of types of information that
can be imported is redisplayed, followed by another line for
"unprocessed data lines". During the input procedure a running
total is displayed of each of these data types next to the line
describing it.
Near the end of the import procedure, you will see the message:
"Updating Family Record Pointers"
which lets you know that the program is updating the internal
62
spouse record pointers from the table previously mentioned.
Following this, the message:
"Updating Other Family & Sibling Pointers"
and "Final Cleanup"
document the beginning of other cleanup phases.
At the end of the import procedure the message:
"Import Finished at hh:mm:ss..."
is displayed. Pressing any key will result in the display's being
"cleaned up" and the program will be ready to process another
option. I would recommend that following the completion of each
import procedure, you run the system's pointer validation option
(Main Menu option F3-E) against the updated file to verify that all
relationships between records in the TRANSFER dataset are
consistent.
5. Producing Listings of GEDCOM format exported data
Program option F6 may be used to produce listings of the contents
of the TRANSFER dataset. You may route the output to the screen,
for verification of an export procedure or examination of a
TRANSFER dataset prior to import, or to the printer. As usual, the
printing may be "paused" by pressing any key, and then may be
terminated (by pressing the ESCape key) or continued (by pressing
any other key). Thse listings will be in "outline" format with
each data item offset according to its "level number".
B. ORGCHART Export Program (F3-D-2)
Late in 1988 I ran across a shareware program which produced rather
nice organization charts in "inverted tree" format. The data used
to produce the charts is taken from a simple text file, created by
a text editor or word processor (in non-document mode). Because
the charts were in a format that appeared useful for representing
family descendancy, I wrote a little program for "Exporting"
information for descendants in an FHS family file to an ORG format
text file that could be used for printing such a descendant chart.
That is the program invoked by Main Menu option F3-D-2.
While the procedure had some short-comings, I felt that it may
prove useful for some among you. Of course you must have a copy of
the ORGCHART program to produce the charts, and if you decide to
add this to your "genealogy toolkit", it will be necessary for you
to send a ($20.00) registration fee to its author. While the
program is available from public software libraries (in particular,
"The Public (Software) Library" in Houston Texas, you should also
be able to order copies from the author:
Jerming Lee, P.O. Box 102, Chappaqua, NY 10514-0102
The operation of the "ORGCHART Export program" is similar to other
programs in the system. You must have first created a descendant
"relationship" work file, DESCNDNT.WRK, using Main Menu option F2-
A-2. You may then use option F3 of this program to export
information from your FHS family file, using the DESCNDNT.WRK file
63
as a guide, into the ORGCHART file.
When you select program option F3, you will be asked to:
Select Name Format: 1) SURNAME, Given 2) Given Surname
The first option will result in the name appearing on 2 lines
within the "information box" on the chart, with the surname, in
CAPS, centered on the first line and the Given name centered below
it. If the second option is chosen, the name will appear in a
single line of the box. The first option may result in slightly
more compact charts.
You will also be asked if you wish to:
Include BIRTH/DEATH Dates? (Y/N)
If you include dates, they will appear centered below the name in
the format: 14 Oct 1884-12 Nov 1969
You will have the option to:
Include NAME of Most Recent Spouse? (Y/N)
and if you you choose this and have also chosen the first form for
the Name, you will be asked if you wish to:
Substitute Husband's Surname for WIFE's (Y/N)
Choosing "Y" for this option may produce slightly more compact
charts. If you do substitute the husband's surname for the wife,
and the wife is the "subject" of the box of information, then an
"*" will appear to the right of the SURNAME at the top of the box,
to note that it is the married surname and not the surname at
birth.
After the creation of the ORG workfile is complete, you may choose
to use option F8 (if you have DOS 3.3 or later) to temporarily go
into DOS mode for running the ORGCHART program. After completing
your work there, you can return to FHS by entering the EXIT
command. You should be aware that the ORGCHART program is
completely separate from FHS. It does not use the FHS printer
or screen tables and any questions about it should be directed to
that program's author.
While the charts that can be produced in this manner are somewhat
limited and there is no effort to denote "crossed" lines of
descendancy, a few persons who have tried preliminary versions of
this program have expressed satisfaction with the results. Perhaps
you will find them pleasing as well.
64
List of Changes in versions of
Family History System
The following list indicates the changes incorporated in the various versions
of the basic Family History System. The version is identified by the date
that appears on the title screen for the system. Some versions were distri-
buted only to registered users who had reported problems. All changes are
cumulative in later versions.
February 1985 - first version released for general use
March 1985 - corrected error in ancestor chart program when producing
charts for an individual with related ancestors;
May 7, 1985 - corrected loop that occurred when attempting to select
an individual from empty search or child list;
May 1985 - corrected GWBASIC syntax error in descendant report program;
changed report programs to permit giving 1-5 character file
specification as the `printer' destination;
changed default screen attributes for graphics adapter to
avoid `colors' that do not show up on TANDY monochrome
monitor;
June 1985 - changed report programs to allow for versions of Basic that
do not erase line 25 when the screen is cleared.
September 1985 - Added Status fields for Birth/Death dates and Mother/Father
ID numbers. Recognise adoptive relationships.
Added page numbers to descendant report.
Corrected error in report programs when "Forms Offset">0
Added orientation/installation procedure (GO.BAT).
Distribution diskette changed to 9 sector format.
DOS 2.0 or later required for using distribution diskette.
October 7, 1985- Corrected "pointer" update error when deleting first line
of comments display. Corrected un-cleared "?" characters
in "Birth Date" field of ancestor charts.
October 23, 1985 corrected errors when adding/deleting "other" data records
in file update program.
November 1985 Minor changes/corrections to Manual; correct error (loss of
free record chain) when ESCaping from the addition of
address or "other" type information; correct errors in
family group and descendant reports when marriage record
exists but spouse is not known (spouse ID=0).
December 1985 added checks in report programs to assure that all files
used "match"; corrected problem with non-appearing cursor
on Tandy 1000; removed "undocumented" program FAMLIST.BAS;
changed all programs to recognise cursor control keys on
Tandy 2000; added "margin" to printer parms of report
programs to allow "centering" report on page;
corrected error when updating mother ID status field;
(after Dec 5 - added options to print descendant reports grouped by
generation or families, and when grouped by families may
be in a "chart" format.
December 9, 1985 Updated Section 5 of manual (descendant report description;
use of printer destination to route report output to
dataset); added line numbers to descendant report (in
margins when MARGIN>=3).
(after Dec 17 - corrected missing spouse death date, spouse mother dates
in family group report.
Dec 19 - corrected update of "offset" parm in family group prog.)
(First set of enhancements available for registered users.
Enter: A>GO REGISTER for more information.)
December 25, 1985 corrected error when producing descendant list for
married individual with no children when margin=0
January 1986 - corrected problem with "lost descendants" in descendant
report program when using GWBASIC; update Appendix A.
January 9, 1986 changed ancestor chart program to correctly process death
date status field.
February 8, 1986 Changed Chart program to place info about latest spouse
of entry #1 in lower left corner; added line indicating
which previous chart is being continued. Changed install
procedure for hard disk (requires BASIC language files to
be in main directory of the hard disk).
February 1986 Corrected problem when formatting invalid dates.
March 1986 Added Main Menu option F8 for executing DOS commands;
(Search/Select/LIST program available for registered users)
May 1986 Added primary menu option F5 (weekday routine) to file
maintenance program; changed FAMFILES, FAMSCRNA, FAMPRNTC
to require diskette with FAMILY.DAT in default drive;
Changed FAMSCRNA to check for invalid attributes and
allow changing the error tone;
compiled version of programs now available;
(Export/Import option available for registered users.)
June 1986 Allow printing ID #'s in family grouped descendant report;
Recognise delimiter (decimal '255') in printer table
entries to truncate trailing zeroes; option for creating
(MailMerge format address file for registered users.)
Sept 1986 Added Relative Report; May include Comments in Ancestor,
Descendant & Relative reports; Allow ESCape from update
of Spouse ID & marriage status; corrected CLEAR option of
search options in file maintenance program.
after Sept 27 corrected problems in ancestor chart program: truncated
chart ID's, missing name in header if chart 0-1 not printed
December 1986 Family Group Report program changed to allow report to
include all information on file for an individual; report
programs changed to allow for printers that don't recognise
a form feed control; GENESIS files moved to diskette with
compiled programs.
January 1987 Adds character insert mode when editing comments; corrects
some errors. Add IBM ProPrinter, HP Laserjet+ to select-
able printers.
February 1987 Add "Surname...Use:" field to name record for use with
indexed files/reports in extended system.
March 1987 Add "Marriage PLACE" field to file definition and most
reports; put marriage date & place fields in entries for
male ancestors on ancestor chart; add "Date Produced" to
ancestor chart
May 14, 1987 Added POPUPS directory with DATECALC & TIMECALC utilities.
June 6, 1987 Corrected error in spouse of entry #1 on ancestor chart
when ancestor in entry #1 appeared in earlier chart entry;
Changed report programs to check for FAMILY.DAT on program
diskette before attempting to change printer SETUP.
(after June 10 Corrected inconsistency in DATECALC routine)
(after June 25 added prompt for ending update of spouse status info.)
(after July 18 Corrected error in FAMGROUP program-extraneous comments
in empty spouse record area)
October 1987 Added options for "batch" printing of family group reports;
added Merged Family Group Report; use death dates of
spouses to determine # years married; DATECALC can now
convert between old and new "style" dates; corrected error
in printing spouse of entry #1 on ancestor chart
(after Nov 6 Added Mother & Father ID's in parent view; corrected
missing underscores in marriage term place of family group
report change all programs to run FAMINIT if COMMON
variables haven't been initialized.)
(after Jan 4 Make corrections to bypass logic for batch printing of
family group reports)
(after Jan 12 Change Chart program to always place marriage place on
chart; move chart entries #9,11,13,15 down one line)
(after Jan 15 Add #children for each child in family group report)
(after Mar 26 Corrected error in file update program when deleting
marriage records having information in place fields
September 1988 - Added PAF GEDCOM Export/Import Program
Moved FAMVALID to public version of system
Added ALLGEN Ancestor Map option to FAMCHART
Corrected FAMRELAT, FAMCHART to handle>26 generations
(up to 53); Allow dates to be entered in DD.MM.YYYY or
YYYY MM DD formats; Add "FILE" as option for report
destination; Add options for pausing at the top of page;
Allow isolating comments within braces for optional
printing; Add F3 key for restoring field data when
entering Name records; Add printer setups for Epson LQ850
and Star NX 1000; Add alternate Color table using light
background (ALT+F6); Change Warning msg when file is
being Re-CREATEd; Allow starting print of relationship
reports and merged group reports at page>1; Use Free Form
address format in merged group report; allow use of
relationship work file for selecting group reports to
print; allow to save group report selection list in
SELECT work file; allow to print line with relationship
and lineage of subject of group report; removed WEEKDAY
option from file update program (replaced by DATECALC);
add BROWSE.COM for viewing manual
(after Oct 25 correct error in famgroup program...wouldn't print blank
group report first time it was tried
(after 1/11/89 correct errors in: FAMINIT (if file names not saved in
FAMILY.DAT then not able to print relationship in group
reports); FAMFILES (escape from table update left msg
at bottom of screen); and FAMGROUP (erroneous relationship
when printing single report; "illegal function call" error
when formatting bloodline with adoptive relationship)
(after 1/14/89 corrected errors in PAFGEDCM: problems importing PAF 2.1
format GEDCOM files when name record numbers are not in
sequence, 1,2,3,...; burial, christening dates truncated;
long death, marriage places not NOTEd correctly
March 1990 Added "free format" ancestor/descendant/relative and
family group reports; added menus for report options;
optional name formats; allowed to set beginning page
number of reports; revised Main Menu screen; allowed
to set default format for date entry; create REFERENCE
work file in report programs; print up to 9 blank group
sheets at one time; GEDCOM program exports and imports
either PAF 2.0 or PAF 2.1 format files; added export
to ORGCHART file; validation program will reset mis-
matched header records; added ROYAL sample file;
restored GENESIS sample file;
Basic set of programs expanded to 3 diskettes.
(after 4/26/90 Corrected problems:
FAMINIT "locked up" after saving change to date format;
PAFGEDCM processed dates incorrectly in 2.1 format;
after 4/30/90 FAMCHART didn't process request for showing ID #'s or
lineage numbers in 4 gen charts;
after 5/2/90 PAFGEDCM will not produce DEAT DATE tag if year=9999;
DATECALC corrected handling of computing DATE2 when
DIF is in years, months and days (e.g. 31 MAY + or -
1 month);
after 5/07/90 Corrected problem that some people had updating form
size in Main Menu option F3-C;
after 5/21/90 Corrected problems printing spouse information in
free form descendant/relative reports;
July 1990 Added FAMDESCH program for printing Descendant Charts;
GENESIS and ROYAL family files compressed with PKZIP;
If you would like a printed copy of this document, Enter: GO PRINT VERSIONS
Volume in drive A has no label
Directory of A:\
FHSDISK B1 104 3-27-90 8:13p
README 1071 3-27-90 9:35p
GO BAT 1733 7-09-90 11:30p
INTRO DOC 1207 7-09-90 9:59p
COPYRITE DOC 1070 3-27-90 9:37p
OPTIONS DOC 1057 4-02-90 7:12p
CONTENTS DOC 3446 7-09-90 10:07p
VERSIONS DOC 13202 7-09-90 10:12p
MANUAL DOC 1265 7-16-90 10:14p
BROWSE DOC 856 9-28-88 8:22p
PRINT DOC 643 3-27-90 10:13p
REGISTER DOC 3788 7-09-90 10:16p
REGFORM DOC 2791 7-14-90 8:43p
INSTALL DOC 5615 7-14-90 8:08p
INSTALL BAT 2787 7-14-90 8:06p
HDINSTAL BAT 1017 7-14-90 7:51p
FDINSTAL BAT 3157 7-14-90 7:06p
BROWSE COM 958 1-02-86 3:54a
SECTION1 DOC 13956 7-08-90 10:33p
SECTION2 DOC 43369 7-08-90 10:34p
SECTION3 DOC 31742 7-08-90 10:34p
SECTION4 DOC 10396 7-08-90 10:35p
SECTION5 DOC 70435 7-08-90 10:36p
SECTION6 DOC 18682 7-08-90 10:36p
SECTION7 DOC 26178 7-08-90 10:39p
APENDIXA DOC 4276 7-08-90 10:39p
APENDIXB DOC 8744 7-08-90 10:39p
APENDIXC DOC 4682 7-08-90 10:40p
APENDIXD DOC 16093 7-08-90 10:40p
APENDIXE DOC 3223 7-08-90 10:40p
APENDIXF DOC 15247 7-08-90 10:41p
SAMPLE DOC 2591 7-09-90 11:06p
FILE0361 TXT 2443 9-10-90 8:32a
33 file(s) 317824 bytes
27648 bytes free