4130 PRINT FNCUR$(21,3);"X = No further entries, return to MAIN MENU
4140 PRINT FNCUR$(22,9);"Please choose by number or X."
4150 CORRECTIONS$ = INKEY$:IF CORRECTIONS$ = "" THEN 4150
4160 IF CORRECTIONS$ = "X" OR CORRECTIONS$ = "x" OR VAL(CORRECTIONS$) = 9 THEN RETURN
4170 IF VAL(CORRECTIONS$) > 0 AND VAL(CORRECTIONS$) < 9 THEN ENTRY = VAL(CORRECTIONS$):GOTO 4040 ' Ch. 12
4180 '
4190 '
4200 ' Catch illegal choices
4210 '
4220 PRINT CHR$(7); ' Beeper (Ch. 10)
4230 FOR COUNT = 1 TO 3 ' Blink "Please choose" (Ch. 8)
4240 PRINT FNCUR$(22,9);FNCLLN$ ' Clear line (line indentation Ch. 11)
4250 FOR PAUSE = 1 TO 100:NEXT PAUSE ' Count to 100 silently (Ch. 7)
4260 PRINT FNCUR$(22,9);"Please choose by number or X."
4270 FOR PAUSE = 1 TO 100:NEXT PAUSE ' Count to 100 silently (Ch. 7)
4280 NEXT COUNT
4290 GOTO 4150 ' Try for correct choice
4300 '
4310 '
4320 '
4330 '
4340 '
5000 ' SUBROUTINE ** Prevent illegal first name, last name, city, & state entries (Chs. 10 & 12)
5010 '
5020 ILLEGAL = 0 ' No illegal entries yet, checking
5030 IF MEMBER$(ENTRY) = "" THEN MEMBER$(ENTRY) = "N/A":GOTO 5220
5040 FOR CHECK = 1 TO LEN(MEMBER$(ENTRY)) ' Legal entries on next line
5050 IF ASC(MID$(MEMBER$(ENTRY),CHECK,1)) >= 65 AND ASC(MID$(MEMBER$(ENTRY),CHECK,1)) <= 90 THEN 5210 ' A through Z
5060 IF ASC(MID$(MEMBER$(ENTRY),CHECK,1)) >= 97 AND ASC(MID$(MEMBER$(ENTRY),CHECK,1)) <= 122 THEN 5210 ' a through z
5070 IF ASC(MID$(MEMBER$(ENTRY),CHECK,1)) = 32 OR ASC(MID$(MEMBER$(ENTRY),CHECK,1)) = 38 OR ASC(MID$(MEMBER$(ENTRY),CHECK,1)) = 39 THEN 5210 ' Space, apostrophe, & ampersand
5080 IF ASC(MID$(MEMBER$(ENTRY),CHECK,1)) >= 45 AND ASC(MID$(MEMBER$(ENTRY),CHECK,1)) <= 46 THEN 5210 ' Dash & period
5090 ILLEGAL = 1 ' Illegal entry found
5100 PRINT CHR$(7) ' Beep (Ch. 10)
5110 PRINT FNCUR$(3,0);FNCLLN$ ' Clear third line from top
5120 PRINT FNCUR$(5,0);FNCLLN$ ' Clear fifth line from top
5130 FOR COUNT = 1 TO 3 ' Blink error message
5140 PRINT FNCUR$(4,0);FNCLLN$ ' Clear fourth line from top
5150 FOR PAUSE = 1 TO 100:NEXT PAUSE ' Count to 100 silently (Ch. 7)
5160 PRINT FNCUR$(4,20);"Illegal Entry!"
5170 FOR PAUSE = 1 TO 100:NEXT PAUSE ' Count to 100 silently (Ch. 7)
5180 NEXT COUNT
5190 PRINT FNCUR$(5,8);"Please re-enter without punctuation."
7020 ILLEGAL = 0 ' No illegal entries yet, checking
7030 IF MEMBER$(ENTRY) = "" THEN MEMBER$(ENTRY) = "N/A":GOTO 7190
7040 FOR CHECK = 1 TO LEN(MEMBER$(ENTRY)) ' Legal entries on next line
7050 IF ASC(MID$(MEMBER$(ENTRY),CHECK,1)) >= 48 AND ASC(MID$(MEMBER$(ENTRY),CHECK,1)) <= 57 OR ASC(MID$(MEMBER$(ENTRY),CHECK,1)) = 45 THEN 7180 ' Digits & dash
7060 ILLEGAL = 1 ' Illegal entry found
7070 PRINT CHR$(7) ' Beep (Ch. 10)
7080 PRINT FNCUR$(3,0);FNCLLN$ ' Clear third line from top
7090 PRINT FNCUR$(5,0);FNCLLN$ ' Clear fifth line from top
7100 FOR COUNT = 1 TO 3 ' Blink error message
7110 PRINT FNCUR$(4,0);FNCLLN$ ' Clear fourth line from top
7120 FOR PAUSE = 1 TO 100:NEXT PAUSE ' Count to 100 silently (Ch. 7)
7130 PRINT FNCUR$(4,20);"Illegal Entry!"
7140 FOR PAUSE = 1 TO 100:NEXT PAUSE ' Count to 100 silently (Ch. 7)
7150 NEXT COUNT
7160 PRINT FNCUR$(5,4);"Please re-enter with digits and dashes only."
8020 ILLEGAL = 0 ' No illegal entries yet, checking
8030 IF MEMBER$(ENTRY) = "" THEN MEMBER$(ENTRY) = "0":GOTO 8190
8040 FOR CHECK = 1 TO LEN(MEMBER$(ENTRY)) ' Legal entries on next line
8050 IF ASC(MID$(MEMBER$(ENTRY),CHECK,1)) >= 48 AND ASC(MID$(MEMBER$(ENTRY),CHECK,1)) <= 57 OR ASC(MID$(MEMBER$(ENTRY),CHECK,1)) = 46 THEN 8180 ' Digits & period (decimal pt.)
8060 ILLEGAL = 1 ' Illegal entry found
8070 PRINT CHR$(7) ' Beep (Ch. 10)
8080 PRINT FNCUR$(3,0);FNCLLN$ ' Clear third line from top
8090 PRINT FNCUR$(5,0);FNCLLN$ ' Clear fifth line from top
8100 FOR COUNT = 1 TO 3 ' Blink error message
8110 PRINT FNCUR$(4,0);FNCLLN$ ' Clear fourth line from top
8120 FOR PAUSE = 1 TO 100:NEXT PAUSE ' Count to 100 silently (Ch. 7)
8130 PRINT FNCUR$(4,20);"Illegal Entry!"
8140 FOR PAUSE = 1 TO 100:NEXT PAUSE ' Count to 100 silently (Ch. 7)