10 REM Documentation for the Genealogy ON DISPLAY Programs 20 REM All data is in the form of DATA statements. 30 REM By: Melvin O. Duke. Updated December 1983. 40 DATA Genealogy 50 DATA User's Manual 60 DATA -5 70 DATA 1 80 INDENT = 0 90 DASHES$ = "+"+STRING$(54,45)+"+" 100 TRIM.LINE$ = "(Trim-line)" 110 REM Program begins here 120 READ TITLE$, DOC.NAME$, PAGE.NO, LINE.NO 130 IF PAGE.NO MOD 2 = 0 THEN TAB.POS = 8 ELSE TAB.POS = 13 140 GOSUB 500 'For trim line and heading space 150 FOR I = 1 TO 6 : LPRINT : NEXT I 160 LPRINT CHR$(14); 'Set Expanded Print 170 LPRINT TAB(TAB.POS-2);TITLE$ 180 LPRINT CHR$(18); 'Return to normal 190 FOR I = 1 TO 3 : LPRINT : NEXT I 200 LPRINT CHR$(27); "E"; 'Set Emphasized mode 210 LPRINT TAB(TAB.POS+12);"ON DISPLAY" 220 LPRINT CHR$(27); "F"; 'Return to normal 222 LPRINT : LPRINT : LPRINT 224 LPRINT TAB(TAB.POS+11);"Version 2.0" 230 FOR I = 1 TO 11 : LPRINT : NEXT I 240 LPRINT TAB(TAB.POS+10); DOC.NAME$ 250 LINE.NO = LINE.NO + 27 260 ' 270 READ REPLY$ 280 IF LEFT$(REPLY$,1) = "." THEN GOSUB 850: GOTO 270 290 IF LINE.NO > 44 THEN GOSUB 610 300 REM Print the line if not a command 303 REM First, change tildes to quotes 304 FOR Q = 1 TO LEN(REPLY$) 305 IF MID$(REPLY$,Q,1)="~"THEN MID$(REPLY$,Q,1)=CHR$(34) 306 NEXT Q 310 LPRINT TAB(TAB.POS);REPLY$ 320 LINE.NO = LINE.NO + 1 330 IF PAGE.NO MOD 2 = 0 THEN TAB.POS = 8 ELSE TAB.POS = 13 340 GOTO 270 350 REM Data for the Copyright Page 354 DATA ".pa" 358 DATA "Anyone may request a copy of these" 362 DATA "programs by sending a blank, double-" 366 DATA "sided, double-density diskette to the" 370 DATA "author of the programs." 378 DATA ".sp" 382 DATA "An addressed, postage-paid return" 386 DATA "mailer must accompany the diskette (no" 390 DATA "exceptions, please). 394 DATA ".sp" 398 DATA "A copy of the programs with documenta-" 402 DATA "tion will be sent by return mail." 410 DATA ".vt 2" 415 DATA "Users are encouraged to copy and share" 420 DATA "the programs with others." 430 DATA ".vt 6" 434 DATA "If you are using these programs, and" 438 DATA "finding them of value, your contribution" 442 DATA "($35 suggested) will be anticipated." 446 DATA ".sp" 450 DATA "Melvin O. Duke" 454 DATA "P. O. Box 20836" 458 DATA "San Jose, CA 95160" 462 DATA ".vt 4" 466 DATA "Copyright (c) 1983, 1984, by:" 470 DATA "Melvin O. Duke." 474 DATA ".sp" 478 DATA "All rights reserved." 482 ' 500 REM Top of each page routine 510 IF PAGE.NO MOD 2 = 0 THEN TAB.POS = 8 ELSE TAB.POS = 13 520 LPRINT 530 LPRINT TAB(30); TRIM.LINE$ 540 LPRINT DASHES$ 'Dashes 550 FOR I = 1 TO 6 560 LPRINT 570 NEXT I 580 LINE.NO = LINE.NO + 6 590 RETURN 600 ' 610 REM Bottom of each page Routine 620 IF PAGE.NO < 1 THEN LPRINT : LPRINT : LPRINT : GOTO 740 630 LPRINT TAB(TAB.POS); STRING$(40,45) 'on line 46 640 LPRINT TAB(TAB.POS+3); TITLE$+" ON DISPLAY. Version 1.3" 'on line 47 650 IF PAGE.NO MOD 2 = 1 THEN 690 660 LPRINT TAB(TAB.POS);"Page";PAGE.NO; 670 LPRINT TAB(TAB.POS+27);"User's Manual" 680 GOTO 740 690 LPRINT TAB(TAB.POS); "User's Manual"; 700 IF PAGE.NO < 10 THEN DELTA = 34 710 IF PAGE.NO > 9 THEN DELTA = 33 720 IF PAGE.NO > 99 THEN DELTA = 32 730 LPRINT TAB(TAB.POS+DELTA); "Page"; PAGE.NO 'on line 48 740 LPRINT : LPRINT : LPRINT 750 LPRINT DASHES$ 'dashes after 51 760 LPRINT TAB(30); TRIM.LINE$ 770 LPRINT CHR$(12); 780 PAGE.NO = PAGE.NO + 1 790 LINE.NO = 1 800 IF REPLY$ = ".eof" THEN 820 'Bypass after last page 810 GOSUB 500 'For top of next page 820 IF PAGE.NO MOD 2 = 0 THEN TAB.POS = 8 ELSE TAB.POS = 13 830 RETURN 840 ' 850 REM Command Processor 860 IF LEFT$(REPLY$,3) = ".h1" THEN 960 870 IF LEFT$(REPLY$,3) = ".h2" THEN 1100 880 IF LEFT$(REPLY$,3) = ".h3" THEN 1210 890 IF LEFT$(REPLY$,3) = ".sp" THEN 1320 900 IF LEFT$(REPLY$,4) = ".eof" THEN 1370 910 IF LEFT$(REPLY$,3) = ".pa" THEN 1410 920 IF LEFT$(REPLY$,3) = ".vt" THEN 1480 930 IF LEFT$(REPLY$,3) = ".pk" THEN 1590 940 IF LEFT$(REPLY$,3) = ".in" THEN 1720 950 STOP 960 REM Head 1 Processor 970 FOR I = LINE.NO TO 44 980 LPRINT 990 NEXT I 1000 GOSUB 610 'Bottom of page Routine 1010 IF PAGE.NO MOD 2 = 0 THEN GOSUB 1410 'For h1 on Odd pages 1020 LPRINT CHR$(14); 'Set expanded print 1030 IF PAGE.NO MOD 2 = 0 THEN ADJUST = -4 ELSE ADJUST = -7 1040 LPRINT TAB(TAB.POS+ADJUST); RIGHT$(REPLY$,LEN(REPLY$)-4) 1050 LPRINT CHR$(18); 'Return to normal 1060 LINE.NO = LINE.NO+1 1070 IF PAGE.NO MOD 2 = 0 THEN TAB.POS = 8 ELSE TAB.POS = 13 1080 RETURN 1090 ' 1100 REM Head 2 Processor 1110 IF LINE.NO = 7 THEN 1130 'skip spacing if at top of page 1120 IF LINE.NO > 43 THEN GOSUB 1410 ELSE LPRINT:LPRINT:LINE.NO = LINE.NO+2 1130 LPRINT CHR$(27); "E"; 'Set emphasized print 1140 LPRINT TAB(TAB.POS); RIGHT$(REPLY$,LEN(REPLY$)-4) 1150 LPRINT CHR$(27); "F"; 'Return to normal 1160 LPRINT 1170 LINE.NO = LINE.NO + 2 1180 IF PAGE.NO MOD 2 = 0 THEN TAB.POS = 8 ELSE TAB.POS = 13 1190 RETURN 1200 ' 1210 REM Head 3 Processor 1220 IF LINE.NO = 7 THEN 1240 'skip spacing if at top of page 1230 IF LINE.NO > 43 THEN GOSUB 1410 ELSE LPRINT:LPRINT:LINE.NO = LINE.NO+2 1240 LPRINT CHR$(27); "E"; 'Set emphasized print 1250 LPRINT TAB(TAB.POS); RIGHT$(REPLY$,LEN(REPLY$)-4) 1260 LPRINT CHR$(27); "F"; 'Return to normal 1270 LPRINT 1280 LINE.NO = LINE.NO + 2 1290 IF PAGE.NO MOD 2 = 0 THEN TAB.POS = 8 ELSE TAB.POS = 13 1300 RETURN 1310 ' 1320 REM Single Space Processor 1330 IF LINE.NO = 7 THEN 1350 1340 IF LINE.NO > 44 THEN GOSUB 1410 ELSE LPRINT : LINE.NO = LINE.NO + 1 1350 IF PAGE.NO MOD 2 = 0 THEN TAB.POS = 8 ELSE TAB.POS = 13 1360 RETURN 1370 REM End of File Processor 1380 GOSUB 1410 'Bottom of Page 1390 LPRINT CHR$(12); 1400 GOTO 3280 1410 REM Page Eject Processor 1420 FOR I = LINE.NO TO 44 1430 LPRINT 1440 LINE.NO = LINE.NO + 1 1450 NEXT I 1460 GOSUB 610 'Bottom of Page Processing 1470 RETURN 1480 REM Vertical Tab Processor 1490 IF LINE.NO = 7 THEN 1580 1500 IF LINE.NO > 44 THEN GOSUB 610 'End of page 1510 QTY = VAL(RIGHT$(REPLY$,LEN(REPLY$)-3)) 1520 FOR I = 1 TO QTY 1530 LPRINT 1540 LINE.NO = LINE.NO + 1 1550 IF LINE.NO > 44 THEN I = QTY 1560 NEXT I 1570 IF PAGE.NO MOD 2 = 0 THEN TAB.POS = 8 ELSE TAB.POS = 13 1580 RETURN 1590 REM Pack Processor 1600 IF LINE.NO > 44 THEN GOSUB 610 1610 IF TAB.POS = 8 THEN ADJUST = 4 1620 IF TAB.POS = 13 THEN ADJUST = 7 1630 TAB.POS = TAB.POS + ADJUST + INDENT 1640 LPRINT CHR$(15); 'Packed printing 1650 WIDTH "lpt1:", 132 'set condensed width 1660 LPRINT TAB(TAB.POS); RIGHT$(REPLY$,LEN(REPLY$)-3) 1670 LPRINT CHR$(18); 'Return to normal 1680 WIDTH "lpt1:", 80 'return to normal 1690 LINE.NO = LINE.NO + 1 1700 IF PAGE.NO MOD 2 = 0 THEN TAB.POS = 8 ELSE TAB.POS = 13 1710 RETURN 1720 REM Indent Processor 1730 INDENT = VAL(RIGHT$(REPLY$,LEN(REPLY$)-3)) 1740 RETURN 2000 DATA ".h1 TABLE OF CONTENTS" 2010 DATA ".sp" 2020 DATA "INTRODUCTION - - - - - - - - - - - - 1" 2030 DATA " OVERVIEW - - - - - - - - - - - - - 1" 2040 DATA " CAPABILITIES - - - - - - - - - - - 1" 2050 DATA " Display the Genealogy - - - - - 2" 2060 DATA " Print Pedigree Charts (Family " 2070 DATA " Trees) - - - - - - - - - - - - 2" 2080 DATA " Print Family Group Sheets - - - 3" 2090 DATA " Create the Data Files - - - - - 3" 2100 DATA " Update the Data Files - - - - - 3" 2110 DATA " Create the Indices - - - - - - - 4" 2120 DATA " List the Records in the File - - 4" 2130 DATA " Printing the Contents of the" 2140 DATA " files - - - - - - - - - - - - 4" 2150 DATA " Alphabetical Lists - - - - - - - 5" 2160 DATA " Parent/Child Index List - - - - 5" 2170 DATA " BENEFITS/ADVANTAGES - - - - - - - 6" 2180 DATA " RESULTS - - - - - - - - - - - - - 6" 2190 DATA " REQUIREMENTS - - - - - - - - - - - 7" 2200 DATA " Hardware Requirements - - - - - 7" 2210 DATA " Software Requirements - - - - - 8" 2220 DATA ".sp" 2230 DATA "GENERAL INFORMATION - - - - - - - - 9" 2240 DATA " DESCRIPTION OF FUNCTIONS - - - - - 9" 2250 DATA " File Creation - - - - - - - - - 9" 2260 DATA " File Maintenance - - - - - - - - 9" 2270 DATA " File Indexes - - - - - - - - - - 9" 2280 DATA " Summary Lists - - - - - - - - - 10" 2290 DATA " Detailed Data - - - - - - - - - 10" 2300 DATA " Displaying the Genealogy - - - - 10" 2310 DATA " Printing Pedigree Charts - - - - 11" 2320 DATA " Printing Family Group Sheets - - 11" 2330 DATA ".pa" 2340 DATA " DEFINITION OF TERMS - - - - - - - 12" 2350 DATA " Personal Information - - - - - - 12" 2360 DATA " Pedigree Information - - - - - - 12" 2370 DATA " Family Group Information - - - - 12" 2380 DATA " Ordinance Information - - - - - 13" 2390 DATA " EXPLANATION OF GENERAL CONCEPTS - 14" 2400 DATA " Persfile - - - - - - - - - - - - 15" 2410 DATA " Marrfile - - - - - - - - - - - - 16" 2420 DATA " Pcindex - - - - - - - - - - - - 17" 2430 DATA " Mindex - - - - - - - - - - - - - 17" 2440 DATA " Ordfile - - - - - - - - - - - - 18" 2450 DATA " Relationships - - - - - - - - - 19" 2460 DATA " BEFORE YOU START - - - - - - - - - 20" 2470 DATA " List of Persons - - - - - - - - 20" 2480 DATA " List of Marriages - - - - - - - 22" 2490 DATA ".sp" 2500 DATA "USING THE PROGRAMS - - - - - - - - - 23" 2510 DATA " GETTING STARTED - - - - - - - - - 23" 2520 DATA " FIRST TIME USAGE - - - - - - - - - 25" 2530 DATA " Backing up the Distribution " 2540 DATA " Diskette - - - - - - - - - - - 25" 2550 DATA " Preparing a new Data Diskette - 25" 2560 DATA " Copying the Menu Program - - - - 27" 2570 DATA " Creating the Data Files - - - - 27" 2580 DATA " Caution - - - - - - - - - - - - 28" 2590 DATA " HOW TO OPERATE - - - - - - - - - - 29" 2600 DATA " Selecting an individual program 29" 2610 DATA " Operating the updatper program - 29" 2620 DATA " Operating the updatmar program - 31" 2630 DATA " Operating the updatord program - 32" 2640 DATA " Operating the indexpc program - 33" 2650 DATA " Operating the indexmar program - 34" 2660 DATA " Operating the display program - 35" 2670 DATA " Operating the pedigree program - 38" 2680 DATA " Operating the family program - - 39" 2690 DATA " Operating the other programs - - 40" 2700 DATA ".pa" 2710 DATA " HOW TO STOP - - - - - - - - - - - 41" 2720 DATA " Stopping the update programs - - 41" 2730 DATA " Stopping the display program - - 41" 2740 DATA " Stopping the pedigree program - 41" 2750 DATA " Stopping the family program - - 41" 2760 DATA " Stopping the other programs - - 42" 2770 DATA ".sp" 2780 DATA "REFERENCE MATERIAL - - - - - - - - - 43" 2790 DATA " SAMPLE SCREENS AND PROMPTING" 2800 DATA " MESSAGES - - - - - - - - - - - 43" 2810 DATA " Menu Logo - - - - - - - - - - - 44" 2820 DATA " Menu of Programs - - - - - - - - 45" 2830 DATA " Display Logo - - - - - - - - - - 46" 2840 DATA " Personal Information - - - - - - 48" 2850 DATA " Pedigree Information - - - - - - 49" 2860 DATA " Family Group Information - - - - 50" 2870 DATA " Ordinance Information - - - - - 51" 2880 DATA " COMMANDS USED - - - - - - - - - - 53" 2890 DATA " Basic Command - - - - - - - - - 53" 2900 DATA " Load Command - - - - - - - - - - 53" 2910 DATA " Save Command - - - - - - - - - - 53" 2920 DATA " Run Command - - - - - - - - - - 54" 2930 DATA ".sp" 2940 DATA "APPENDIX A. MESSAGES - - - - - - - 55" 2950 DATA " Start-up Messages - - - - - - - - 55" 2960 DATA " Error Messages - - - - - - - - - - 56" 2970 DATA ".sp" 2980 DATA "APPENDIX B. SUMMARY - - - - - - - - 57" 2990 DATA " General Programs - - - - - - - - - 57" 3000 DATA " Documentation - - - - - - - - - - 58" 3010 DATA ".sp" 3020 DATA "APPENDIX C. HINTS - - - - - - - - - 59" 3030 DATA " Names - - - - - - - - - - - - - - 59" 3040 DATA " Dates - - - - - - - - - - - - - - 59" 3050 DATA " Commas - - - - - - - - - - - - - - 59" 3060 DATA " Replacing with Blanks - - - - - - 60" 3070 DATA " Removing a Record - - - - - - - - 60" 3080 DATA ".pa" 3090 DATA "APPENDIX D. MODIFICATIONS - - - - - 61" 3100 DATA " Changing the Number of Persons - - 61" 3110 DATA " Changing the Number of Marriages - 65" 3120 DATA " Repositioning the Data Files - - - 68" 3130 DATA " Persons File - - - - - - - - - - 68" 3140 DATA " Marriages File - - - - - - - - - 69" 3150 DATA " Ordinances File - - - - - - - - 70" 3160 DATA " Parent/Child Index - - - - - - - 71" 3170 DATA " Marriages Index - - - - - - - - 72" 3180 DATA " Removing the Ordinances File - - - 73" 3190 DATA " Changing the Ordinances File - - - 74" 3200 DATA " Repositioning the Programs - - - - 75" 3210 DATA " Utilizing Other Printers - - - - - 77" 3220 DATA ".sp" 3230 DATA "APPENDIX E. TERMS & CONDITIONS - - 81" 3240 DATA " Terms - - - - - - - - - - - - - - 81" 3250 DATA " Conditions - - - - - - - - - - - - 82" 3260 DATA " Disclaimer - - - - - - - - - - - - 82" 3270 DATA ".eof" 3280 END