home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
CP/M
/
CPM_CDROM.iso
/
mbug
/
mbug059.arc
/
DIRECTOR.DOC
< prev
next >
Wrap
Text File
|
1979-12-31
|
17KB
|
441 lines
100 REM Program Directory for the Genealogy ON DISPLAY Programs
110 REM All data is in the form of DATA statements.
130 REM By: Melvin O. Duke. Updated June, 1983.
140 DATA Genealogy
150 DATA Program Directory
160 DATA -1
170 DATA 1
180 INDENT = 0
200 REM Program begins here
210 READ TITLE$, DOC.NAME$, PAGE.NO, LINE.NO
220 IF PAGE.NO MOD 2 = 0 THEN TAB.POS = 8 ELSE TAB.POS = 13
230 GOSUB 4000 'For trim line and heading space
240 FOR I = 1 TO 6 : LPRINT : NEXT I
245 LPRINT CHR$(14); 'Set Expanded Print
250 LPRINT TAB(TAB.POS-2);TITLE$
255 LPRINT CHR$(18); 'Return to normal
260 FOR I = 1 TO 3 : LPRINT : NEXT I
265 LPRINT CHR$(27); "E"; 'Set Emphasized mode
270 LPRINT TAB(TAB.POS+12);"ON DISPLAY"
275 LPRINT CHR$(27); "F"; 'Return to normal
277 LPRINT : LPRINT : LPRINT
278 LPRINT TAB(TAB.POS+11);"Version 1.3"
280 FOR I = 1 TO 11 : LPRINT : NEXT I
290 LPRINT TAB(TAB.POS+8); DOC.NAME$
300 LINE.NO = LINE.NO + 27
310 '
400 READ REPLY$
410 IF LEFT$(REPLY$,1) = "." THEN GOSUB 8000: GOTO 400
420 IF LINE.NO > 44 THEN GOSUB 4100
430 REM Print the line if not a command
440 LPRINT TAB(TAB.POS);REPLY$
450 LINE.NO = LINE.NO + 1
470 IF PAGE.NO MOD 2 = 0 THEN TAB.POS = 8 ELSE TAB.POS = 13
480 GOTO 400
490 REM Data for the Copyright Page
494 DATA ".pa"
498 DATA "Anyone may request a copy of these"
502 DATA "programs by sending two blank diskettes"
506 DATA "to the author of the programs (one for"
510 DATA "the programs and the second for the"
514 DATA "documentation)."
518 DATA ".sp"
522 DATA "An addressed, postage-paid return"
526 DATA "mailer must accompany the diskettes (no"
530 DATA "exceptions, please).
534 DATA ".sp"
538 DATA "A copy of the programs with documenta-"
542 DATA "tion will be sent by return mail."
546 DATA ".sp"
550 DATA "Regardless of whether a contribution"
554 DATA "is made, the user is encouraged to"
558 DATA "copy and share the program with others."
562 DATA "Payment for use is discretionary on"
566 DATA "the part of each subsequent user."
570 DATA ".vt 3"
574 DATA "If you are using these programs, and"
578 DATA "finding them of value, your contribution"
582 DATA "($35 suggested) will be appreciated."
586 DATA ".sp"
590 DATA "Melvin O. Duke"
594 DATA "P. O. Box 20836"
598 DATA "San Jose, CA 95160"
602 DATA ".vt 3"
606 DATA "Copyright (c) 1983, by:"
610 DATA "Melvin O. Duke."
614 DATA ".sp"
618 DATA "All rights reserved."
622 '
4000 REM Top of each page routine
4005 IF PAGE.NO MOD 2 = 0 THEN TAB.POS = 8 ELSE TAB.POS = 13
4010 LPRINT
4020 LPRINT TAB(30); "(Trim-line)"
4030 LPRINT "+"+STRING$(54,45)+"+" 'Dashes
4040 FOR I = 1 TO 6
4050 LPRINT
4070 NEXT I
4080 LINE.NO = LINE.NO + 6
4090 RETURN
4099 '
4100 REM Bottom of each page Routine
4105 IF PAGE.NO < 1 THEN LPRINT : LPRINT : LPRINT : GOTO 4150
4110 LPRINT TAB(TAB.POS); STRING$(40,45) 'on line 46
4120 LPRINT TAB(TAB.POS+3); TITLE$+" ON DISPLAY. Version 1.3" 'on line 47
4121 IF PAGE.NO MOD 2 = 1 THEN 4130
4122 LPRINT TAB(TAB.POS);"Page";PAGE.NO;
4123 LPRINT TAB(TAB.POS+23);"Program Directory"
4124 GOTO 4150
4130 LPRINT TAB(TAB.POS); "Program Directory";
4132 IF PAGE.NO < 10 THEN DELTA = 34
4133 IF PAGE.NO > 9 THEN DELTA = 33
4134 IF PAGE.NO > 99 THEN DELTA = 32
4140 LPRINT TAB(TAB.POS+DELTA); "Page"; PAGE.NO 'on line 48
4150 LPRINT : LPRINT : LPRINT
4160 LPRINT "+"+STRING$(54,45)+"+" 'dashes after 51
4170 LPRINT TAB(30); "(Trim-line)"
4180 LPRINT CHR$(12);
4190 PAGE.NO = PAGE.NO + 1
4200 LINE.NO = 1
4202 IF REPLY$ = ".eof" THEN 4215 'Bypass after last page
4210 GOSUB 4000 'For top of next page
4215 IF PAGE.NO MOD 2 = 0 THEN TAB.POS = 8 ELSE TAB.POS = 13
4220 RETURN
4230 '
8000 REM Command Processor
8010 IF LEFT$(REPLY$,3) = ".h1" THEN 8100
8020 IF LEFT$(REPLY$,3) = ".h2" THEN 8200
8030 IF LEFT$(REPLY$,3) = ".h3" THEN 8300
8040 IF LEFT$(REPLY$,3) = ".sp" THEN 8400
8050 IF LEFT$(REPLY$,4) = ".eof" THEN 8500
8060 IF LEFT$(REPLY$,3) = ".pa" THEN 8600
8070 IF LEFT$(REPLY$,3) = ".vt" THEN 8700
8080 IF LEFT$(REPLY$,3) = ".pk" THEN 8900
8081 IF LEFT$(REPLY$,3) = ".in" THEN 9000
8090 STOP
8100 REM Head 1 Processor
8110 FOR I = LINE.NO TO 44
8120 LPRINT
8130 NEXT I
8140 GOSUB 4100 'Bottom of page Routine
8142 IF PAGE.NO MOD 2 = 0 THEN GOSUB 8600 'For h1 on Odd pages
8145 LPRINT CHR$(14); 'Set expanded print
8146 IF PAGE.NO MOD 2 = 0 THEN ADJUST = -4 ELSE ADJUST = -7
8150 LPRINT TAB(TAB.POS+ADJUST); RIGHT$(REPLY$,LEN(REPLY$)-4)
8155 LPRINT CHR$(18); 'Return to normal
8160 LINE.NO = LINE.NO+1
8165 IF PAGE.NO MOD 2 = 0 THEN TAB.POS = 8 ELSE TAB.POS = 13
8170 RETURN
8180 '
8200 REM Head 2 Processor
8205 IF LINE.NO = 7 THEN 8215 'skip spacing if at top of page
8210 IF LINE.NO > 43 THEN GOSUB 8600 ELSE LPRINT:LPRINT:LINE.NO = LINE.NO+2
8215 LPRINT CHR$(27); "E"; 'Set emphasized print
8220 LPRINT TAB(TAB.POS); RIGHT$(REPLY$,LEN(REPLY$)-4)
8225 LPRINT CHR$(27); "F"; 'Return to normal
8230 LPRINT
8240 LINE.NO = LINE.NO + 2
8245 IF PAGE.NO MOD 2 = 0 THEN TAB.POS = 8 ELSE TAB.POS = 13
8250 RETURN
8260 '
8300 REM Head 3 Processor
8305 IF LINE.NO = 7 THEN 8315 'skip spacing if at top of page
8310 IF LINE.NO > 43 THEN GOSUB 8600 ELSE LPRINT:LPRINT:LINE.NO = LINE.NO+2
8315 LPRINT CHR$(27); "E"; 'Set emphasized print
8320 LPRINT TAB(TAB.POS); RIGHT$(REPLY$,LEN(REPLY$)-4)
8325 LPRINT CHR$(27); "F"; 'Return to normal
8330 LPRINT
8340 LINE.NO = LINE.NO + 2
8345 IF PAGE.NO MOD 2 = 0 THEN TAB.POS = 8 ELSE TAB.POS = 13
8350 RETURN
8360 '
8400 REM Single Space Processor
8405 IF LINE.NO = 7 THEN 8415
8410 IF LINE.NO > 44 THEN GOSUB 8600 ELSE LPRINT : LINE.NO = LINE.NO + 1
8415 IF PAGE.NO MOD 2 = 0 THEN TAB.POS = 8 ELSE TAB.POS = 13
8420 RETURN
8500 REM End of File Processor
8510 GOSUB 8600 'Bottom of Page
8530 LPRINT CHR$(12);
8540 GOTO 13490
8600 REM Page Eject Processor
8610 FOR I = LINE.NO TO 44
8620 LPRINT
8630 LINE.NO = LINE.NO + 1
8640 NEXT I
8680 GOSUB 4100 'Bottom of Page Processing
8690 RETURN
8700 REM Vertical Tab Processor
8705 IF LINE.NO = 7 THEN 8800
8710 QTY = VAL(RIGHT$(REPLY$,LEN(REPLY$)-3))
8720 FOR I = 1 TO QTY
8730 LPRINT
8740 LINE.NO = LINE.NO + 1
8760 IF LINE.NO > 44 THEN I = QTY
8770 NEXT I
8780 IF LINE.NO > 44 THEN GOSUB 4100 'End of page
8800 RETURN
8900 REM Pack Processor
8905 IF LINE.NO > 44 THEN GOSUB 4100
8910 IF TAB.POS = 8 THEN ADJUST = 4
8911 IF TAB.POS = 13 THEN ADJUST = 7
8920 TAB.POS = TAB.POS + ADJUST + INDENT
8930 LPRINT CHR$(15); 'Packed printing
8935 WIDTH "lpt1:", 132 'set condensed width
8940 LPRINT TAB(TAB.POS); RIGHT$(REPLY$,LEN(REPLY$)-3)
8950 LPRINT CHR$(18); 'Return to normal
8952 WIDTH "lpt1:", 80 'return to normal
8955 LINE.NO = LINE.NO + 1
8960 IF PAGE.NO MOD 2 = 0 THEN TAB.POS = 8 ELSE TAB.POS = 13
8980 RETURN
9000 REM Indent Processor
9010 INDENT = VAL(RIGHT$(REPLY$,LEN(REPLY$)-3))
9020 RETURN
10000 DATA ".h1 INTRODUCTION"
10010 DATA ".h2 OVERVIEW"
10020 DATA "This Program Directory contains the"
10030 DATA "information about the contents of the"
10040 DATA "Documentation Diskette, and the"
10060 DATA "Program Diskette for the Genealogy"
10065 DATA "ON DISPLAY programs.
10070 DATA ".h2 CONTENT"
10080 DATA "The Documentation Diskette contains"
10090 DATA "the following Programs:"
10100 DATA ".sp"
10110 DATA " Program Program Program"
10120 DATA " Name Language Size"
10130 DATA " -------- -------- ---------"
10140 DATA " director basic 13,824"
10150 DATA " tableofc basic 11,008"
10160 DATA " introduc basic 12,416"
10170 DATA " general basic 18,176"
10180 DATA " usingthe basic 23,296"
10190 DATA " referenc basic 14,080"
10200 DATA " appendix basic 27,776"
10220 DATA ".pa"
11000 DATA "The Program Diskette contains the"
11010 DATA "following Programs:"
11020 DATA ".sp"
11030 DATA " Program Program Program"
11040 DATA " Name Language Size"
11050 DATA " -------- -------- ---------"
11060 DATA " creatper basic 3,200"
11070 DATA " creatmar basic 2,944"
11080 DATA " creatord basic 3,328"
11090 DATA " updatper basic 10,496"
11100 DATA " updatmar basic 7,040"
11110 DATA " updatord basic 12,800"
11120 DATA " indexpc basic 4,992"
11130 DATA " indexmar basic 4,864"
11140 DATA " printper basic 5,888"
11150 DATA " printmar basic 4,736"
11160 DATA " listper basic 3,840"
11170 DATA " listmar basic 4,608"
11180 DATA " listpci basic 3,840"
11190 DATA " alphaper basic 5,376"
11200 DATA " alphamar basic 4,608"
11210 DATA " display basic 20,736"
11220 DATA " pedigree basic 18,560"
11230 DATA " family basic 16,896"
11390 DATA ".pa"
11400 DATA ".h2 REQUIREMENTS"
11410 DATA ".h3 Hardware Requirements"
11420 DATA "IBM Personal Computer, with:"
11430 DATA ".sp"
11440 DATA " At least two diskette drives."
11450 DATA " (Either single- or double-sided)."
11455 DATA " (Note: May be customized to one.)"
11460 DATA ".sp"
11470 DATA " IBM Matrix Printer, or equivalent"
11480 DATA " printer with 132 print positions."
11500 DATA ".sp"
11510 DATA " At least 96 K of Storage."
11520 DATA ".sp"
11530 DATA " IBM Monochrome Display."
11540 DATA ".sp"
11550 DATA ".h2 Software Requirements."
11560 DATA "IBM PC-DOS.
11570 DATA " (1.0, 1.05, 1.1 or 2.0)
11580 DATA ".sp"
11590 DATA "Disk BASIC (or Advanced BASIC).
11600 DATA " (1.0, 1.05, 1.1 or 2.0)
11610 DATA ".h1 GENERAL INFORMATION"
11620 DATA ".h2 DOCUMENTATION"
11630 DATA "Seven documentation programs are included"
11640 DATA "on the Documentation Diskette. These are"
11650 DATA "BASIC programs, which can be 'loaded',"
11660 DATA "and then 'run'."
11670 DATA ".sp"
11680 DATA "The documentation programs contain their"
11690 DATA "own formatting capability, as well as"
11700 DATA "the content of the documents which they"
11710 DATA "will produce."
11720 DATA ".sp"
11730 DATA "By 'loading' and then 'running' these"
11740 DATA "documentation programs, the user is able"
11750 DATA "to obtain as many copies of the actual"
11760 DATA "documents as he desires."
11770 DATA ".vt 2"
11780 DATA "These documentation programs are:"
11790 DATA ".sp
11800 DATA " 1. director (documentation of the"
11810 DATA " content of the two diskettes)."
11820 DATA ".sp"
11830 DATA " Produces this document."
11840 DATA ".vt 2"
11850 DATA " 2 through 7. Documentation for the"
11860 DATA " Genealogy ON DISPLAY Programs."
11870 DATA ".sp"
11880 DATA " Produces a User's Manual for use"
11890 DATA " with the Genealogy ON DISPLAY"
11900 DATA " programs."
11910 DATA ".pa"
11920 DATA " 2. tableofc (table of contents for"
11930 DATA " the User's Manual)."
11940 DATA ".sp"
11950 DATA " 3. introduc (introduction for the"
11960 DATA " User's Manual)."
11970 DATA ".sp"
11980 DATA " 4. general (general information for"
11990 DATA " the User's Manual)."
12000 DATA ".sp"
12010 DATA " 5. usingthe (using the programs, for"
12020 DATA " the User's Manual)."
12030 DATA ".sp"
12040 DATA " 6. referenc (reference material for"
12050 DATA " the User's Manual)."
12060 DATA ".sp"
12070 DATA " 7. appendix (appendices for the"
12080 DATA " User's Manual)."
12190 DATA ".pa"
12200 DATA ".h2 PROGRAMS"
12210 DATA "Eighteen programs are included on the"
12220 DATA "Program Diskette. They are:"
12230 DATA ".sp"
12240 DATA " 1. creatper"
12250 DATA " Creates a Persons File."
12260 DATA ".vt 2"
12270 DATA " 2. creatmar"
12280 DATA " Creates a Marriages File."
12290 DATA ".vt 2"
12300 DATA " 3. creatord"
12310 DATA " Creates an Ordinances File."
12320 DATA ".vt 2"
12330 DATA " 4. updatper"
12340 DATA " Updates the Persons File."
12350 DATA ".vt 2"
12360 DATA " 5. updatmar"
12370 DATA " Updates the Marriages File."
12380 DATA ".vt 2"
12390 DATA " 6. updatord"
12400 DATA " Updates an Ordinances File."
12410 DATA ".vt 2"
12420 DATA " 7. indexpc"
12430 DATA " Creates a Parent/Child Index."
12440 DATA ".pa"
12450 DATA " 8. indexmar"
12460 DATA " Creates a Marriages Index."
12470 DATA ".vt 2"
12480 DATA " 9. printper"
12490 DATA " Prints the combined contents of the"
12500 DATA " Persons and Ordinances Files."
12510 DATA ".vt 2"
12520 DATA " 10. printmar"
12530 DATA " Prints the contents of the Marriages"
12540 DATA " File."
12550 DATA ".vt 2"
12560 DATA " 11. listper"
12570 DATA " Prints a List of the Persons in the"
12580 DATA " Persons File."
12590 DATA ".vt 2"
12600 DATA " 12. listmar"
12610 DATA " Prints an List of the Marriages in"
12620 DATA " the Marriages File."
12630 DATA ".vt 2"
12640 DATA " 13. listpci"
12650 DATA " Lists the Parent/Child Index."
12660 DATA ".vt 2"
12670 DATA " 14. alphaper"
12680 DATA " Provides an alphabetical list of the"
12690 DATA " persons in the Persons File."
12700 DATA ".vt 2"
12710 DATA " 15. alphamar"
12720 DATA " Provides an alphabetical list of the"
12730 DATA " marriages in the Marriages File."
12740 DATA ".pa"
12750 DATA " 16. display"
12760 DATA " Provides for displaying all of the"
12770 DATA " information in all of the files,"
12780 DATA " in the form of pedigrees, family"
12790 DATA " groups, personal, and ordinance"
12800 DATA " information."
12810 DATA ".vt 2"
12820 DATA " 17. pedigree"
12830 DATA " Provides a printout of a pedigree"
12840 DATA " chart for any person."
12850 DATA ".vt 2"
12860 DATA " 18. family"
12870 DATA " Provides a printout of a family"
12880 DATA " group sheet for any marriage."
12890 DATA ".h1 USING THE PROGRAMS"
12900 DATA ".h2 FIRST TIME USAGE"
12910 DATA "There is nothing unique about using the"
12920 DATA "BASIC programs which are on the Program"
12930 DATA "and Documentation diskettes for the"
12940 DATA "first time. The user should take the"
12950 DATA "normal precautionary steps to copy the"
12960 DATA "diskettes to backup diskettes."
12970 DATA ".sp"
12980 DATA "The user should also have available two"
12990 DATA "empty (formatted) diskettes, which have"
13000 DATA "be formatted without DOS (no /s). These"
13010 DATA "will be used for data files."
13020 DATA ".h2 GETTING STARTED"
13030 DATA "The user should perform the following"
13040 DATA "steps in starting any of the BASIC"
13050 DATA "programs."
13060 DATA ".sp"
13070 DATA "1. Insert the PC DOS diskette into"
13080 DATA " Drive 'a:'."
13090 DATA ".sp"
13100 DATA "2. Turn the Printer On."
13110 DATA ".sp"
13120 DATA "3. Turn the System-unit On."
13130 DATA ".sp"
13140 DATA "4. Enter today's date when the system"
13150 DATA " asks the user to Enter today's"
13160 DATA " date (mm-dd-yy):"
13170 DATA ".pa"
13180 DATA "5. Respond when prompted for the time,"
13190 DATA " (hh:mm:ss): with the appropriate"
13200 DATA " time."
13210 DATA ".sp"
13220 DATA "6. Type: basica/s:256"
13230 DATA " and press the return key."
13240 DATA ".sp"
13250 DATA "7. Type: load (followed by a quote),"
13260 DATA " (or press the F3 key),"
13270 DATA " and type the program name."
13280 DATA " Then press the return key."
13290 DATA ".sp"
13300 DATA "8. Insert the data diskette in Drive"
13310 DATA " 'a:', and the ordinances"
13320 DATA " diskette in Drive 'b:'."
13330 DATA ".sp"
13340 DATA "8. Type: run"
13350 DATA " and press the return key."
13360 DATA " (or press the F2 key)."
13370 DATA ".h2 HOW TO STOP"
13380 DATA "The user may stop at any time during"
13390 DATA "the running of any of the BASIC programs"
13400 DATA "by pressing (and holding down) the"
13410 DATA "control (Ctrl) key, and then pressing"
13420 DATA "the Break key."
13430 DATA ".sp"
13440 DATA "Individual programs may have other"
13450 DATA "methods of stopping, such as referring"
13460 DATA "to record #0. (See the Genealogy ON"
13470 DATA "DISPLAY User's Manual.)"
13480 DATA ".eof"
13490 END
M All data is in the form of DATA statements.
130 REM By