home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
The Education Master 1994 (4th Edition)
/
EDUCATIONS_MASTER_4TH_EDITION.bin
/
files
/
genelogy
/
scrpbok2
/
fsb2.l
/
FSASCII.DOC
< prev
next >
Wrap
Text File
|
1992-08-28
|
28KB
|
503 lines
FSASCII.DOC
F S A S C I I
Version 1.15
- a scrapbook to ASCII text data export utility -
- works ONLY with Family Scrapbook v1.1x data files -
This utility is intended for those persons that like to dabble in
programming. It will allow you to export all of your Family Scrapbook v1.1x
data to ASCII text files. As text files, the data is easier to read and
manipulate for some people.
A few notes about the text files..........
Each text file that this utility creates will contain several
lines for each record of scrapbook data. The reason that each record is
not contained in just one line is that I wanted to insure that no line of
text would exceed 255 characters. This is because some programming
languages (Pascal - my favorite) have a limitation for string lengths.
This makes everything easier for those who use a language like these.
You are given a choice of four delimiters to use. A delimiter is
a separator character. Your choices are:
, (comma)
* (asterisk)
| (pipe symbol)
~ (tilde)
If the character does not matter to you, I suggest using a pipe
symbol or a tilde instead of the more common comma. This is because it is
likely that you (or whoever) used commas in some of your data inside the
program. If the delimiting character is found in any of the data that is
being exported, that character will be replaced with a _ (the underscore
character). Therefore, it's safe to use any of the four characters as a
delimiter, but if you use the least common one, you won't have to do extra
work to make sure that you didn't loose anything in the export process.
Example: If you used a comma as your delimiting character and there
is a field in the scrapbook files that contains "Jacksonville, FL", that
field would export as "Jacksonville_ FL".
This utility will not export deleted records. I just didn't see the
point in it...
All data is exported JUST AS IT IS. I did not manipulate this data
during the export process except to insure that the delimiter character was
not used by the user in the fields. I read the data, and used the Turbo
Pascal "WriteLn" command to export it. Numeric values are not packed in any
way. Boolean variables (true/false) are written as TRUE and FALSE and not
as 1's and 0's. Dates will not have any separator characters in them
because that's the way I store them for Family Scrapbook.
Exporting the Person Database..........
This option with export the PERSON.DAT file and its related files
(IMMI.DAT, MISC.DAT, CENS.DAT, etc.) to the text file of the name that you
specify. Each person record will export as 35 lines of text followed by
one blank line (36 lines total). Each line of text will begin with a 19
character long descriptor. This descriptor is not a field in Family
Scrapbook. It is simply there to make the text file a little easier to
read.
Here is the structure of each person record:
LINE # FIELD DESCRIPTION TYPE OF DATA
----------------------------------------------------------------------------
Line 1 DESCRIPTOR alphanumeric, 19 chars
PERSON RECORD NUMBER unsigned numeric, < 65536, never=0,
record #0 exists but it is an empty
record that is not exported
Line 2 DESCRIPTOR alphanumeric, 19 chars
ID NUMBER alphanumeric, 10 chars
SEX alphanumeric, 1 char, = M, F, or null
Line 3 DESCRIPTOR alphanumeric, 19 chars
LAST NAME alphanumeric, 18 chars
FIRST NAME alphanumeric, 18 chars
MIDDLE NAME #1 alphanumeric, 18 chars
MIDDLE NAME #2 alphanumeric, 18 chars
TITLE/NICKNAME alphanumeric, 18 chars
SUFFIX alphanumeric, 5 chars
NAME ORDER alphanumeric, 4 chars
Line 4 DESCRIPTOR alphanumeric, 19 chars
BIRTH DATE alphanumeric, 13 chars
BIRTH DATE CODE alphanumeric, 1 char
BIRTH PLACE LINE #1 alphanumeric, 27 chars
BIRTH PLACE LINE #2 alphanumeric, 27 chars
BIRTH PLACE LINE #3 alphanumeric, 27 chars
BIRTH PLACE LINE #4 alphanumeric, 27 chars
BIRTH PLACE CODE LINE #1 alphanumeric, 1 char
BIRTH PLACE CODE LINE #2 alphanumeric, 1 char
BIRTH PLACE CODE LINE #3 alphanumeric, 1 char
BIRTH PLACE CODE LINE #4 alphanumeric, 1 char
Line 5 DESCRIPTOR alphanumeric, 19 chars
DEATH DATE alphanumeric, 13 chars
DEATH DATE CODE alphanumeric, 1 char
DEATH PLACE LINE #1 alphanumeric, 27 chars
DEATH PLACE LINE #2 alphanumeric, 27 chars
DEATH PLACE LINE #3 alphanumeric, 27 chars
DEATH PLACE LINE #4 alphanumeric, 27 chars
DEATH PLACE CODE LINE #1 alphanumeric, 1 char
DEATH PLACE CODE LINE #2 alphanumeric, 1 char
DEATH PLACE CODE LINE #3 alphanumeric, 1 char
DEATH PLACE CODE LINE #4 alphanumeric, 1 char
Line 6 DESCRIPTOR alphanumeric, 19 chars
BURIED/CREMATED alphanumeric, 1 char, = B, C, or null
BURIAL DATE alphanumeric, 13 chars
BURIAL DATE CODE alphanumeric, 1 char
BURIAL PLACE LINE #1 alphanumeric, 27 chars
BURIAL PLACE LINE #2 alphanumeric, 27 chars
BURIAL PLACE LINE #3 alphanumeric, 27 chars
BURIAL PLACE LINE #4 alphanumeric, 27 chars
BURIAL PLACE CODE LINE #1 alphanumeric, 1 char
BURIAL PLACE CODE LINE #2 alphanumeric, 1 char
BURIAL PLACE CODE LINE #3 alphanumeric, 1 char
BURIAL PLACE CODE LINE #4 alphanumeric, 1 char
Line 7 DESCRIPTOR alphanumeric, 19 chars
FATHER'S RECORD NUMBER unsigned numeric, < 65536, if = 0
then no father has been specified
MOTHER'S RECORD NUMBER unsigned numeric, < 65536, if = 0
then no mother has been specified
FAMILY'S RECORD NUMBER unsigned numeric, < 65536, if = 0
then no family has been specified,
this is the record in the family
database where the person was born
Line 8 DESCRIPTOR alphanumeric, 19 chars
NUMBER OF TIMES MARRIED numeric, < 256 but should not exceed
7, this doesn't just mean marriages,
but the number of family records that
exist in which this person is listed
in one of the spouse fields
SPOUSE #1'S RECORD NUMBER numeric, < 65536, if = 0 then no
spouse specified
SPOUSE #1'S FAMILY RECORD # numeric, < 65536, if = 0 then no
family record exists, this is the
record number of the record in the
family database where the two
persons are listed as spouses
SPOUSE #1'S MARRIAGE DATE alphanumeric, 9 chars
SPOUSE #1'S DIVORCE DATE alphanumeric, 9 chars
SPOUSE #2'S RECORD NUMBER numeric, < 65536, if = 0 then no
spouse specified
SPOUSE #2'S FAMILY RECORD # numeric, < 65536, if = 0 then no
family record exists, this is the
record number of the record in the
family database where the two
persons are listed as spouses
SPOUSE #2'S MARRIAGE DATE alphanumeric, 9 chars
SPOUSE #2'S DIVORCE DATE alphanumeric, 9 chars
SPOUSE #3'S RECORD NUMBER numeric, < 65536, if = 0 then no
spouse specified
SPOUSE #3'S FAMILY RECORD # numeric, < 65536, if = 0 then no
family record exists, this is the
record number of the record in the
family database where the two
persons are listed as spouses
SPOUSE #3'S MARRIAGE DATE alphanumeric, 9 chars
SPOUSE #3'S DIVORCE DATE alphanumeric, 9 chars
SPOUSE #4'S RECORD NUMBER numeric, < 65536, if = 0 then no
spouse specified
SPOUSE #4'S FAMILY RECORD # numeric, < 65536, if = 0 then no
family record exists, this is the
record number of the record in the
family database where the two
persons are listed as spouses
SPOUSE #4'S MARRIAGE DATE alphanumeric, 9 chars
SPOUSE #4'S DIVORCE DATE alphanumeric, 9 chars
SPOUSE #5'S RECORD NUMBER numeric, < 65536, if = 0 then no
spouse specified
SPOUSE #5'S FAMILY RECORD # numeric, < 65536, if = 0 then no
family record exists, this is the
record number of the record in the
family database where the two
persons are listed as spouses
SPOUSE #5'S MARRIAGE DATE alphanumeric, 9 chars
SPOUSE #5'S DIVORCE DATE alphanumeric, 9 chars
SPOUSE #6'S RECORD NUMBER numeric, < 65536, if = 0 then no
spouse specified
SPOUSE #6'S FAMILY RECORD # numeric, < 65536, if = 0 then no
family record exists, this is the
record number of the record in the
family database where the two
persons are listed as spouses
SPOUSE #6'S MARRIAGE DATE alphanumeric, 9 chars
SPOUSE #6'S DIVORCE DATE alphanumeric, 9 chars
SPOUSE #7'S RECORD NUMBER numeric, < 65536, if = 0 then no
spouse specified
SPOUSE #7'S FAMILY RECORD # numeric, < 65536, if = 0 then no
family record exists, this is the
record number of the record in the
family database where the two
persons are listed as spouses
SPOUSE #7'S MARRIAGE DATE alphanumeric, 9 chars
SPOUSE #7'S DIVORCE DATE alphanumeric, 9 chars
Line 9 DESCRIPTOR alphanumeric, 19 chars
NOTE FILE ON DISK? true or false
EVENT #1 RECORD EXIST? true or false
EVENT #2 RECORD EXIST? true or false
CENSUS RECORD EXIST? true or false
ADDRESS RECORD EXIST? true or false
NAME CHANGE RECORD EXIST? true or false
IMMIGRATION RECORD EXIST? true or false
PASSENGER LIST RECORD EXIST? true or false
PERSON RECORD DELETED? false, deleted recs are not exported
Line 10 DESCRIPTOR alphanumeric, 19 chars
EVENT #1 RECORD NUMBER numeric, < 65536, never 0, variable
PERSON RECORD NUMBER numeric, < 65536, never 0
EVENT #1 DATE alphanumeric, 13 chars
EVENT #1 DATE CODE alphanumeric, 1 char
EVENT #1 PLACE LINE #1 alphanumeric, 32 chars
EVENT #1 PLACE LINE #2 alphanumeric, 32 chars
EVENT #1 PLACE LINE #3 alphanumeric, 32 chars
EVENT #1 PLACE LINE #4 alphanumeric, 32 chars
EVENT #1 RECORD NOTE alphanumeric, 32 chars
Line 11 DESCRIPTOR alphanumeric, 19 chars
EVENT #2 RECORD NUMBER numeric, < 65536, never 0, variable
PERSON RECORD NUMBER numeric, < 65536, never 0
EVENT #2 DATE alphanumeric, 13 chars
EVENT #2 DATE CODE alphanumeric, 1 char
EVENT #2 PLACE LINE #1 alphanumeric, 32 chars
EVENT #2 PLACE LINE #2 alphanumeric, 32 chars
EVENT #2 PLACE LINE #3 alphanumeric, 32 chars
EVENT #2 PLACE LINE #4 alphanumeric, 32 chars
EVENT #2 RECORD NOTE alphanumeric, 32 chars
Line 12 DESCRIPTOR alphanumeric, 19 chars
CENSUS RECORD NUMBER numeric, < 65536, never 0, variable
PERSON RECORD NUMBER numeric, < 65536, never 0
Line 13 DESCRIPTOR alphanumeric, 19 chars
CENSUS YEAR #1 numeric, 4 digits
CENSUS PLACE #1 alphanumeric, 50 chars
Line 14 DESCRIPTOR alphanumeric, 19 chars
CENSUS YEAR #2 numeric, 4 digits
CENSUS PLACE #2 alphanumeric, 50 chars
Line 15 DESCRIPTOR alphanumeric, 19 chars
CENSUS YEAR #3 numeric, 4 digits
CENSUS PLACE #3 alphanumeric, 50 chars
Line 16 DESCRIPTOR alphanumeric, 19 chars
CENSUS YEAR #4 numeric, 4 digits
CENSUS PLACE #4 alphanumeric, 50 chars
Line 17 DESCRIPTOR alphanumeric, 19 chars
CENSUS YEAR #5 numeric, 4 digits
CENSUS PLACE #5 alphanumeric, 50 chars
Line 18 DESCRIPTOR alphanumeric, 19 chars
CENSUS YEAR #6 numeric, 4 digits
CENSUS PLACE #6 alphanumeric, 50 chars
Line 19 DESCRIPTOR alphanumeric, 19 chars
CENSUS YEAR #7 numeric, 4 digits
CENSUS PLACE #7 alphanumeric, 50 chars
Line 20 DESCRIPTOR alphanumeric, 19 chars
CENSUS YEAR #8 numeric, 4 digits
CENSUS PLACE #8 alphanumeric, 50 chars
Line 21 DESCRIPTOR alphanumeric, 19 chars
CENSUS YEAR #9 numeric, 4 digits
CENSUS PLACE #9 alphanumeric, 50 chars
Line 22 DESCRIPTOR alphanumeric, 19 chars
ADDRESS RECORD NUMBER numeric, < 65536, never 0, variable
PERSON RECORD NUMBER numeric, < 65536, never 0
ADDRESS LINE #1 alphanumeric, 32 chars
ADDRESS LINE #2 alphanumeric, 32 chars
ADDRESS LINE #3 alphanumeric, 32 chars
PHONE NUMBER alphanumeric, 17 chars
INCLUDE IN ADDRESS LIST? true or false
FAMILY ADDRESS? true or false
FAMILY TITLE alphanumeric, 32 chars
Line 23 DESCRIPTOR alphanumeric, 19 chars
NAME CHANGE RECORD NUMBER numeric, < 65536, never 0, variable
PERSON RECORD NUMBER numeric, < 65536, never 0
NAME CHANGE DATE alphanumeric, 13 chars
NAME CHANGE DATE CODE alphanumeric, 1 char
LAST NAME alphanumeric, 18 chars
FIRST NAME alphanumeric, 18 chars
MIDDLE NAME #1 alphanumeric, 18 chars
MIDDLE NAME #2 alphanumeric, 18 chars
SUFFIX alphanumeric, 5 chars
NAME ORDER alphanumeric, 4 chars
NOTE alphanumeric, 32 chars
Line 24 DESCRIPTOR alphanumeric, 19 chars
IMMIGRATION RECORD NUMBER numeric, < 65536, never 0, variable
PERSON RECORD NUMBER numeric, < 65536, never 0
ARRIVIAL DATE alphanumeric, 13 chars
ARRIVIAL DATE CODE alphanumeric, 1 char
COUNTRY FROM alphanumeric, 26 chars
DATE CITIZENSHIP GRANTED alphanumeric, 13 chars
DATE CODE, CITIZENSHIP GRANTED alphanumeric, 1 char
COUNTRY CAME TO alphanumeric, 26 chars
NOTE alphanumeric, 26 chars
Line 25 DESCRIPTOR alphanumeric, 19 chars
PASSENGER LIST RECORD NUMBER numeric, < 65536, never 0, variable
PERSON RECORD NUMBER numeric, < 65536, never 0
NAME OF VESSEL alphanumeric, 32 chars
EMBARKATION PLACE alphanumeric, 32 chars
EMBARKATION DATE alphanumeric, 13 chars
EMBARKATION DATE CODE alphanumeric, 1 char
ARRIVIAL PLACE alphanumeric, 32 chars
ARRIVIAL DATE alphanumeric, 13 chars
ARRIVIAL DATE CODE alphanumeric, 1 char
NOTE alphanumeric, 32 chars
Line 26 DESCRIPTOR alphanumeric, 19 chars
SSN RECORD NUMBER numeric, < 65536, never 0, variable
PERSON RECORD NUMBER numeric, < 65536, never 0
SSN (WITHOUT THE DASHES) alphanumeric, 9 chars
PLACE OF ISSUANCE alphanumeric, 32 chars
RESIDED AT DEATH alphanumeric, 32 chars
NOTE alphanumeric, 32 chars
Line 27 DESCRIPTOR alphanumeric, 19 chars
SOURCE RECORD NUMBER numeric, < 65536, never 0, variable
PERSON RECORD NUMBER numeric, < 65536, never 0
SOURCE alphanumeric, 76 chars
Line 28 DESCRIPTOR alphanumeric, 19 chars
MISCELLANEOUS RECORD NUMBER numeric, < 65536, never 0, variable
PERSON RECORD NUMBER numeric, < 65536, never 0
OCCUPATION alphanumeric, 32 chars
EDUCATION alphanumeric, 32 chars
RELIGION alphanumeric, 32 chars
POLITICS alphanumeric, 32 chars
HOBBIES alphanumeric, 32 chars
Line 29 DESCRIPTOR alphanumeric, 19 chars
MILITARY BRANCH alphanumeric, 32 chars
BEGAN MILITARY SERV DATE alphanumeric, 13 chars
BEGAN MILITARY SERV DATE CODE alphanumeric, 1 char
ENDED MILITARY SERV DATE alphanumeric, 13 chars
ENDED MILITARY SERV DATE CODE alphanumeric, 1 char
Line 30 DESCRIPTOR alphanumeric, 19 chars
MEMBERSHIP #1 alphanumeric, 32 chars
MEMBERSHIP #2 alphanumeric, 32 chars
MEMBERSHIP #3 alphanumeric, 32 chars
MEMBERSHIP #4 alphanumeric, 32 chars
Line 31 DESCRIPTOR alphanumeric, 19 chars
ACHIEVEMENT DATE #1 alphanumeric, 13 chars
ACHIEVEMENT DATE CODE #1 alphanumeric, 1 char
ACHIEVEMENT #1 alphanumeric, 32 char
ACHIEVEMENT DATE #2 alphanumeric, 13 chars
ACHIEVEMENT DATE CODE #2 alphanumeric, 1 char
ACHIEVEMENT #2 alphanumeric, 32 char
ACHIEVEMENT DATE #3 alphanumeric, 13 chars
ACHIEVEMENT DATE CODE #3 alphanumeric, 1 char
ACHIEVEMENT #3 alphanumeric, 32 char
ACHIEVEMENT DATE #4 alphanumeric, 13 chars
ACHIEVEMENT DATE CODE #4 alphanumeric, 1 char
ACHIEVEMENT #4 alphanumeric, 32 char
Line 32 DESCRIPTOR alphanumeric, 19 chars
INTERNAL NOTES RECORD NUMBER numeric, < 65536, never 0, variable
PERSON RECORD NUMBER numeric, < 65536, never 0
NOTE LINE #1 alphanumeric, 76 chars
Line 33 DESCRIPTOR alphanumeric, 19 chars
NOTE LINE #2 alphanumeric, 76 chars
Line 34 DESCRIPTOR alphanumeric, 19 chars
NOTE LINE #3 alphanumeric, 76 chars
Line 35 DESCRIPTOR alphanumeric, 19 chars
NOTE LINE #4 alphanumeric, 76 chars
Line 36 (blank line)
Exporting the Family Database..........
This option with export the FAMILY.DAT file to the file that you
specify. Each family record will export as 6 lines of text followed by
one blank line (7 lines total). Each line of text will begin with a 19
character long descriptor. This descriptor is not a field in Family
Scrapbook. It is simply there to make the text file a little easier to
read.
Basically, a family record consists of a bunch of Person Record
Numbers grouped together. If a spouse or child record number is equal to
zero (0), then there is no person there. Record #0 in the person database
is an empty record....so is record #0 in the family database.
Here is the structure of each family record:
LINE # FIELD DESCRIPTION TYPE OF DATA
----------------------------------------------------------------------------
Line 1 DESCRIPTOR alphanumeric, 19 chars
FAMILY RECORD NUMBER unsigned numeric, < 65536, never=0,
record #0 exists but it is an empty
record that is not exported
Line 2 DESCRIPTOR alphanumeric, 19 chars
HUSBAND'S RECORD NUMBER unsigned numeric, < 65536, if = 0
then no husband has been specified
WIFE'S RECORD NUMBER unsigned numeric, < 65536, if = 0
then no wife has been specified
Line 3 DESCRIPTOR alphanumeric, 19 chars
MARRIAGE DATE alphanumeric, 13 chars
MARRIAGE DATE CODE alphanumeric, 1 char
MARRIAGE PLACE LINE #1 alphanumeric, 26 chars
MARRIAGE PLACE LINE #2 alphanumeric, 26 chars
MARRIAGE PLACE LINE #3 alphanumeric, 26 chars
MARRIAGE PLACE LINE #4 alphanumeric, 26 chars
MARRIAGE PLACE CODE LINE #1 alphanumeric, 1 char
MARRIAGE PLACE CODE LINE #2 alphanumeric, 1 char
MARRIAGE PLACE CODE LINE #3 alphanumeric, 1 char
MARRIAGE PLACE CODE LINE #4 alphanumeric, 1 char
Line 4 DESCRIPTOR alphanumeric, 19 chars
DIVORCE DATE alphanumeric, 13 chars
DIVORCE DATE CODE alphanumeric, 1 char
Line 5 DESCRIPTOR alphanumeric, 19 chars
CHILD #1'S RECORD NUMBER unsigned numeric, < 65536, if = 0
then no child has been specified
CHILD #2'S RECORD NUMBER unsigned numeric, < 65536, if = 0
then no child has been specified
CHILD #3'S RECORD NUMBER unsigned numeric, < 65536, if = 0
then no child has been specified
CHILD #4'S RECORD NUMBER unsigned numeric, < 65536, if = 0
then no child has been specified
CHILD #5'S RECORD NUMBER unsigned numeric, < 65536, if = 0
then no child has been specified
CHILD #6'S RECORD NUMBER unsigned numeric, < 65536, if = 0
then no child has been specified
CHILD #7'S RECORD NUMBER unsigned numeric, < 65536, if = 0
then no child has been specified
CHILD #8'S RECORD NUMBER unsigned numeric, < 65536, if = 0
then no child has been specified
CHILD #9'S RECORD NUMBER unsigned numeric, < 65536, if = 0
then no child has been specified
CHILD #10'S RECORD NUMBER unsigned numeric, < 65536, if = 0
then no child has been specified
CHILD #11'S RECORD NUMBER unsigned numeric, < 65536, if = 0
then no child has been specified
CHILD #12'S RECORD NUMBER unsigned numeric, < 65536, if = 0
then no child has been specified
CHILD #13'S RECORD NUMBER unsigned numeric, < 65536, if = 0
then no child has been specified
CHILD #14'S RECORD NUMBER unsigned numeric, < 65536, if = 0
then no child has been specified
CHILD #15'S RECORD NUMBER unsigned numeric, < 65536, if = 0
then no child has been specified
CHILD #16'S RECORD NUMBER unsigned numeric, < 65536, if = 0
then no child has been specified
CHILD #17'S RECORD NUMBER unsigned numeric, < 65536, if = 0
then no child has been specified
CHILD #18'S RECORD NUMBER unsigned numeric, < 65536, if = 0
then no child has been specified
CHILD #19'S RECORD NUMBER unsigned numeric, < 65536, if = 0
then no child has been specified
CHILD #20'S RECORD NUMBER unsigned numeric, < 65536, if = 0
then no child has been specified
CHILD #21'S RECORD NUMBER unsigned numeric, < 65536, if = 0
then no child has been specified
CHILD #22'S RECORD NUMBER unsigned numeric, < 65536, if = 0
then no child has been specified
CHILD #23'S RECORD NUMBER unsigned numeric, < 65536, if = 0
then no child has been specified
CHILD #24'S RECORD NUMBER unsigned numeric, < 65536, if = 0
then no child has been specified
Line 6 DESCRIPTOR alphanumeric, 19 chars
NUMBER OF KIDS IN FAMILY numeric, < 256, must always be < 25
NOTE FILE ON DISK? true or false
FAMILY RECORD DELETED? false, deleted recs are not exported
Line 7 (blank line)
End of file...