home *** CD-ROM | disk | FTP | other *** search
- BKIndex
-
- Version 1.00
-
- copyright January 2, 1991
- (distributed as Shareware)
-
- A. David Sause
- 2111 Jazzman Drive
- Norman, OK 73071-2455
-
- (405) 364-7018
- TABLE OF CONTENTS
-
- What does BKIndex do?. . . . . . . . . . . . . . . . . . . . . .3
-
- System Requirements. . . . . . . . . . . . . . . . . . . . . . .4
-
- Installing and Starting BKIndex. . . . . . . . . . . . . . . . .5
-
- Main Menu Commands . . . . . . . . . . . . . . . . . . . . . . .6
-
- Options. . . . . . . . . . . . . . . . . . . . . . . . . . . . .6
-
- Check. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8
-
- Generate (and Index Order) . . . . . . . . . . . . . . . . . . .8
-
- Index (Print Index and Aspect Factor). . . . . . . . . . . . . .9
-
- List (Print List of Group Sheets). . . . . . . . . . . . . . . 10
-
- About Names. . . . . . . . . . . . . . . . . . . . . . . . . . 10
-
- Printer Problems . . . . . . . . . . . . . . . . . . . . . . . 11
-
- Technical Details. . . . . . . . . . . . . . . . . . . . . . . 11
-
- Rampant Capitalism . . . . . . . . . . . . . . . . . . . . . . 12
-
- Credits. . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
-
- Rampant Capitalism . . . . . . . . . . . . . . . . . . . . . . 12What does BKIndex do?
-
- Brother's Keeper is a very well thought out program and makes it
- relatively easy to keep all the details straight. Having
- incorporated information from several different manually
- maintained systems created by various relatives, I certainly
- prefer the computerized approach. Brother's Keeper has also made
- it possible to locate and correct the typographical errors that
- invariably creep into manual systems. Everything is fine as long
- as I am working at the PC, Brother's Keeper can locate and
- correct records with only minimal input on my part. The only
- difficulty results in trying to get back to a paper system.
-
- When someone gives me information, I try to supply them with a
- printed group sheet. This serves two purposes. First, I give
- them positive feedback that their information was important and
- useful. They like seeing accurate and neatly printed group
- sheets. Besides that, everyone seems to love to see their own
- name in print and to talk about their kids and grandkids. Also,
- if they aren't on a computer system, I've saved them lots of
- work. Secondly, this helps me catch errors. It's a quirk of
- human nature that it's difficult to proofread a marked-up copy.
- Some errors don't show up until after you've printed that "final"
- copy.
-
- I also like to print group sheets and file them in a book. Since
- I don't have a portable computer, this is the set of information
- which goes with me when I'm doing research. This works well, if
- you can locate the particular sheet(s) that relate to the person
- you are researching. Of course, you could print a sheet for
- every person in your database, but I suspect this would quickly
- become unmanageable. Also, there would be lots of duplication.
- If a husband and wife have been married only once, that is, to
- each other, then the husband's sheet and the wife's sheet would
- contain exactly the same information. The sheet for an unmarried
- child would only repeat information from a parent's sheet.
- Clearly, you could print selected group sheets and still cover
- everyone in the database.
-
- I began to put together a set of group sheets, each with a header
- indicating the ID number of the person used to generate the
- sheet, that is, the husband or wife. Thus each sheet had a
- unique number and was filed in numerical order. In the case of
- the once married husband and wife, I printed whoever the relative
- was. As you might guess, I quickly got into trouble. When
- looking someone up, I had to remember who they were married to or
- who their parents were in order to find the right sheet. When
- asking for information, people tend to talk about "Aunt Hatttie's
- first husband". Before you can begin making notes you have to
- find the page, which may be in her father's name, or the second
- husband's name, or whatever. I needed an index that kept
- multiple marriages straight. Brother's Keeper will handle
- multiple marriages, but only the first marriage is considered in
- many functions. In my family, this was not enough.
-
- I started generating an index using a second database program.
- This was doomed to failure from the start. Every change to
- Brother's Keeper had to be manually noted and then keyed into the
- second database, and this was tedious to say the least.
- Moreover, I wanted multiple references to all the possible
- married names a woman might have. This involved a relational
- database, and that was even more complicated than the flat field
- database I was using. Finally I hit on the idea of a program
- that could read the Brother's Keeper data files and generate the
- index directly with all the logic of handling names and which
- sheets to print. The result is BKIndex.
-
-
- System Requirements:
-
- The distribution diskette contains the following files:
-
- BKI.EXE BKIndex main program
- SORTF.COM Shareware file sorting utility
- SORTF.DOC SORTF documentation
- BKI.DOC this file in ASCII format
- BKI.50 this file in WordPerfect 5.0 format
- PRINTDOC.BAT batch file to print documentation
-
- BKIndex should run on any 640 KB PC compatible, with or without
- hard disk. It was tested and developed on a 386 EGA system, so
- there may be incompatibilities I'm not aware of. Please let me
- know if you experience any problems.
-
- BKIndex will create some files when you run it:
-
- BKIDEF.DT4 saved set of user selected options
- QQQQQQQQ.QQQ unsorted index file
-
- The user selected file (default is INDEX.DAT) is also created.
- At this point QQQQQQQQ.QQQ is erased. If you happen to be using
- the file name, QQQQQQQQ.QQQ, you'll need to take steps to protect
- it from BKIndex.
-
- BKIndex looks for BKIDEF.DT4 and SORTF.COM in the current drive
- and directory. If you have BKI.EXE and SORTF.COM in a directory
- on your path, then they will work fine, but will start with
- "factory" defaults. BKIndex must be started from the directory
- where it resides in order to locate the saved defaults. This is
- just like Brother's Keeper.
- Naturally, BKIndex must be able to locate the files FAMLFILE.DT4
- and MARRFILE.DT4. You must specify where they are to be found.
- This will support multiple sets of data in case you are keeping
- separate files. The output files will be created in the same
- location. One thousand names and 400 marriages produces two
- files of approximately 70K.
-
-
- Installing and Starting BKIndex:
-
- BKIndex is an executable file originally written in Quick Basic.
- It can be copied directly into wherever the Brother's Keeper
- executable files are or run from floppy. Let's assume that you
- run Brother's Keeper from hard disk C: in a directory called \BK.
- If you have BKIndex on a floppy disk in drive A:, then:
-
- copy a:*.* c:\bk [ENTER]
-
- will install BKIndex. To run it, type:
-
- c: [ENTER]
- cd \bk [ENTER}
- bki [ENTER].
-
- BKIndex reads the files FAMLFILE.DT4 and MARRFILE.DT4 to find the
- information it needs. It does not alter these files in any way,
- but it must access them again and again to construct the index,
- so the speed depends on the device used. If your data is on
- floppy disks, this will be a slow process. This program is very
- I/O intensive. That is, the speed is controlled by how fast the
- disk can read and write, not so much by how fast your computer
- is. If you can run BKIndex on a hard disk, by all means do so.
- It will be even faster on a RAM disk if you have the memory to
- support that.
-
- Please note that in the above example, C:\BK is the "program
- path" that Options refers to. If the data files (FAMLFILE.DT4
- and MARRFILE.DT4) were in a different directory, like C:\BKDATA,
- then this would be the "data path" that options needs. I
- encourage you to use this approach for one major reason. Each
- time you get a new version of Brother's Keeper, or alter the
- "path to .dt4 files" you are setting up to save a new set of
- data, and this occurs automatically upon exit. So, if you happen
- to run the program from disk, just to look, and then exit, here's
- what happens. First, since the path wasn't set, you had none of
- your data. On exit you saved a blank set of data somewhere. If
- you haven't already overwritten your working files, you may when
- you copy the files from floppy to hard disk. The danger is very
- real if you keep everything in one directory. I encourage you to
- create specific and separate data and program directories. All
- the *.dt4 files go in the data directory. All the program files
- go in the program directory. Now start Brother's Keeper or
- BKIndex and immediately go to Options and set the paths. Exit
- the program. You now have a fresh FOPTIONS.DT4 and BKIDEF.DT4
- file in the program directory, and these are the only *.dt4 files
- there. Your data is safe. Just remember to repeat this process
- whenever you get a program update.
-
-
- Main Menu Commands:
-
- The Main Menu allows five possible main responses: Options,
- Check, Generate, Index, and List. Just press the first letter of
- the desired option. "Options" allows you to set all user
- selections, colors, file names, etc. "Check" checks FAMLFILE.DT4
- for unused persons and missing first or last names. "Generate"
- creates and sorts the index file and creates a list of group
- sheets needed. "Index" prints the index file (screen or printer)
- and "List" prints the list of group sheets (screen or printer).
-
- Following the convention in Brother's Keeper, the lower left
- corner indicates the location of the Brother's Keeper data files
- (data path) and the lower right corner indicates "screen" or
- "printer". [F9] toggles between these. There is no "print to
- disk" routine, because a disk file is always created.
-
-
- Options:
-
- The options file operates very much like that in Brother's
- Keeper. Use cursor keys to highlight the item you want to change
- and just type in the desired response. At that point [ENTER],
- [UP], [DOWN], or [F1] - [F4] will register the response and put
- your new choice into effect. BKIndex will attempt to edit the
- response to keep it within acceptable limits. For example, the
- only allowed responses to "Output Device" are "SCREEN" and
- "PRINTER". The logic here is not perfect, as it seemed to
- require more effort to block weird responses than it was worth.
- So, if you try hard, you can get the logic to fail. The average
- user should not have any problems and there should be no way to
- damage any Brother's Keeper files short of using one of the
- reserved names in Brother's Keeper for one of your output files.
-
- [F1] exits to the Main Menu and creates the file BKIDEF.DT4 in
- the directory shown in "Program Path". Hopefully this is where
- BKI.EXE, SORTF.COM, and Brother's Keeper reside.
-
- [F2] exits just like [F1], only it doesn't save the options to
- disk.
-
- [F3] resets all options to the last set saved. If this isn't
- working, check the "Program Path" and make sure you start BKIndex
- from there.
-
- [F4] resets all options to "factory" defaults.
-
- The first four lines set screen colors, with 0-7 legal for
- background and 0-15 legal for foreground and highlight. 0-7 are
- low intensity colors, 8-15 are high intensity:
-
- 0, 8 - black
- 1, 9 - blue
- 2, 10 - green
- 3, 11 - cyan
- 4, 12 - red
- 5, 13 - magenta
- 6, 14 - brown (yellow)
- 7, 15 - white
-
- This should allow you to choose an acceptable combination
- regardless of your display type.
-
- The next ten lines describe printer characteristics:
-
- lines per page - 66
- columns per page - 80
- top margin - 6 (6 lines = 1" @ 6 LPI)
- bottom margin - 6 (6 lines)
- left margin - 7 (start in col. 8)
- right margin - 7 (last col. = 73)
- indent - 3 (3 columns)
- between columns - 3
- skip lines - 0 (between names)
- aspect factor - 2.4 (see Index)
-
- "Indent" through "aspect factor" also affect "screen" printing.
- See page 9 for an explanation of aspect factor.
-
- "Screen lines" allows selection of 25, 30, 43, 50, and 60 which
- Quick Basic supports, but your monitor may or may not. 25 and 43
- both work on EGA, so feel free to experiment. VGA should support
- 25, 43, and 50.
-
- "Program path" is where the program files (Brother's Keeper,
- BKI.EXE, SORTF.COM, BKIDEF.DT4) are to be found.
-
- "Data path" is where the data files (FAMLFILE.DT4 and
- MARRFILE.DT4) are found and where the output files (QQQQQQQQ.QQQ
- and INDEX.DAT) are created.
-
- "Output file" is the name of the output file created by
- "Generate" or printed by "Index".
-
- "Output device" is "SCREEN" or "PRINTER".
-
- "Index order" is "NORMAL" or "REVERSE". See Generate, page 8.
-
- "Print string" is the setup string for your printer. You can use
- this to set font, lines per inch, draft or letter quality, etc.
- Refer to your printer manual for details. Note the default is
- "NULL", meaning that no setup string is sent.
-
-
- Check:
-
- This command looks at the FAMLFILE.DT4 file for error conditions.
- When complete it displays or prints a list of UNUSED records and
- MISSING FIRST/LAST NAMES. If you delete a marriage with
- unmarried children, or delete unmarried children from a marriage,
- there will be ID numbers which are not linked to other records.
- BKIndex locates these so that you can either link them in or
- reuse the ID numbers.
-
- Brother's Keeper allows you to enter one name only for a person.
- If BKIndex cannot locate a space in the name, it treats this as
- MISSING FIRST/LAST NAME. The information is assumed to be the
- last name. If you have "Cher" in your database, BKIndex will
- reference her as "Unknown Cher" in the index file.
-
-
- Generate (and Index Order):
-
- This command creates the index file. The number on screen
- indicates the ID number in FAMLFILE.DT4 that is being processed.
-
- Names are rendered in the index as follows, depending on whether
- you choose REVERSE or NORMAL order:
-
- William Ray Thorndike, born in 1906, ID number 27 will be
- listed as:
-
- Thorndike, William Ray, b:1906, #27
-
- or:
-
- William Ray Thorndike, b:1906, #27
-
- Females are always listed in their maiden name and all married
- names:
-
- Laura May Jones, born in 1940, ID number 36, and married
- three times to spouses named Smith, Williams, and Jones will
- be listed (REVERSE) as:
-
- Jones, Laura May, b:1906, #36 and
- Smith, Laura May [Jones], b:1906, #36 and
- Williams, Laura May [Jones], b:1906, #36 and
- Jones, Laura May [Jones], b:1906, #36
-
- or (NORMAL) as:
-
- Laura May Jones, b:1906, #36 and
- Laura May [Jones] Smith, b:1906, #36 and
- Laura May [Jones] Williams, b:1906, #36 and
- Laura May [Jones] Jones, b:1906, #36
-
- Following the name will be a reference to the particular group
- sheets where pertinent information appears. Let's look at some
- examples:
-
- s:15, f:151, m:152, w:16, 201, 202
-
- This means there is a sheet for the person himself,
- indicated by the "s" under his ID #15, his father,
- #151, his mother, #152, who was married more than once,
- and for three of his wives, #16, #201, and #202 - who
- each had multiple marriages.
-
- The abbreviations used are:
-
- s - self
- f - father
- m - mother (only if mother had multiple marriages)
- h - husband(s)
- w - wife or wives (only if wife had multiple marriages)
-
- Most combinations are possible. BKIndex picks the most compact
- set of group sheets that covers the data, printing at least one
- sheet for each marriage (in the husband's name). Females are
- picked only if they have been married more than once.
-
-
- Index (Print Index and Aspect Factor):
-
- This command prints the file created by Generate to the screen or
- the printer. Each line of the file consists of a "name" field
- and a "reference field". Depending on whether you have long
- names in your family and/or frequent multiple marriages, you may
- want to change the balance of how much of the width of your
- report that you wish to allocate to these fields. Aspect factor
- controls this. Factors range between 1.25 and 5. The smallest
- factor allocates most of the space to the reference field, about
- five times as much as for the name field. The largest factor
- does just the reverse. Try different factors on screen before
- you print. A good balance is when the program does not skip lots
- of lines between names because either the name or the reference
- is too long to fit on the same number of lines as the other
- field. You can also regulate the amount of indent, the number of
- spaces between columns, and force one or two extra skipped lines
- between entries.
-
- This command can be used to reprint a previously generated index,
- but it's safer to run Generate again to make sure things are
- current.
-
-
- List (Print List of Group Sheets):
-
- This command prints a list of all the group sheets that you will
- need to make your book. Note, this file exists only in memory
- after Generate is run. You can access this command as frequently
- as desired, but it only works after a Generate and the results
- refer to the last Generate you did. If you are working with
- multiple data sets, be sure you have run Generate with the
- correct data before printing the list of group sheets.
-
-
- About Names:
-
- Brother's Keeper allows you to enter up to 40 characters for the
- name including suffixes like Jr., Sr., III, etc. Names like "Van
- Dorn" or "De La Croix" are also acceptable. Brother's Keeper
- attempts to separate these out so that it can distinguish what is
- and is not part of the family name. BKIndex assumes that the
- last space in the name marks where the last name begins. I
- suggest that names be entered in the following format:
-
- Albert James DeLaCroix for Albert James De La Croix
- James Arthur (Sr.) Massey for James Arthur Massey Sr.
- Egbert (Bud, III) Clark for Egbert (Bud) Clark III
-
- This produces more logical sorts and insures that BKIndex can
- find the correct last name. Brother's Keeper does an admirable
- job, but gets tripped up once in a while when John is confronted
- with an unanticipated situation.
-
- Brother's Keeper suggests using the name "*unknown" whenever you
- don't know the person's name. Each time you enter "*unknown" you
- create a new ID# just like if you knew the name. I prefer
- "Unknown Unknown". That is, I know who the person is, I just
- don't know their first or last name. These people don't appear
- in the index produced by BKIndex, but they may show up in the
- list of needed group sheets. This means that someone on their
- sheet is referenced in the index.
-
-
- Printer Problems:
-
- I tried to address the printer situation with as generic an
- approach as possible. By selecting the correct printer string
- you can access the full range of fonts, pitches, etc. that your
- printer supports. I did notice some odd results in Elite Pitch
- and finally realized that 12 characters per inch is 96 characters
- per line, but only columns 1 through 95 were acceptable to my
- printer. If you're getting odd results, try reducing the
- "columns per page" a little.
-
-
- Technical Details:
-
- The output file is a comma and quote delimited ASCII file. It
- can be imported into most spreadsheets, databases, and word
- processors. The file lines are usually longer than 80
- characters, so you'll need to deal with field parsing.
-
- Since this analysis is so i/o intensive, I tried to use RAM
- wherever possible rather than by writing additional files. There
- are two internal integer matrices that handle the "check" routine
- and the "list" of group sheets. I set these as large as Quick
- Basic would allow and still have the program compile. Brother's
- Keeper supposedly limits you to 15,000 names, so I support lists
- up to 15,000. "Check" only works up to 12,000. If you have very
- large files and this creates a problem, let me know and I can
- tailor a special version for you.
-
-
- Credits:
-
- Quick Basic is a registered trademark of Microsoft.
-
- Brother's Keeper is copyrighted to John Steed, 6907 Childsdale
- Road, Rockford, MI 49341. Please send him the $40, I did.
-
- SORTF is the effort of Vernon D. Buerg, 139 White Oak Circle,
- Petaluma, CA 94952, Data: (707) 778-8944, 24-hour BBS,
- CompuServe: 70007,1212. He'd like $15. I haven't sent him
- anything yet, but I intend to.
-
- For what it's worth, both of these gentlemen have created
- excellent programs, as good or better than many commercial
- products. They have my highest praises and blessings. Thanks,
- guys.
-
-
- Rampant Capitalism:
-
- If you find BKIndex to be beneficial, please send $5 or whatever
- you can spare. Please let me know your name, address, and disk
- size requirements (5¼" or 3½", high or low density). I will try
- to alert everyone of future updates and provide them at my cost.
- Regardless of whether you contribute financially or not, I would
- appreciate your comments, questions, and criticisms. These will
- ultimately be used to improve BKIndex.
-
- Please send contributions to:
-
- A. David Sause (Dave)
- 2111 Jazzman Drive
- Norman, OK 73071-2455