00100 REM ******************************************************************* 00110 REM ** ** 00120 REM ** T L A B E L ** 00130 REM ** ** 00140 REM ** A PROGRAM FOR INPUTTING, STORING, AND WRITING HERBARIUM ** 00150 REM ** LABELS. WRITTEN BY CURTIS CLARK, APRIL 1984. VERSION 1. ** 00160 REM ** ** 00170 REM ** BROUGHT UP ON CSU AND CAL POLY CYBERS, APRIL 1984. ** 00180 REM ** ** 00190 REM ** THIS PROGRAM IS IN THE PUBLIC DOMAIN. AS A COURTESY TO ** 00200 REM ** THE AUTHOR, DO NOT COPY OR DISTRIBUTE IT WITHOUT ** 00210 REM ** ATTRIBUTION. ** 00220 REM ** ** 00230 REM ******************************************************************* 00240 REM ** ** 00250 REM ** PROGRAM IS DESIGNED FOR USE WITH TELERAY TERMINAL, SERIES ** 00260 REM ** 10 OR 11, IN ASCII MODE ONLY. PROPER LABELS CAN ONLY BE ** 00270 REM ** ACHIEVED IF THIS PROGRAM IS INVOKED BY THE PROC FILE ** 00280 REM ** "TLABEL". ** 00290 REM ** ** 00300 REM ******************************************************************* 00310 REM ** ** 00320 REM ** GLOBAL VARIABLES ** 00330 REM ** ** 00340 REM ** A$ answer to various questions ** 00350 REM ** C$(2) commands ** 00360 REM ** C9$ " Co.", " Parish", " Borough" ** 00370 REM ** D$(23) data for labels ** 00380 REM ** E9 error flag ** 00390 REM ** H pointer for data input ** 00400 REM ** H1 replaces H in various places ** 00410 REM ** H$(23) prompts for data ** 00420 REM ** I$ input of data or commands ** 00430 REM ** K$ home position ** 00440 REM ** N FOR loop counter ** 00450 REM ** Z1 flag for unintelligible 2nd element of ** 00460 REM ** command ** 00470 REM ** ** 00480 REM ******************************************************************* 00490 REM 00500 REM************* SETUP *************************** 00510 MARGIN 87 00520 DELIMIT (\) 00530 DIM H$(23),D$(23),C$(2),D2$(23) 00540 LET K$=CHR$(27)+"H" 00550 PRINT CHR$(27);"e";CHR$(27);"U01";K$;CHR$(13);CHR$(27);"V"; 00560 PRINT CHR$(27);"U02";CHR$(27);"V"; 00570 PRINT CHR$(27);"U03";K$;CHR$(27);"V"; 00580 PRINT CHR$(27);"U04";K$;"N ";CHR$(13);CHR$(27);"V";CHR$(27);"f"; 00590 FOR N=1 TO 23 00600 READ H$(N) 00610 IF N=1 OR N=2 OR N=4 OR N=5 OR N=8 OR N=14 OR N=15 OR N=21 OR N=23 THEN 00640 00620 LET H$(N) = CHR$(27) + H$(N) 00630 GOTO 00650 00640 LET H$(N) = " " + CHR$(27) + H$(N) 00650 NEXT N 00660 REM****************** STARTUP ******************** 00670 PRINT CHR$(12); 'clear screen 00680 LET H = 1 00690 LET E9 = 0 00700 PRINT "Welcome to TLABEL, a program for writing herbarium labels." 00710 PRINT "Do you want instructions"; 00720 INPUT A$ 00730 ON ERROR GOTO 08970 00740 IF E9 = 1 THEN 00690 00750 IF UPRC$(A$(1:1))="Y" THEN GOTO 09440 'print instructions 00760 GOSUB 01030 'fill in screen 00770 REM************* INPUT *************************** 00780 LET H = 1 'initialize 00790 PRINT H$(H);CHR$(8); 'print prompt 00800 INPUT I$ 00810 ON ERROR GOTO 08970 'empty goes to next item 00820 IF E9 = 0 THEN 00850 00830 LET I$ = "" 'reset input for 00840 GOTO 00960 00850 PRINT CHR$(27);"Y5 ";CHR$(27);"J";K$;CHR$(27);"K"; 00860 IF I$(1:2) = K$ THEN 01260 ELSE 00870 00870 IF LEN(I$) > 68 THEN GOSUB 08870 00880 IF POS(I$,K$) > 1 THEN 08800 ELSE 00890 00890 IF H = 21 THEN 06840 'state -+ 00900 IF H = 22 THEN 06500 'county +- interpret abbrev. 00910 IF H = 15 THEN 06060 'month | 00920 IF H = 4 THEN 05910 'infra -+ 00930 IF H = 23 THEN 06470 'uppercase country 00940 PRINT K$;CHR$(27);"K" 00950 LET D$(H) = I$ 00960 LET E9 = 0 00970 PRINT H$(H);" ";CHR$(27);"K";D$(H) 'repeat input as check 00980 LET H = H + 1 00990 IF H = 14 THEN GOSUB 01100 ELSE 01000 01000 IF H > 23 THEN GOSUB 01030 ELSE 00790 01010 GOTO 00780 01020 REM************* FILL IN SCREEN ONE ************** 01030 PRINT CHR$(12);CHR$(27);"Y! ";CHR$(27); 01040 PRINT "RH TLABEL Specimen Herbarium CSPU" 01050 FOR N = 1 TO 13 01060 PRINT H$(N);" ";CHR$(27);"K";D$(N) 01070 NEXT N 01080 RETURN 01090 REM************* FILL IN SCREEN TWO ************** 01100 PRINT CHR$(12);CHR$(27);"Y! ";CHR$(27); 01110 PRINT "RH TLABEL Locality Herbarium CSPU" 01120 FOR N = 14 TO 23 01130 PRINT H$(N);" ";CHR$(27);"K";D$(N) 01140 NEXT N 01150 RETURN 01160 REM************* COMMAND INTERPRETATION ********** 01170 REM 01180 REM LOCAL VARIABLES 01190 REM 01200 REM C command counter 01210 REM L length of input string 01220 REM L1 length of command string 01230 REM P position of comma in command string 01240 REM 01250 REM 01260 PRINT H$(H);" ";D$(H) '< 13 THEN 01620 01590 LET H = 14 01600 GOSUB 01100 01610 GOTO 00790 01620 LET H = 1 01630 GOSUB 01030 01640 GOTO 00790 01650 REM************* MOVE UPSCREEN ******************* 01660 LET H = H - 1 01670 IF H = 0 THEN 01680 ELSE 01710 01680 LET H = 23 01690 GOSUB 01100 01700 GOTO 00790 01710 IF H = 13 THEN 01720 ELSE 01730 01720 GOSUB 01030 01730 GOTO 00790 01740 REM************* COMMAND "PRINT" ***************** 01750 LET E9 = 0 01760 PRINT K$;CHR$(7);"Print what"; 01770 INPUT C$(2) 01780 ON ERROR GOTO 08970 01790 IF E9 = 1 THEN 01750 01800 LET C$(2) = UPRC$(C$(2)) 01810 PRINT CHR$(27);"Y5 ";CHR$(27);"J" 01820 PRINT K$;CHR$(27);"K" '<< 13 THEN GOSUB 01100 ELSE GOSUB 01030 01920 GOTO 00790 01930 IF C$(2)(1:5) = "LOCAL" THEN 01940 ELSE 01970 01940 LET H = 14 01950 GOSUB 01100 01960 GOTO 00790 01970 IF C$(2)(1:5) = "SPECI" AND C$(2) <> "SPECIES" THEN 01980 ELSE 02000 01980 GOSUB 01030 01990 GOTO 00780 02000 GOSUB 05170 02010 IF Z1 = 1 THEN 01760 02020 GOSUB 08630 02030 LET H = H1 02040 GOTO 00790 02050 REM************* COMMAND "HELP" ****************** 02060 LET Z1 = 0 02070 GOTO 09250 02080 IF C$(2) = "" THEN 02210 '<< 5 THEN 02240 02230 ON H1 GOTO 11390,11450,11510,11580,11660 02240 IF H1 > 10 THEN 02260 02250 LET H1 = H1 - 5 02260 ON H1 GOTO 11720,11740,11810,11870,11950 02270 IF H1 > 15 THEN 02300 02280 LET H1 = H1 - 10 02290 ON H1 GOTO 12070,12090,12110,12130,12220 02300 LET H1 = H1 - 15 02310 ON H1 GOTO 12320,12400,12540,12560,12580,12600,12940,13280 02320 PRINT 02330 PRINT "Input any character to leave HELP"; 02340 INPUT A$ 02350 ON ERROR GOTO 08970 02360 IF E9 = 1 THEN 02370 02370 LET E9 = 0 02380 IF H > 13 THEN GOSUB 01100 ELSE GOSUB 01030 02390 GOTO 00790 02400 REM************* COMMAND "KILL" ****************** 02410 LET Z1 = 0 02420 LET E9 = 0 02430 PRINT K$;CHR$(7);"Kill what"; 02440 INPUT C$(2) 02450 ON ERROR GOTO 08970 02460 IF E9 = 1 THEN 02420 02470 LET C$(2) = UPRC$(C$(2)) 02480 PRINT CHR$(27);"Y5 ";CHR$(27);"J" 02490 PRINT K$;CHR$(27);"K" '<< 13 THEN GOSUB 01100 ELSE GOSUB 01030 03150 LET H = H1 03160 GOTO 00790 03170 REM************* COMMAND "WRITE" ***************** 03180 REM 03190 REM LOCAL VARIABLES 03200 REM 03210 REM D right margin 03220 REM D1$ temporary for country 03230 REM D2$ temporary for county 03240 REM E1 file control 03250 REM E2 file control 03260 REM E3 quantity control 03270 REM L$ ".LPT" or "" 03280 REM M FOR loop counter 03290 REM K FOR loop counter 03300 REM Q number of labels requested 03310 REM S left margin 03320 REM T1 total number of line printer labels 03330 REM T2 total number of attached printer labels 03340 REM 03350 REM 03360 IF C$(2) >< "" THEN 03420 '<<34 THEN 03790 ELSE 03770 03770 PRINT #N,".C .U ";D$(1);" ";D$(2);" .NOU ";D$(3) 03780 GOTO 03810 03790 PRINT #N,".C .U ";D$(1);" ";D$(2);" .NOU" 03800 PRINT #N,".C ";D$(3) 03810 IF D$(4) = "" THEN 03870 ELSE 03820 03820 IF LEN(D$(4)+D$(5)+D$(6))>34 THEN 03850 ELSE 03830 03830 PRINT #N,".C ";D$(4);" .U ";D$(5);" .NOU ";D$(6); 03840 GOTO 03870 03850 PRINT #N,".C ";D$(4);" .U ";D$(5);" .NOU " 03860 PRINT #N,".C ";D$(6); 03870 PRINT #N," .B .PERIOD" 03880 IF D$(23) = "" THEN 03900 03890 LET D1$ = D$(23) + ". " 03900 IF D$(22) = "" THEN 03920 03910 LET D2$ = ". " + D$(22) 03920 PRINT #N,".F ";D1$;D$(21);D2$;C9$;": " 03930 FOR K = 17 TO 20 03940 IF D$(K)="" THEN 03960 ELSE 03950 03950 PRINT #N, D$(K) 03960 NEXT K 03970 FOR K = 10 TO 13 03980 IF D$(K)="" THEN 04000 ELSE 03990 03990 PRINT #N, D$(K) 04000 NEXT K 04010 PRINT #N, ".B " 04020 PRINT #N, D$(14);" ";D$(15);" ";D$(16);" .B" 04030 IF D$(8)="" THEN 04050 ELSE 04040 04040 PRINT #N, D$(8);" ";D$(7);" .BR" 04050 PRINT #N,".F ";D$(9);" .B" 04060 PRINT #N, ".C .U ex herbario .NOU CSPU .B 4 " 04070 NEXT M 04080 LET S = S + 45 04090 LET D = D + 45 04100 NEXT N 04110 PRINT "Labels written--Input any character to continue"; 04120 INPUT A$ 04130 ON ERROR GOTO 08970 04140 IF E9 = 1 THEN 04150 04150 LET E9 = 0 04160 IF H < 14 THEN GOSUB 01030 ELSE GOSUB 01100 04170 GOTO 00790 04180 REM************* COMMAND "QUIT" ****************** 04190 REM 04200 REM LOCAL VARIABLES 04210 REM 04220 REM B5$ bin number 04230 REM N5$ name 04240 REM 04250 REM 04260 LET E9 = 0 04270 PRINT K$;"Do you want to end this session"; '<< 0 THEN 04390 ELSE 04610 04390 CLOSE #1,#2,#3 04400 LET E9 = 0 04410 PRINT CHR$(27);"Y* ";"Input information for banner:"; 04420 PRINT CHR$(27);"Y+ ";" Name:";CHR$(27);"Y, ";"Bin #:"; 04430 PRINT CHR$(27);"Y+&"; 04440 INPUT N5$ 04450 ON ERROR GOTO 08970 04460 IF E9 = 1 THEN 04400 04470 PRINT CHR$(27);"Y,&"; 04480 INPUT B5$ 04490 ON ERROR GOTO 08970 04500 IF E9 = 1 THEN 04520 04510 IF VAL(B5$) < 0 OR VAL(B5$) > 98 THEN 04530 ELSE 04550 04520 LET E9 = 0 04530 PRINT CHR$(27);"Y,0Pick a number between 00 and 98";CHR$(7); 04540 GOTO 04470 04550 FILE #5 = "BANNER" 04560 PRINT #5, "BIN ";B5$;" ";UPRC$(N5$) 04570 PRINT #5, "BIN ";B5$;" PLANT TAXONOMY" 04580 PRINT #5, "BIN ";B5$;" HERBARIUM, BIOLOGICAL SCIENCES" 04590 PRINT #5, "BIN ";B5$;" CAL POLY POMONA" 04600 CLOSE #5 04610 IF T2 > 0 THEN 04620 ELSE 04630 04620 CLOSE #4 04630 IF T3 > 0 THEN 04640 ELSE 04650 04640 CLOSE #7 04650 FILE #6 = "STATFIL" 04660 PRINT #6,USR$;" ";UPRC$(N5$);" ";T1;" ";T2;" ";T3;" ";DAT$;" ";CLK$ 04670 CLOSE #6 04680 GOTO 13400 04690 REM************* COMMAND "SAVE" ****************** 04700 IF USR$ = "CBBQ005" THEN 04710 ELSE 04730 04710 PRINT K$;"LABELS CANNOT BE SAVED ON THIS ACCOUNT." 04720 GOTO 00790 04730 FILE #10 = "LABLSAV" 04740 APPEND #10 04750 FOR N = 1 TO 23 04760 D1$ = RPAD$(D$(N),80) 04770 WRITE #10,D1$ 04780 NEXT N 04790 CLOSE #10 04800 LET T3 = T3 + 1 04810 PRINT K$;"LABEL SAVED" 04830 GOTO 00790 04840 REM************* COMMAND "RETRIEVE" ************** 04850 IF USR$ = "CBBQ005" THEN 04860 ELSE 04880 04860 PRINT K$;"No retrievable files exist on this account"; 04870 GOTO 00790 04880 PRINT CHR$(12); 04890 PRINT "WARNING: The retrieved information will replace any information" 04900 PRINT "now held by the program. Are you sure you want to continue"; 04910 INPUT A$ 04920 IF UPRC$(A$(1:1)) = "Y" THEN 04950 04930 GOSUB 08640 04940 GOTO 00790 04950 FILE #11 = "LABLSAV" 04955 RESTORE #11 04957 PRINT LOF(11) 04960 LET X = LOF(11)/23/9 04970 PRINT "The file contains";X;"labels. Which would you like to see"; 04980 INPUT Z 04990 SET #11,((Z-1)*23*9)+1 05000 FOR N = 1 TO 23 05010 READ #11,D2$(N) 05020 NEXT N 05030 PRINT "Collector: ";D2$(8) 05040 PRINT "Coll. # : ";D2$(7) 05050 PRINT "Hit to enter this label in the workspace or enter the" 05060 PRINT "number of another label." 05070 ON ERROR GOTO 05100 05080 INPUT Z 05090 GOTO 04990 05100 FOR N = 1 TO 23 05110 LET D$(N) = RTRM$(D2$(N)) 05120 NEXT N 05130 CLOSE #11 05140 GOSUB 08640 05150 GOTO 00790 05160 REM************* SUBROUTINE WHERE **************** 05170 LET Z1 = 0 05180 IF C$(2) = "GENUS" THEN 05190 ELSE 05210 05190 LET H1 = 1 05200 RETURN 05210 IF C$(2) = "SPECIES" THEN 05220 ELSE 05240 05220 LET H1 = 2 05230 RETURN 05240 IF C$(2) = "AUTHOR" THEN 05250 ELSE 05270 05250 LET H1 = 3 05260 RETURN 05270 IF C$(2) = "INFRA" THEN 05280 ELSE 05300 05280 LET H1 = 4 05290 RETURN 05300 IF C$(2) = "EPITHET" THEN 05310 ELSE 05330 05310 LET H1 = 5 05320 RETURN 05330 IF C$(2) = "AUTHOR*" THEN 05340 ELSE 05360 05340 LET H1 = 6 05350 RETURN 05360 IF C$(2) = "COLL. #" THEN 05370 ELSE 05390 05370 LET H1 = 7 05380 RETURN 05390 IF C$(2) = "COLLECTOR" THEN 05400 ELSE 05420 05400 LET H1 = 8 05410 RETURN 05420 IF C$(2) = "ASSOCIATES" THEN 05430 ELSE 05450 05430 LET H1 = 9 05440 RETURN 05450 IF C$(2) = "TEXT 1" THEN 05460 ELSE 05480 05460 LET H1 = 10 05470 RETURN 05480 IF C$(2) = "TEXT 2" THEN 05490 ELSE 05510 05490 LET H1 = 11 05500 RETURN 05510 IF C$(2) = "TEXT 3" THEN 05520 ELSE 05540 05520 LET H1 = 12 05530 RETURN 05540 IF C$(2) = "TEXT 4" THEN 05550 ELSE 05570 05550 LET H1 = 13 05560 RETURN 05570 IF C$(2) = "DAY" THEN 05580 ELSE 05600 05580 LET H1 = 14 05590 RETURN 05600 IF C$(2) = "MONTH" THEN 05610 ELSE 05630 05610 LET H1 = 15 05620 RETURN 05630 IF C$(2) = "YEAR" THEN 05640 ELSE 05660 05640 LET H1 = 16 05650 RETURN 05660 IF C$(2) = "LOCATION 1" THEN 05670 ELSE 05690 05670 LET H1 = 17 05680 RETURN 05690 IF C$(2) = "LOCATION 2" THEN 05700 ELSE 05720 05700 LET H1 = 18 05710 RETURN 05720 IF C$(2) = "LOCATION 3" THEN 05730 ELSE 05750 05730 LET H1 = 19 05740 RETURN 05750 IF C$(2) = "LOCATION 4" THEN 05760 ELSE 05780 05760 LET H1 = 20 05770 RETURN 05780 IF C$(2) = "STATE" THEN 05790 ELSE 05810 05790 LET H1 = 21 05800 RETURN 05810 IF C$(2) = "COUNTY" THEN 05820 ELSE 05840 05820 LET H1 = 22 05830 RETURN 05840 IF C$(2) = "(COUNTRY)" OR C$(2) = "COUNTRY" THEN 05850 ELSE 05870 05850 LET H1 = 23 05860 RETURN 05870 PRINT CHR$(27);"Y5 ";CHR$(7);C$(2); 05880 PRINT " cannot be recognized. Please enter exactly."; 05890 LET Z1=1 05900 RETURN 05910 REM************* INFRA ABBREV. INTERPRETATION ************ 05920 IF UPRC$(I$(1:1)) = "S" THEN 05930 ELSE 05950 05930 LET I$ = "ssp." 05940 GOTO 06000 05950 IF UPRC$(I$(1:1)) = "V" THEN 05960 ELSE 05980 05960 LET I$ = "var." 05970 GOTO 06000 05980 IF UPRC$(I$(1:1)) = "F" THEN 05990 ELSE 06010 05990 LET I$ = "f." 06000 GOTO 00940 06010 PRINT H$(4);" Please enter ssp., var., or f." 06020 PRINT H$(4);CHR$(7);CHR$(8); 06030 INPUT I$ 06040 GOTO 00860 06050 REM************* MONTH ABBREV. INTERPRETATION *********** 06060 IF I$ = "1" OR UPRC$(I$(1:3)) = "JAN" THEN 06070 ELSE 06090 06070 LET I$ = "January" 06080 GOTO 06410 06090 IF I$ = "2" OR UPRC$(I$(1:3)) = "FEB" THEN 06100 ELSE 06120 06100 LET I$ = "February" 06110 GOTO 06410 06120 IF I$ = "3" OR UPRC$(I$(1:3)) = "MAR" THEN 06130 ELSE 06150 06130 LET I$ = "March" 06140 GOTO 06410 06150 IF I$ = "4" OR UPRC$(I$(1:3)) = "APR" THEN 06160 ELSE 06180 06160 LET I$ = "April" 06170 GOTO 06410 06180 IF I$ = "5" OR UPRC$(I$(1:3)) = "MAY" THEN 06190 ELSE 06210 06190 LET I$ = "May" 06200 GOTO 06410 06210 IF I$ = "6" OR UPRC$(I$(1:3)) = "JUN" THEN 06220 ELSE 06240 06220 LET I$ = "June" 06230 GOTO 06410 06240 IF I$ = "7" OR UPRC$(I$(1:3)) = "JUL" THEN 06250 ELSE 06270 06250 LET I$ = "July" 06260 GOTO 06410 06270 IF I$ = "8" OR UPRC$(I$(1:3)) = "AUG" THEN 06280 ELSE 06300 06280 LET I$ = "August" 06290 GOTO 06410 06300 IF I$ = "9" OR UPRC$(I$(1:3)) = "SEP" THEN 06310 ELSE 06330 06310 LET I$ = "September" 06320 GOTO 06410 06330 IF I$ = "10" OR UPRC$(I$(1:3)) = "OCT" THEN 06340 ELSE 06360 06340 LET I$ = "October" 06350 GOTO 06410 06360 IF I$ = "11" OR UPRC$(I$(1:3)) = "NOV" THEN 06370 ELSE 06390 06370 LET I$ = "November" 06380 GOTO 06410 06390 IF I$ = "12" OR UPRC$(I$(1:3)) = "DEC" THEN 06400 ELSE 06420 06400 LET I$ = "December" 06410 GOTO 00940 06420 PRINT H$(15);" Which month do you mean?";CHR$(7); 06430 PRINT H$(15);CHR$(8); 06440 INPUT I$ 06450 GOTO 00860 06460 REM************* UPPERCASE COUNTRY ********************** 06470 LET I$ = UPRC$(I$) 06480 GOTO 00940 06490 REM************* COUNTY ABBREV. INTERPRETATION ********** 06500 IF UPRC$(I$) = "LA" THEN 06510 ELSE 06530 06510 LET I$ = "Los Angeles" 06520 GOTO 06820 06530 IF UPRC$(I$) = "SBD" THEN 06540 ELSE 06560 06540 LET I$ = "San Bernardino" 06550 GOTO 06820 06560 IF UPRC$(I$) = "O" THEN 06570 ELSE 06590 06570 LET I$ = "Orange" 06580 GOTO 06820 06590 IF UPRC$(I$) = "R" THEN 06600 ELSE 06620 06600 LET I$ = "Riverside" 06610 GOTO 06820 06620 IF UPRC$(I$) = "SD" THEN 06630 ELSE 06650 06630 LET I$ = "San Diego" 06640 GOTO 06820 06650 IF UPRC$(I$) = "V" THEN 06660 ELSE 06680 06660 LET I$ = "Ventura" 06670 GOTO 06820 06680 IF UPRC$(I$) = "IM" THEN 06690 ELSE 06710 06690 LET I$ = "Imperial" 06700 GOTO 06820 06710 IF UPRC$(I$) = "K" THEN 06720 ELSE 06740 06720 LET I$ = "Kern" 06730 GOTO 06820 06740 IF UPRC$(I$) = "IN" THEN 06750 ELSE 06770 06750 LET I$ = "Inyo" 06760 GOTO 06820 06770 IF UPRC$(I$) = "SBA" THEN 06780 ELSE 06800 06780 LET I$ = "Santa Barbara" 06790 GOTO 06820 06800 IF UPRC$(I$) = "SLO" THEN 06810 ELSE 00940 06810 LET I$ = "San Luis Obispo" 06820 GOTO 00940 06830 REM************* STATE ABBREV. INTERPRETATION *********** 06840 LET H$(22) = CHR$(27) + "Y* County:" 06850 LET C9$ = " Co." 06860 LET I$ = UPRC$(I$) 06870 IF LEN(I$) <> 2 THEN 08600 06880 IF I$(1:1) = "A" THEN 07070 06890 IF I$(1:1) = "C" THEN 07210 06900 IF I$(1:1) = "D" THEN 07300 06910 IF I$(1:1) = "F" THEN 07330 06920 IF I$(1:1) = "G" THEN 07360 06930 IF I$(1:1) = "H" THEN 07390 06940 IF I$(1:1) = "I" THEN 07420 06950 IF I$(1:1) = "K" THEN 07540 06960 IF I$(1:1) = "L" THEN 07600 06970 IF I$(1:1) = "M" THEN 07650 06980 IF I$(1:1) = "N" THEN 07890 06990 IF I$(1:1) = "O" THEN 08130 07000 IF I$(1:1) = "P" THEN 08220 07010 IF I$(1:1) = "R" THEN 08250 07020 IF I$(1:1) = "S" THEN 08280 07030 IF I$(1:1) = "T" THEN 08340 07040 IF I$(1:1) = "U" THEN 08400 07050 IF I$(1:1) = "V" THEN 08430 07060 IF I$(1:1) = "W" THEN 08490 ELSE 08610 07070 IF I$ <> "AL" THEN 07100 07080 LET I$ = "ALABAMA" 07090 GOTO 08610 07100 IF I$ <> "AK" THEN 07150 07110 LET I$ = "ALASKA" 07120 LET H$(22) = CHR$(27) + "Y* Borough:" 07130 LET C9$ = " Borough" 07140 GOTO 08610 07150 IF I$ <> "AR" THEN 07180 07160 LET I$ = "ARKANSAS" 07170 GOTO 08610 07180 IF I$ <> "AZ" THEN 08600 07190 LET I$ = "ARIZONA" 07200 GOTO 08610 07210 IF I$ <> "CA" THEN 07240 07220 LET I$ = "CALIFORNIA" 07230 GOTO 08610 07240 IF I$ <> "CO" THEN 07270 07250 LET I$ = "COLORADO" 07260 GOTO 08610 07270 IF I$ <> "CT" THEN 08600 07280 LET I$ = "CONNECTICUT" 07290 GOTO 08610 07300 IF I$ <> "DE" THEN 08600 07310 LET I$ = "DELAWARE" 07320 GOTO 08610 07330 IF I$ <> "FL" THEN 08600 07340 LET I$ = "FLORIDA" 07350 GOTO 08610 07360 IF I$ <> "GA" THEN 08600 07370 LET I$ = "GEORGIA" 07380 GOTO 08610 07390 IF I$ <> "HI" THEN 08600 07400 LET I$ = "HAWAII" 07410 GOTO 08610 07420 IF I$ <> "IA" THEN 07450 07430 LET I$ = "IOWA" 07440 GOTO 08610 07450 IF I$ <> "ID" THEN 07480 07460 LET I$ = "IDAHO" 07470 GOTO 08610 07480 IF I$ <> "IL" THEN 07510 07490 LET I$ = "ILLINOIS" 07500 GOTO 08610 07510 IF I$ <> "IN" THEN 08600 07520 LET I$ = "INDIANA" 07530 GOTO 08610 07540 IF I$ <> "KS" THEN 07570 07550 LET I$ = "KANSAS" 07560 GOTO 08610 07570 IF I$ <> "KY" THEN 08600 07580 LET I$ = "KENTUCKY" 07590 GOTO 08610 07600 IF I$ <> "LA" THEN 08600 07610 LET I$ = "LOUISIANA" 07620 LET H$(22) = CHR$(27) + "Y* Parish:" 07630 LET C9$ = " Parish" 07640 GOTO 08610 07650 IF I$ <> "MA" THEN 07680 07660 LET I$ = "MASSACHUSETTS" 07670 GOTO 08610 07680 IF I$ <> "MD" THEN 07710 07690 LET I$ = "MARYLAND" 07700 GOTO 08610 07710 IF I$ <> "ME" THEN 07740 07720 LET I$ = "MAINE" 07730 GOTO 08610 07740 IF I$ <> "MI" THEN 07770 07750 LET I$ = "MICHIGAN" 07760 GOTO 08610 07770 IF I$ <> "MN" THEN 07800 07780 LET I$ = "MINNESOTA" 07790 GOTO 08610 07800 IF I$ <> "MO" THEN 07830 07810 LET I$ = "MISSOURI" 07820 GOTO 08610 07830 IF I$ <> "MS" THEN 07860 07840 LET I$ = "MISSISSIPPI" 07850 GOTO 08610 07860 IF I$ <> "MT" THEN 08600 07870 LET I$ = "MONTANA" 07880 GOTO 08610 07890 IF I$ <> "NB" THEN 07920 07900 LET I$ = "NEBRASKA" 07910 GOTO 08610 07920 IF I$ <> "NC" THEN 07950 07930 LET I$ = "NORTH CAROLINA" 07940 GOTO 08610 07950 IF I$ <> "ND" THEN 07980 07960 LET I$ = "NORTH DAKOTA" 07970 GOTO 08610 07980 IF I$ <> "NH" THEN 08010 07990 LET I$ = "NEW HAMPSHIRE" 08000 GOTO 08610 08010 IF I$ <> "NJ" THEN 08040 08020 LET I$ = "NEW JERSEY" 08030 GOTO 08610 08040 IF I$ <> "NM" THEN 08070 08050 LET I$ = "NEW MEXICO" 08060 GOTO 08610 08070 IF I$ <> "NV" THEN 08100 08080 LET I$ = "NEVADA" 08090 GOTO 08610 08100 IF I$ <> "NY" THEN 08600 08110 LET I$ = "NEW YORK" 08120 GOTO 08610 08130 IF I$ <> "OH" THEN 08160 08140 LET I$ = "OHIO" 08150 GOTO 08610 08160 IF I$ <> "OK" THEN 08190 08170 LET I$ = "OKLAHOMA" 08180 GOTO 08610 08190 IF I$ <> "OR" THEN 08600 08200 LET I$ = "OREGON" 08210 GOTO 08610 08220 IF I$ <> "PA" THEN 08600 08230 LET I$ = "PENNSYLVANIA" 08240 GOTO 08610 08250 IF I$ <> "RI" THEN 08600 08260 LET I$ = "RHODE ISLAND" 08270 GOTO 08610 08280 IF I$ <> "SC" THEN 08310 08290 LET I$ = "SOUTH CAROLINA" 08300 GOTO 08610 08310 IF I$ <> "SD" THEN 08600 08320 LET I$ = "SOUTH DAKOTA" 08330 GOTO 08610 08340 IF I$ <> "TN" THEN 08370 08350 LET I$ = "TENNESSEE" 08360 GOTO 08610 08370 IF I$ <> "TX" THEN 08600 08380 LET I$ = "TEXAS" 08390 GOTO 08610 08400 IF I$ <> "UT" THEN 08600 08410 LET I$ = "UTAH" 08420 GOTO 08610 08430 IF I$ <> "VA" THEN 08460 08440 LET I$ = "VIRGINIA" 08450 GOTO 08610 08460 IF I$ <> "VT" THEN 08600 08470 LET I$ = "VERMONT" 08480 GOTO 08610 08490 IF I$ <> "WA" THEN 08520 08500 LET I$ = "WASHINGTON" 08510 GOTO 08610 08520 IF I$ <> "WI" THEN 08550 08530 LET I$ = "WISCONSIN" 08540 GOTO 08610 08550 IF I$ <> "WV" THEN 08580 08560 LET I$ = "WEST VIRGINIA" 08570 GOTO 00940 08580 IF I$ <> "WY" THEN 08600 08590 LET I$ = "WYOMING" 08600 LET C9$ = "" 08610 GOTO 00940 08620 REM************* TEST FOR WHICH SCREEN ****************** 08630 IF (H1 > 13 AND H > 13) OR (H1 < 14 AND H < 14) THEN 08650 08640 IF H1 < 14 THEN GOSUB 01030 ELSE GOSUB 01100 08650 PRINT H$(H1);" ";CHR$(27);"K";D$(H1) 08660 RETURN 08670 REM************* STATUS ********************************* 08680 PRINT CHR$(12) 08690 PRINT "Number of line printer labels...............";T1 08700 PRINT "Number of attached printer labels...........";T2 08710 PRINT "Number of labels saved......................";T3 08720 PRINT 08730 RETURN 08740 REM************* ERROR: COMMAND NOT FIRST ELEMENT ******* 08750 REM 08760 REM LOCAL VARIABLE 08770 REM 08780 REM P position of K$ in input (I$) 08790 REM 08800 PRINT CHR$(27);"Y5 ";CHR$(7); 08810 PRINT "Command must be given in response to question mark prompt (?)," 08820 PRINT "not after data entry." 08830 LET P = POS(I$,K$) 08840 LET I$ = I$(1:P-1) 08850 GOTO 00890 08860 REM************* STRING TOO LONG ************************ 08870 PRINT CHR$(27);"Y5 Input too long; has been truncated to 68 spaces."; 08880 PRINT " Correct with EDIT.";CHR$(7) 08890 LET I$ = I$(1:68) 08900 RETURN 08910 REM************* ERROR PROCESSING *********************** 08920 REM 08930 REM LOCAL VARIABLE 08940 REM 08950 REM X line number of error condition 08960 REM 08970 LET X = ESL(X) 08980 LET E9 =1 08990 JUMP NXL(X) 09000 REM************* DATA FOR SCREEN FILL ******************* 09010 DATA Y" Genus: 09020 DATA"Y# Species:" 09030 DATA"Y$ Author:" 09040 DATA"Y% Infra:" 09050 DATA"Y& Epithet:" 09060 DATA"Y' Author*:" 09070 DATA"Y( Coll. #:" 09080 DATA"Y) Collector:" 09090 DATA"Y* Associates:" 09100 DATA"Y+ Text 1:" 09110 DATA"Y, Text 2:" 09120 DATA"Y- Text 3:" 09130 DATA"Y. Text 4:" 09140 DATA Y" Day: 09150 DATA"Y# Month:" 09160 DATA"Y$ Year:" 09170 DATA"Y% Location 1:" 09180 DATA"Y& Location 2:" 09190 DATA"Y' Location 3:" 09200 DATA"Y( Location 4:" 09210 DATA"Y) State:" 09220 DATA"Y* County:" 09230 DATA"Y+ (Country):" 09240 REM************* HELP TOPICS *************************** 09250 PRINT CHR$(12); 09260 PRINT "HELP is available on the following topics:" 09270 PRINT "INSTRUCTIONS INFRA " 09280 PRINT "COMMANDS EPITHET " 09290 PRINT "PRINT AUTHOR* " 09300 PRINT "KILL COLL. # " 09310 PRINT "EDIT COLLECTOR " 09320 PRINT "WRITE ASSOCIATES " 09330 PRINT "SAVE DAY " 09340 PRINT "RETRIEVE MONTH " 09350 PRINT "QUIT YEAR " 09360 PRINT "GENUS STATE " 09370 PRINT "SPECIES COUNTY " 09380 PRINT "AUTHOR COUNTRY " 09390 PRINT " TEXT 1 through TEXT 4 " 09400 PRINT " LOCATION 1 through LOCATION 4 " 09410 PRINT 09420 GOTO 02320 09430 REM************* HELP INSTRUCTIONS ********************* 09440 PRINT CHR$(12); 09450 PRINT CHR$(27);"Y*GThis program is designed for use" 09460 PRINT CHR$(27);"Y+Gonly on Teleray 10 and 11 terminals." 09470 PRINT CHR$(27);"Y,GThese terminals are white, with" 09480 PRINT CHR$(27);"Y-Gwhite, blue, and gray keys. If" 09490 PRINT CHR$(27);"Y.Gyou are at such a terminal, this" 09500 PRINT CHR$(27);"Y/Gtext should appear in the lower right" 09510 PRINT CHR$(27);"Y0Gquadrant of the screen and there " 09520 PRINT CHR$(27);"Y1Gshould be a";CHR$(27);"RAblinking";CHR$(27);"R@word." 09530 PRINT CHR$(27);"Y2GAre you at a Teleray 10 or 11"; 09540 INPUT A$ 09550 IF UPRC$(A$(1:1)) <> "Y" THEN 13400 09560 ON ERROR GOTO 08970 09570 IF E9 = 1 THEN 09580 09580 LET E9 = 0 09590 PRINT CHR$(12) 09600 PRINT "TLABEL takes label information from you at a terminal and writes" 09610 PRINT "it to a computer file that is then transformed by a word-processor" 09620 PRINT "program into a finished herbarium label. The information to be" 09630 PRINT "entered is divided into two categories: information about the " 09640 PRINT "locality and information about the specimen. Each category has" 09650 PRINT "a separate screen display that prompts you for the information." 09660 PRINT "Each item of information (e.g., genus, month, state) is stored " 09670 PRINT "separately by the program, and can be replaced or edited indivi-" 09680 PRINT "dually. The order of the items is not the same as it is in the" 09690 PRINT "final label; instead it is arranged so that the items that change" 09700 PRINT "most often from one label to the next are at the top of each " 09710 PRINT "screen. Since the program remembers the information until you " 09720 PRINT "tell it to do otherwise, this allows you to write new labels by" 09730 PRINT "simply changing the items that are different. This ability, and" 09740 PRINT "the ability to ask for as many copies of a label as you need, " 09750 PRINT "both take a lot of the drudgery out of label-writing." 09760 PRINT 09770 GOSUB 10380 09780 IF UPRC$(A$(1:1)) = "C" THEN 09790 ELSE 02320 09790 PRINT CHR$(12); 09800 PRINT "Look at the upper left corner of the keyboard; you will see four" 09810 PRINT "blue keys with numbers like ""F5/F1"". TLABEL programs these keys" 09820 PRINT "to perform certain tasks. When you are entering information on" 09830 PRINT "a screen, hitting an ""empty"" carriage return moves the cursor" 09840 PRINT "down to the next item, without changing the item you were on. To" 09850 PRINT "move the cursor *up* instead, hit the F1 key. The F4 key puts " 09860 PRINT "the other screen on the display (e.g., LOCALITY if you were on " 09870 PRINT "SPECIMEN). The F3 key must always be the first part of a com- " 09880 PRINT "mand--it moves the cursor to the upper left part of the screen," 09890 PRINT "the ""command field"" (commands are explained below). The F2 " 09900 PRINT "key does nothing." 09910 PRINT 09920 PRINT "It is important to remember the action of these four keys:" 09930 PRINT 09940 PRINT " = move up the screen" 09950 PRINT " = command" 09960 PRINT " = next screen" 09970 PRINT " = move down the screen" 09980 PRINT 09990 GOSUB 10380 10000 IF UPRC$(A$(1:1)) = "C" THEN 10010 ELSE 02320 10010 PRINT CHR$(12); 10020 PRINT "Entering information is simply a matter of typing in each item " 10030 PRINT "(followed by a carriage return). After you have entered an item," 10040 PRINT "it is reprinted on the screen, showing you what the computer " 10050 PRINT "thought you said. For some items (e.g., Infra, State, County)," 10060 PRINT "the program will interpret your abbreviation and reprint the full" 10070 PRINT "word. New input for an item replaces the old information, so " 10080 PRINT "don't worry if the old information has more letters." 10090 PRINT 10100 PRINT "To skip an item, hit . To clear the information for an" 10110 PRINT "item, type KILL (for information on this and other commands," 10120 PRINT "type HELP,COMMANDS). " 10130 PRINT 10140 PRINT "To return to an item, hit , or PRINT,(item name). The" 10150 PRINT "PRINT command does other things, too; type HELP,PRINT for " 10160 PRINT "more information." 10170 PRINT 10180 GOSUB 10380 10190 IF UPRC$(A$(1:1)) = "C" THEN 10200 ELSE 02320 10200 PRINT CHR$(12); 10210 PRINT "If you make a mistake, you can re-enter the information, but if" 10220 PRINT "it consists of a long sentence (in LOCATION, for example), it " 10230 PRINT "may be easier to EDIT the incorrect portion (for help with EDIT," 10240 PRINT "type HELP,EDIT)." 10250 PRINT 10260 PRINT "When you have entered the necessary information for a label, you" 10270 PRINT "can cause that information to be written to the label file with" 10280 PRINT "the WRITE command. Labels can be formatted for either the line" 10290 PRINT "printer or an attached printer." 10300 PRINT 10310 PRINT "For more help on any command or item, enter HELP, followed" 10320 PRINT "by the name of the command or item (note the comma---^ )." 10330 PRINT 10340 PRINT "To leave TLABEL, type QUIT." 10350 PRINT 10360 GOTO 02320 10370 IF UPRC$(A$(1:1)) = "C" THEN 09730 ELSE 02320 10380 PRINT "Input ""C"" to continue, any other character to leave instructions"; 10390 INPUT A$ 10400 ON ERROR GOTO 08970 10410 IF E9 = 1 THEN 10420 10420 LET E9 = 0 10430 RETURN 10440 REM************* HELP COMMANDS ************************* 10450 PRINT CHR$(12); 10460 PRINT "Valid commands are PRINT, KILL, EDIT, WRITE, SAVE, RETRIEVE, " 10470 PRINT "QUIT, and HELP. Every command can be abbreviated to its first " 10480 PRINT "letter. Commands must be preceded by the F3 function key; " 10490 PRINT "otherwise they will be interpreted as input. For more infor- " 10500 PRINT "mation about a specific command, enter HELP,(command name). " 10510 PRINT 10520 GOSUB 13350 10530 GOTO 02320 10540 REM************* HELP PRINT **************************** 10550 PRINT CHR$(12); 10560 PRINT "PRINT displays the screen containing the requested item, prints" 10570 PRINT "the information for that item, and requests new input. " 10580 PRINT 10590 PRINT "PRINT Prints the current item." 10600 PRINT 10610 PRINT "PRINT,GENUS Prints the genus, regardless of current item." 10620 PRINT 10630 PRINT "PRINT,SPECIMEN Prints the specimen screen, sets Genus as" 10640 PRINT " current item." 10650 PRINT 10660 PRINT "PRINT,LOCALITY Prints the locality screen, sets Day as " 10670 PRINT " current item." 10680 PRINT 10690 PRINT "PRINT,STATUS Displays the number of labels written and saved." 10700 PRINT 10710 GOSUB 13350 10720 GOTO 02320 10730 REM************* HELP KILL ***************************** 10740 PRINT CHR$(12); 10750 PRINT "KILL displays the screen containing the requested item, clears " 10760 PRINT "the information from that item, and requests new input. " 10770 PRINT 10780 PRINT "KILL Clears the current item." 10790 PRINT 10800 PRINT "KILL,TEXT 1 Clears the information in Text 1, regardless " 10810 PRINT " of the current item. " 10820 PRINT 10830 GOSUB 13350 10840 GOTO 02320 10850 REM************* HELP EDIT ***************************** 10860 PRINT CHR$(12); 10870 PRINT "EDIT allows mistakes in the label information to be corrected. " 10880 PRINT "A group of letters (""character string"" in computerese)" 10890 PRINT "containing an error can be replaced with another, corrected " 10900 PRINT "group. For example, if you enter ""Escholzia"" for the genus " 10910 PRINT "instead of ""Eschscholzia"", you can replace ""sch"" with " 10920 PRINT """schsch""." 10930 PRINT 10940 PRINT "EDIT Edits the current item." 10950 PRINT 10960 PRINT "EDIT,LOCATION 1 Edits Location 1, regardless of the current item." 10970 PRINT 10980 GOSUB 13350 10990 GOTO 02320 11000 REM************* HELP WRITE **************************** 11010 PRINT CHR$(12); 11020 PRINT "WRITE places the current information on an external file that " 11030 PRINT "is used for forming the labels. Labels can be formatted for " 11040 PRINT "either the line printer or an attached printer. Once a label " 11050 PRINT "is written, it cannot be changed, but the information is still " 11060 PRINT "present, and a new, corrected label can be written. " 11070 PRINT 11080 PRINT "WRITE Program will ask whether line printer or" 11090 PRINT " attached printer." 11100 PRINT 11110 PRINT "WRITE,L Formats label for line printer. " 11120 PRINT 11130 PRINT "WRITE,A Formats label for attached printer. " 11140 PRINT 11150 PRINT "Both line- and attached-printer labels can be written during " 11160 PRINT "the same session." 11170 PRINT 11180 GOSUB 13350 11190 GOTO 02320 11200 REM************* HELP SAVE **************************** 11210 PRINT CHR$(12);"No help yet for SAVE." 11220 GOSUB 13350 11230 GOTO 02320 11240 REM************* HELP RETREIVE ************************* 11250 PRINT CHR$(12);"RETRIEVE not yet available." 11260 GOSUB 13350 11270 GOTO 02320 11280 REM************* HELP QUIT **************************** 11290 PRINT CHR$(12); 11300 PRINT "QUIT takes you out of TLABEL. The number of labels written and" 11310 PRINT "saved is displayed, and then the processes take place that for-" 11320 PRINT "mat and print the labels. WARNING--once you give the QUIT com-" 11330 PRINT "mand, no changes may be made to the labels, and no information " 11340 PRINT "will remain unless you explicitly SAVE or WRITE it." 11350 PRINT " " 11360 GOSUB 13350 11370 GOTO 02320 11380 REM************* HELP GENUS **************************** 11390 PRINT CHR$(12); 11400 PRINT "Enter the generic name. Remember to capitalize the first letter." 11410 PRINT "Do not try to underline the name; the program will do that for you." 11420 GOSUB 13350 11430 GOTO 02320 11440 REM************* HELP SPECIES ************************** 11450 PRINT CHR$(12); 11460 PRINT "Enter the specific epithet. Do not capitalize. Do not try to" 11470 PRINT "underline; the program will do that for you." 11480 GOSUB 13350 11490 GOTO 02320 11500 REM************* HELP AUTHOR *************************** 11510 PRINT CHR$(12); 11520 PRINT "Enter the author citation, exactly as it appears in the reference" 11530 PRINT "you used to identify the plant. If you do not know the citation," 11540 PRINT "please look it up." 11550 GOSUB 13350 11560 GOTO 02320 11570 REM************* HELP INFRA **************************** 11580 PRINT CHR$(12); 11590 PRINT "Is the infraspecific taxon a subspecies? If so, enter S. If it is" 11600 PRINT "a variety, enter V. If it is a forma, enter F. If there is no" 11610 PRINT "infraspecific taxon, hit the carriage return or use the KILL" 11620 PRINT "command to remove previous information." 11630 GOSUB 13350 11640 GOTO 02320 11650 REM************* HELP EPITHET ************************** 11660 PRINT CHR$(12); 11670 PRINT "Enter the infraspecific epithet, all lower case. Do not try to" 11680 PRINT "underline; the program does that for you." 11690 GOSUB 13350 11700 GOTO 02320 11710 REM************* HELP AUTHOR* ************************** 11720 GOTO 11510 11730 REM************* HELP COLL. # ************************** 11740 PRINT CHR$(12); 11750 PRINT "Enter the collection number. If there is no collection number," 11760 PRINT "it is traditional to enter ""s.n."" (Latin, * sine numero *," 11770 PRINT """without number""). You may also enter the KILL command." 11780 GOSUB 13350 11790 GOTO 02320 11800 REM************* HELP COLLECTOR ************************ 11810 PRINT CHR$(12); 11820 PRINT "Enter the main collector. If there is not a single main collector," 11830 PRINT "but instead a group of collectors, use the KILL command here." 11840 GOSUB 13350 11850 GOTO 02320 11860 REM************* HELP ASSOCIATES *********************** 11870 PRINT CHR$(12); 11880 PRINT "Enter associate collectors, all on a single line, separated by" 11890 PRINT "commas. If there are more than will fit on a single line, you " 11900 PRINT "can continue to type (do not hit the carriage return) and the " 11910 PRINT "line will ""wrap around"", but the final labels may be unusual." 11920 GOSUB 13350 11930 GOTO 02320 11940 REM************* HELP TEXT 1 *************************** 11950 PRINT CHR$(12); 11960 PRINT "Enter any additional information about the specimen or its habitat" 11970 PRINT "such as soil type, plant community, slope and aspect, growth form," 11980 PRINT "size, flower color, etc. The program accepts four lines of full" 11990 PRINT "terminal-screen width. These will be rearranged to fit the label." 12000 PRINT "Proper capitalization and punctuation are required. DO NOT " 12010 PRINT "HYPHENATE AT THE END OF A LINE--just end with a word and pick up" 12020 PRINT "on the next line. If you use less than four lines, use the " 12030 PRINT "carriage return to skip the rest." 12040 GOSUB 13350 12050 GOTO 02320 12060 REM************* HELP TEXT 2 *************************** 12070 GOTO 11950 12080 REM************* HELP TEXT 3 *************************** 12090 GOTO 11950 12100 REM************* HELP TEXT 4 *************************** 12110 GOTO 11950 12120 REM************* HELP DAY ****************************** 12130 PRINT CHR$(12); 12140 PRINT "Enter the day of month on which the specimen was collected. Please" 12150 PRINT "use Arabic numerals, 1 through 31. If you do not know the exact" 12160 PRINT "date, you may enter such things as ""5-17"" or ""late"", but " 12170 PRINT "spacing of the final label may be unusual. To omit day of month," 12180 PRINT "use the KILL command." 12190 GOSUB 13350 12200 GOTO 02320 12210 REM************* HELP MONTH **************************** 12220 PRINT CHR$(12); 12230 PRINT "Enter the month in which the specimen was collected, either as its" 12240 PRINT "Arabic number (e.g., 1 = January, 4 = April, 10 = October) or the" 12250 PRINT "first three letters of its name (e.g., JAN = January, APR = April," 12260 PRINT "OCT = October). If you enter more than three letters only the first" 12270 PRINT "three will be read. If you wish to enter a season, KILL the" 12280 PRINT "month and enter the season with the year, e.g., ""Spring 1887""." 12290 GOSUB 13350 12300 GOTO 02320 12310 REM************* HELP YEAR ***************************** 12320 PRINT CHR$(12); 12330 PRINT "Enter the year in which the specimen was collected. Non-standard" 12340 PRINT "dates may be entered here after KILLing day of month and" 12350 PRINT "month, e.g., ""Spring 1887"", ""Dec 1932 - Jan 1933"", " 12360 PRINT """Twelfth Century A.D.""." 12370 GOSUB 13350 12380 GOTO 02320 12390 REM************* HELP LOCATION 1 *********************** 12400 PRINT CHR$(12); 12410 PRINT "Enter the specific location where the plant was collected. This" 12420 PRINT "may include road mileages, distance and direction from towns or" 12430 PRINT "landmarks, township/range, latitude/longitude, or any other " 12440 PRINT "information that would be useful for relocating the population." 12450 PRINT "The program accepts four lines of full terminal-screen width." 12460 PRINT "These will be rearranged to fit the label. Proper capitalization" 12470 PRINT "and punctuation are required. DO NOT HYPHENATE AT THE END OF A " 12480 PRINT "LINE--just end with a word and pick up on the next line. If you" 12490 PRINT "use less than four lines, use the carriage return to skip the" 12500 PRINT "rest." 12510 GOSUB 13350 12520 GOTO 02320 12530 REM************* HELP LOCATION 2 *********************** 12540 GOTO 12400 12550 REM************* HELP LOCATION 3 *********************** 12560 GOTO 12400 12570 REM************* HELP LOCATION 4************************ 12580 GOTO 12400 12590 REM************* HELP STATE **************************** 12600 PRINT CHR$(12); 12610 PRINT "Enter the official two-letter Postal Service abbreviation for the" 12620 PRINT "state of the U.S. in which the specimen was collected. If you do" 12630 PRINT "not know the abbreviations, a list is available. For states of " 12640 PRINT "other countries, enter the name, all upper-case." 12650 PRINT 12660 GOSUB 13350 12670 LET E9 = 0 12680 PRINT "Do you want a list of state abbreviations"; 12690 INPUT A$ 12700 ON ERROR GOTO 08970 12710 IF E9 = 1 THEN 12670 12720 IF UPRC$(A$(1:1)) = "Y" THEN 12740 12730 GOTO 02320 12740 PRINT CHR$(12); 12750 PRINT "AL ALABAMA LA LOUISIANA OH OHIO" 12760 PRINT "AK ALASKA ME MAINE OK OKLAHOMA" 12770 PRINT "AZ ARIZONA MD MARYLAND OR OREGON" 12780 PRINT "AR ARKANSAS MA MASSACHUSETTS PA PENNSYLVANIA" 12790 PRINT "CA CALIFORNIA MI MICHIGAN RI RHODE ISLAND" 12800 PRINT "CO COLORADO MN MINNESOTA SC SOUTH CAROLINA" 12810 PRINT "CT CONNECTICUT MS MISSISSIPPI SD SOUTH DAKOTA" 12820 PRINT "DE DELAWARE MO MISSOURI TN TENNESSEE" 12830 PRINT "FL FLORIDA MT MONTANA TX TEXAS" 12840 PRINT "GA GEORGIA NB NEBRASKA UT UTAH" 12850 PRINT "HI HAWAII NV NEVADA VT VERMONT" 12860 PRINT "ID IDAHO NH NEW HAMPSHIRE VA VIRGINIA" 12870 PRINT "IL ILLINOIS NJ NEW JERSEY WA WASHINGTON" 12880 PRINT "IN INDIANA NM NEW MEXICO WV WEST VIRGINIA" 12890 PRINT "IA IOWA NY NEW YORK WI WISCONSIN" 12900 PRINT "KS KANSAS NC NORTH CAROLINA WY WYOMING" 12910 PRINT "KY KENTUCKY ND NORTH DAKOTA " 12920 GOTO 02320 12930 REM************* HELP COUNTY *************************** 12940 PRINT CHR$(12); 12950 PRINT "Enter the name of the county, parish, borough, or other political" 12960 PRINT "subdivision in which the specimen was collected (capitalize the" 12970 PRINT "first letter). You may enter abbreviations for counties of" 12980 PRINT "Southern California (list below). If the last state of the U.S." 12990 PRINT "(chosen by two-letter abbreviation) was any state but Alaska or " 13000 PRINT "Louisiana, the word ""Co."" will be added. If the last state was " 13010 PRINT "Louisiana, ""Parish"" will be added; if it was Alaska, ""Borough""" 13020 PRINT "will be added. If the state was not entered by two-letter" 13030 PRINT "abbreviation, or if this is a political subdivision of a country" 13040 PRINT "other than the U.S., you must enter any needed name." 13050 PRINT 13060 GOSUB 13350 13070 LET E9 = 0 13080 PRINT "Do you want abbreviations of southern California counties"; 13090 INPUT A$ 13100 ON ERROR GOTO 08970 13110 IF E9 = 1 THEN 13070 13120 IF UPRC$(A$(1:1)) = "Y" THEN 13140 13130 GOTO 02320 13140 PRINT CHR$(12); 13150 PRINT "LA = LOS ANGELES" 13160 PRINT "SBD = SAN BERNARDINO" 13170 PRINT "O = ORANGE" 13180 PRINT "R = RIVERSIDE" 13190 PRINT "V = VENTURA" 13200 PRINT "SD = SAN DIEGO" 13210 PRINT "IM = IMPERIAL" 13220 PRINT "K = KERN" 13230 PRINT "IN = INYO" 13240 PRINT "SBA = SANTA BARBARA" 13250 PRINT "SLO = SAN LUIS OBISPO" 13260 GOTO 02320 13270 REM************* HELP COUNTRY ************************** 13280 PRINT CHR$(12); 13290 PRINT "Enter the country in which the specimen was collected. You need" 13300 PRINT "not enter the country if the collection was made in the United" 13310 PRINT "States, but if you choose to do so, please enter UNITED STATES." 13320 GOSUB 13350 13330 GOTO 02320 13340 REM***************************************************** 13350 PRINT 13360 PRINT "For more general help, enter HELP,TOPICS" 13370 PRINT 13380 RETURN 13390 REM***************************************************** 13400 END