home *** CD-ROM | disk | FTP | other *** search
/ CP/M / CPM_CDROM.iso / mbug / mbug059.arc / INTRODUC.DOC < prev    next >
Text File  |  1979-12-31  |  15KB  |  382 lines

  1. 10 REM Documentation for the Genealogy ON DISPLAY Programs
  2. 20 REM All data is in the form of DATA statements.
  3. 30 REM By:  Melvin O. Duke.  Updated June 1983.
  4. 40 DATA Genealogy
  5. 50 DATA User's Manual
  6. 60 DATA -5
  7. 70 DATA 1
  8. 80 INDENT = 0
  9. 90 DASHES$ = "+"+STRING$(54,45)+"+"
  10. 100 TRIM.LINE$ = "(Trim-line)"
  11. 110 REM Program begins here
  12. 120 READ TITLE$, DOC.NAME$, PAGE.NO, LINE.NO
  13. 130 IF PAGE.NO MOD 2 = 0 THEN TAB.POS = 8 ELSE TAB.POS = 13
  14. 140 GOSUB 500  'For trim line and heading space
  15. 150 FOR I = 1 TO 6 : LPRINT : NEXT I
  16. 160 LPRINT CHR$(14);  'Set Expanded Print
  17. 170 LPRINT TAB(TAB.POS-2);TITLE$
  18. 180 LPRINT CHR$(18);  'Return to normal
  19. 190 FOR I = 1 TO 3 : LPRINT : NEXT I
  20. 200 LPRINT CHR$(27); "E"; 'Set Emphasized mode
  21. 210 LPRINT TAB(TAB.POS+12);"ON DISPLAY"
  22. 220 LPRINT CHR$(27); "F"; 'Return to normal
  23. 222 LPRINT : LPRINT : LPRINT
  24. 224 LPRINT TAB(TAB.POS+11);"Version 1.3"
  25. 230 FOR I = 1 TO 11 : LPRINT : NEXT I
  26. 240 LPRINT TAB(TAB.POS+10); DOC.NAME$
  27. 250 LINE.NO = LINE.NO + 27
  28. 260 '
  29. 270 READ REPLY$
  30. 280 IF LEFT$(REPLY$,1) = "." THEN GOSUB 850: GOTO 270
  31. 290 IF LINE.NO > 44 THEN GOSUB 610
  32. 300 REM Print the line if not a command
  33. 310 LPRINT TAB(TAB.POS);REPLY$
  34. 320 LINE.NO = LINE.NO + 1
  35. 330 IF PAGE.NO MOD 2 = 0 THEN TAB.POS = 8 ELSE TAB.POS = 13
  36. 340 GOTO 270
  37. 350 REM Data for the Copyright Page
  38. 354 DATA ".pa"
  39. 358 DATA "Anyone may request a copy of these"
  40. 362 DATA "programs by sending two blank diskettes"
  41. 366 DATA "to the author of the programs (one for"
  42. 370 DATA "the programs, and the second for the"
  43. 374 DATA "documentation)."
  44. 378 DATA ".sp"
  45. 382 DATA "An addressed, postage-paid return"
  46. 386 DATA "mailer must accompany the diskettes (no"
  47. 390 DATA "exceptions, please).
  48. 394 DATA ".sp"
  49. 398 DATA "A copy of the programs with documenta-"
  50. 402 DATA "tion will be sent by return mail."
  51. 406 DATA ".sp"
  52. 410 DATA "Regardless of whether a contribution"
  53. 414 DATA "is made, the user is encouraged to"
  54. 418 DATA "copy and share the program with others."
  55. 422 DATA "Payment for use is discretionary on"
  56. 426 DATA "the part of each subsequent user."
  57. 430 DATA ".vt 4"
  58. 434 DATA "If you are using these programs, and"
  59. 438 DATA "finding them of value, your contribution"
  60. 442 DATA "($35 suggested) will be appreciated."
  61. 446 DATA ".sp"
  62. 450 DATA "Melvin O. Duke"
  63. 454 DATA "P. O. Box 20836"
  64. 458 DATA "San Jose, CA  95160"
  65. 462 DATA ".vt 4"
  66. 466 DATA "Copyright (c) 1983, by:"
  67. 470 DATA "Melvin O. Duke."
  68. 474 DATA ".sp"
  69. 478 DATA "All rights reserved."
  70. 482 '
  71. 500 REM Top of each page routine
  72. 510 IF PAGE.NO MOD 2 = 0 THEN TAB.POS = 8 ELSE TAB.POS = 13
  73. 520 LPRINT
  74. 530 LPRINT TAB(30); TRIM.LINE$
  75. 540 LPRINT DASHES$ 'Dashes
  76. 550 FOR I = 1 TO 6
  77. 560  LPRINT
  78. 570 NEXT I
  79. 580 LINE.NO = LINE.NO + 6
  80. 590 RETURN
  81. 600 '
  82. 610 REM Bottom of each page Routine
  83. 620 IF PAGE.NO < 1 THEN LPRINT : LPRINT : LPRINT : GOTO 740
  84. 630 LPRINT TAB(TAB.POS); STRING$(40,45)  'on line 46
  85. 640 LPRINT TAB(TAB.POS+3); TITLE$+" ON DISPLAY.  Version 1.3" 'on line 47
  86. 650 IF PAGE.NO MOD 2 = 1 THEN 690
  87. 660 LPRINT TAB(TAB.POS);"Page";PAGE.NO;
  88. 670 LPRINT TAB(TAB.POS+27);"User's Manual"
  89. 680 GOTO 740
  90. 690 LPRINT TAB(TAB.POS); "User's Manual";
  91. 700 IF PAGE.NO < 10 THEN DELTA = 34
  92. 710 IF PAGE.NO >  9 THEN DELTA = 33
  93. 720 IF PAGE.NO > 99 THEN DELTA = 32
  94. 730 LPRINT TAB(TAB.POS+DELTA); "Page"; PAGE.NO  'on line 48
  95. 740 LPRINT : LPRINT : LPRINT
  96. 750 LPRINT DASHES$ 'dashes after 51
  97. 760 LPRINT TAB(30); TRIM.LINE$
  98. 770 LPRINT CHR$(12);
  99. 780 PAGE.NO = PAGE.NO + 1
  100. 790 LINE.NO = 1
  101. 800 IF REPLY$ = ".eof" THEN 820  'Bypass after last page
  102. 810 GOSUB 500  'For top of next page
  103. 820 IF PAGE.NO MOD 2 = 0 THEN TAB.POS = 8 ELSE TAB.POS = 13
  104. 830 RETURN
  105. 840 '
  106. 850 REM Command Processor
  107. 860 IF LEFT$(REPLY$,3) = ".h1" THEN 960
  108. 870 IF LEFT$(REPLY$,3) = ".h2" THEN 1100
  109. 880 IF LEFT$(REPLY$,3) = ".h3" THEN 1210
  110. 890 IF LEFT$(REPLY$,3) = ".sp" THEN 1320
  111. 900 IF LEFT$(REPLY$,4) = ".eof" THEN 1370
  112. 910 IF LEFT$(REPLY$,3) = ".pa" THEN 1410
  113. 915 IF LEFT$(REPLY$,3) = ".pn" THEN PAGE.NO = VAL(RIGHT$(REPLY$,LEN(REPLY$)-3)) : RETURN
  114. 920 IF LEFT$(REPLY$,3) = ".vt" THEN 1480
  115. 930 IF LEFT$(REPLY$,3) = ".pk" THEN 1590
  116. 940 IF LEFT$(REPLY$,3) = ".in" THEN 1720
  117. 950 STOP
  118. 960 REM Head 1 Processor
  119. 970 FOR I = LINE.NO TO 44
  120. 980  LPRINT
  121. 990 NEXT I
  122. 1000 GOSUB 610  'Bottom of page Routine
  123. 1010 IF PAGE.NO MOD 2 = 0 THEN GOSUB 1410  'For h1 on Odd pages
  124. 1020 LPRINT CHR$(14);  'Set expanded print
  125. 1030 IF PAGE.NO MOD 2 = 0 THEN ADJUST = -4 ELSE ADJUST = -7
  126. 1040 LPRINT TAB(TAB.POS+ADJUST); RIGHT$(REPLY$,LEN(REPLY$)-4)
  127. 1050 LPRINT CHR$(18);  'Return to normal
  128. 1060 LINE.NO = LINE.NO+1
  129. 1070 IF PAGE.NO MOD 2 = 0 THEN TAB.POS = 8 ELSE TAB.POS = 13
  130. 1080 RETURN
  131. 1090 '
  132. 1100 REM Head 2 Processor
  133. 1110 IF LINE.NO = 7 THEN 1130 'skip spacing if at top of page
  134. 1120 IF LINE.NO > 43 THEN GOSUB 1410 ELSE LPRINT:LPRINT:LINE.NO = LINE.NO+2
  135. 1130 LPRINT CHR$(27); "E"; 'Set emphasized print
  136. 1140 LPRINT TAB(TAB.POS); RIGHT$(REPLY$,LEN(REPLY$)-4)
  137. 1150 LPRINT CHR$(27); "F"; 'Return to normal
  138. 1160 LPRINT
  139. 1170 LINE.NO = LINE.NO + 2
  140. 1180 IF PAGE.NO MOD 2 = 0 THEN TAB.POS = 8 ELSE TAB.POS = 13
  141. 1190 RETURN
  142. 1200 '
  143. 1210 REM Head 3 Processor
  144. 1220 IF LINE.NO = 7 THEN 1240 'skip spacing if at top of page
  145. 1230 IF LINE.NO > 43 THEN GOSUB 1410 ELSE LPRINT:LPRINT:LINE.NO = LINE.NO+2
  146. 1240 LPRINT CHR$(27); "E"; 'Set emphasized print
  147. 1250 LPRINT TAB(TAB.POS); RIGHT$(REPLY$,LEN(REPLY$)-4)
  148. 1260 LPRINT CHR$(27); "F"; 'Return to normal
  149. 1270 LPRINT
  150. 1280 LINE.NO = LINE.NO + 2
  151. 1290 IF PAGE.NO MOD 2 = 0 THEN TAB.POS = 8 ELSE TAB.POS = 13
  152. 1300 RETURN
  153. 1310 '
  154. 1320 REM Single Space Processor
  155. 1330 IF LINE.NO = 7 THEN 1350
  156. 1340 IF LINE.NO > 44 THEN GOSUB 1410 ELSE LPRINT : LINE.NO = LINE.NO + 1
  157. 1350 IF PAGE.NO MOD 2 = 0 THEN TAB.POS = 8 ELSE TAB.POS = 13
  158. 1360 RETURN
  159. 1370 REM End of File Processor
  160. 1380 GOSUB 1410 'Bottom of Page
  161. 1390 LPRINT CHR$(12);
  162. 1400 GOTO 15470
  163. 1410 REM Page Eject Processor
  164. 1420 FOR I = LINE.NO TO 44
  165. 1430  LPRINT
  166. 1440  LINE.NO = LINE.NO + 1
  167. 1450 NEXT I
  168. 1460 GOSUB 610  'Bottom of Page Processing
  169. 1470 RETURN
  170. 1480 REM Vertical Tab Processor
  171. 1490 IF LINE.NO = 7 THEN 1580
  172. 1500 IF LINE.NO > 44 THEN GOSUB 610  'End of page
  173. 1510 QTY = VAL(RIGHT$(REPLY$,LEN(REPLY$)-3))
  174. 1520 FOR I = 1 TO QTY
  175. 1530  LPRINT
  176. 1540  LINE.NO = LINE.NO + 1
  177. 1550  IF LINE.NO > 44 THEN I = QTY
  178. 1560 NEXT I
  179. 1570 IF PAGE.NO MOD 2 = 0 THEN TAB.POS = 8 ELSE TAB.POS = 13
  180. 1580 RETURN
  181. 1590 REM Pack Processor
  182. 1600 IF LINE.NO > 44 THEN GOSUB 610
  183. 1610 IF TAB.POS = 8 THEN ADJUST = 4
  184. 1620 IF TAB.POS = 13 THEN ADJUST = 7
  185. 1630 TAB.POS = TAB.POS + ADJUST + INDENT
  186. 1640 LPRINT CHR$(15); 'Packed printing
  187. 1650 WIDTH "lpt1:", 132 'set condensed width
  188. 1660 LPRINT TAB(TAB.POS); RIGHT$(REPLY$,LEN(REPLY$)-3)
  189. 1670 LPRINT CHR$(18); 'Return to normal
  190. 1680 WIDTH "lpt1:", 80  'return to normal
  191. 1690 LINE.NO = LINE.NO + 1
  192. 1700 IF PAGE.NO MOD 2 = 0 THEN TAB.POS = 8 ELSE TAB.POS = 13
  193. 1710 RETURN
  194. 1720 REM Indent Processor
  195. 1730 INDENT = VAL(RIGHT$(REPLY$,LEN(REPLY$)-3))
  196. 1740 RETURN
  197. 2610 DATA ".h1 INTRODUCTION"
  198. 2615 DATA ".pn 1"
  199. 2620 DATA ".h2 OVERVIEW"
  200. 2630 DATA "The Genealogy ON DISPLAY programs pro-"
  201. 2640 DATA "vide the user with the capability to"
  202. 2650 DATA "create and maintain data files which"
  203. 2660 DATA "contain information about his or her"
  204. 2670 DATA "ancestors and relatives, to interro-"
  205. 2680 DATA "gate the contents of the files, and to"
  206. 2690 DATA "obtain printouts of both pedigree charts"
  207. 2700 DATA "and family group sheets in standard"
  208. 2710 DATA "formats, using the information from"
  209. 2720 DATA "those files."
  210. 2730 DATA ".sp"
  211. 2740 DATA "Other than the total size of the files,"
  212. 2750 DATA "there is no practical limit to the"
  213. 2760 DATA "number of generations contained in the"
  214. 2770 DATA "files, or capable of being displayed or"
  215. 2780 DATA "printed."
  216. 2790 DATA ".h2 CAPABILITIES"
  217. 2800 DATA "Following are the capabilities of the"
  218. 2810 DATA "the group of programs known as the"
  219. 2820 DATA "Genealogy ON DISPLAY programs."
  220. 2825 DATA ".pa"
  221. 2830 DATA ".h3 Display the Genealogy."
  222. 2840 DATA "The program 'display' is one of the"
  223. 2850 DATA "three principal programs in the Genealogy"
  224. 2860 DATA "ON DISPLAY set of programs.  All of the"
  225. 2870 DATA "other programs supplement these three"
  226. 2880 DATA "programs."
  227. 2890 DATA ".sp"
  228. 2900 DATA "By using the 'display' program, a user"
  229. 2910 DATA "may display personal information, pedi-"
  230. 2920 DATA "grees, and family group information for"
  231. 2930 DATA "any person whose records are in the data"
  232. 2940 DATA "files."
  233. 2950 DATA ".h2 Print Pedigree Charts"
  234. 2960 DATA "The program 'pedigree' is the second of"
  235. 2970 DATA "the three principal programs in the"
  236. 2980 DATA "Genealogy ON DISPLAY set of programs."
  237. 2990 DATA ".sp"
  238. 3000 DATA "By using this program, a user may obtain"
  239. 3010 DATA "a printout of a pedigree chart for any"
  240. 3020 DATA "person whose records are in the data"
  241. 3030 DATA "files."
  242. 3035 DATA ".pa"
  243. 3040 DATA ".h2 Print Family Group Sheets"
  244. 3050 DATA "The program 'family' is the third of the"
  245. 3060 DATA "three principal programs in the Genealogy"
  246. 3070 DATA "ON DISPLAY set of programs."
  247. 3080 DATA ".sp
  248. 3090 DATA "By using this program, a user may obtain"
  249. 3100 DATA "a printout of a family group sheet for"
  250. 3110 DATA "any person whose records are in the data"
  251. 3120 DATA "files."
  252. 3140 DATA ".h3 Create the Data Files."
  253. 3150 DATA "Three programs, the 'creatper', the"
  254. 3160 DATA "'creatmar', and the 'creatord' programs,"
  255. 3170 DATA "permit creation of the records in the"
  256. 3180 DATA "'persfile', the 'marrfile', and the"
  257. 3190 DATA "'ordfile' respectively."
  258. 3200 DATA ".h3 Update the Data Files."
  259. 3210 DATA "Three programs, the 'updatper',  the"
  260. 3220 DATA "'updatmar', and the 'updatord' programs,"
  261. 3230 DATA "permit update of the records in the"
  262. 3240 DATA "'persfile', the 'marrfile', and the"
  263. 3250 DATA "'ordfile' respectively."
  264. 3255 DATA ".pa"
  265. 3260 DATA ".h3 Create the Indices."
  266. 3270 DATA "Two programs, the 'indexpc' and the"
  267. 3280 DATA "'indexmar' programs, permit creation of"
  268. 3290 DATA "the indices 'pcindex' and 'mindex'"
  269. 3300 DATA "respectively."
  270. 3310 DATA ".sp"
  271. 3320 DATA "Note:  These two indices are essential"
  272. 3330 DATA "to the 'display', 'pedigree', and"
  273. 3340 DATA "'family' programs, as they provide"
  274. 3350 DATA "all of the linkages between persons,"
  275. 3360 DATA "ancestors, and families."
  276. 3370 DATA ".h3 List the Records in the Files."
  277. 3380 DATA "Two programs, the 'listper' and the"
  278. 3390 DATA "'listmar' programs, provide listings"
  279. 3400 DATA "of the records in the 'persfile' and"
  280. 3410 DATA "'marrfile', respectively.  These are"
  281. 3420 DATA "one-line summary listings of the"
  282. 3430 DATA "records in the files."
  283. 3440 DATA ".h3 Printing the Contents of the Files."
  284. 3450 DATA "Two programs, the 'printper', and the"
  285. 3460 DATA "'printmar' programs, provide for print-"
  286. 3461 DATA "ing individual records or for complete"
  287. 3470 DATA "printouts of the files.  The 'printper"
  288. 3480 DATA "program provides a combined printout"
  289. 3490 DATA "of the 'persfile' and the 'ordfile'."
  290. 3500 DATA "The 'printmar' program provides a"
  291. 3510 DATA "printout of the 'marrfile'."
  292. 3515 DATA ".pa"
  293. 3520 DATA ".h3 Alphabetical Lists."
  294. 3530 DATA "Two programs, the 'alphaper', and the"
  295. 3540 DATA "'alphamar' programs, provide alphabetical"
  296. 3550 DATA "listings of the persons in the Persons"
  297. 3560 DATA "File, and marriages in the Marriages"
  298. 3570 DATA "File, respectively.  Note:  These two"
  299. 3580 DATA "lists are very helpful in permitting the"
  300. 3590 DATA "user to locate records of persons and of"
  301. 3600 DATA "marriages."
  302. 3610 DATA ".h3 Parent/Child Index List"
  303. 3620 DATA "One program, the 'listpci' program,"
  304. 3630 DATA "provides a list of all persons who are"
  305. 3640 DATA "parents, together with the children of"
  306. 3650 DATA "those persons."
  307. 3660 DATA ".pa"
  308. 3670 DATA ".h2 BENEFITS/ADVANTAGES"
  309. 3680 DATA "The Genealogy ON DISPLAY programs pro-"
  310. 3690 DATA "vide an organized, cohesive set of"
  311. 3700 DATA "programs, to permit a user to create and"
  312. 3710 DATA "maintain that person's genealogical"
  313. 3720 DATA "information."
  314. 3730 DATA ".sp"
  315. 3740 DATA "One major advantage of this technique is"
  316. 3750 DATA "that the user only enters information a"
  317. 3760 DATA "single time, in a single place.  Hence,"
  318. 3770 DATA "there is never any discrepancy between"
  319. 3780 DATA "separate reportings of the data."
  320. 3790 DATA ".sp"
  321. 3800 DATA "The programs use the relationships be-"
  322. 3810 DATA "tween persons for extracting and report-"
  323. 3820 DATA "ing the data in meaningful formats."
  324. 3830 DATA ".sp"
  325. 3840 DATA "Since most genealogical information is"
  326. 3850 DATA "not complete, whenever new information"
  327. 3860 DATA "is obtained, the user may readily add"
  328. 3870 DATA "that new information (or change any"
  329. 3880 DATA "erroneous old information) as the user"
  330. 3890 DATA "desires."
  331. 3900 DATA ".h2 RESULTS"
  332. 3910 DATA "The final results are a well-organized"
  333. 3920 DATA "set of data files and indices, which"
  334. 3930 DATA "permit a user to obtain related infor-"
  335. 3940 DATA "mation in formats which are meaningful"
  336. 3950 DATA "to that user."
  337. 3960 DATA ".pa"
  338. 3970 DATA "Pedigree Charts, Family Group Sheets, as"
  339. 3980 DATA "well as Personal information about each"
  340. 3990 DATA "individual are available upon demand,"
  341. 4000 DATA "either on the printer or on the display."
  342. 4020 DATA ".h2 REQUIREMENTS"
  343. 4030 DATA ".h3 Hardware Requirements."
  344. 4040 DATA ".sp"
  345. 4050 DATA "IBM Personal Computer, with:"
  346. 4060 DATA ".sp"
  347. 4070 DATA "  Two diskette drives."
  348. 4080 DATA ".sp"
  349. 4090 DATA "  IBM Matrix Printer."
  350. 4100 DATA ".sp"
  351. 4110 DATA "    Note: The IBM Matrix Printer"
  352. 4120 DATA "    provides for condensed printing"
  353. 4130 DATA "    of Pedigree Charts and Family"
  354. 4140 DATA "    Group Sheets."
  355. 4150 DATA ".sp"
  356. 4160 DATA "    For full-sized printouts of the"
  357. 4170 DATA "    Pedigree Charts and Family"
  358. 4180 DATA "    Group Sheets, a 132 character"
  359. 4190 DATA "    (10 char/in) printer is required."
  360. 4200 DATA ".sp"
  361. 4210 DATA "  At least 96K of Storage."
  362. 4214 DATA ".sp"
  363. 4215 DATA "   Note:  Most of the programs will run"
  364. 4216 DATA "   with 64K.  The exception is the"
  365. 4217 DATA "   'pedigree' program."
  366. 4220 DATA ".pa"
  367. 4230 DATA "  IBM Monochrome Display."
  368. 4240 DATA ".sp"
  369. 4250 DATA ".h3 Software Requirements."
  370. 4260 DATA ".sp"
  371. 4270 DATA "IBM PC-DOS."
  372. 4275 DATA "  (1.0, 1.05, 1.1 or 2.0)"
  373. 4280 DATA ".sp"
  374. 4290 DATA "Disk BASIC (or Advanced BASIC).
  375. 4295 DATA "  (1.0, 1.05, 1.1 or 2.0)"
  376. 15460 DATA ".eof"
  377. 15470 END
  378.  country"
  379. 5900 DATA " 45   Comments"
  380. 5901 DATA ".sp"
  381. 5902 DATA "Note: Code is available to the user"
  382. 5903 DATA "fo