10 COM B$[7],G$[7],D$[7],S,K1 12 REM 13 REM FINDIT: FILE INFORMATION DIALOGUE TECHNIQUE 14 REM FINDIT: PART 2 OF 8 15 REM 36250C, 6/74 16 REM 20 DIM A$[72],C$[52],E$[7],F$[6],H$[6] 30 C$="etoanirshdlcwumfygpbvkxqjzETOANIRSHDLCWUMFYGPBVKXQJZ" 40 FILES *,* 50 PRINT "FILE: "; 60 K0=K1=K2=0 70 ENTER #S,255,X,A$ 80 GOSUB 490 90 IF A1 THEN 50 100 S=S+1 110 ASSIGN A$,1,X 120 IF X<3 THEN 160 130 PRINT 140 PRINT "**NO SUCH FILE." 150 GOTO 50 160 GOSUB 790 162 IF LEN(A$)<7 THEN 170 164 IF LEN(A$)>7 THEN 168 165 IF A$[1,1]="$" THEN 170 166 IF A$[1,1]="*" THEN 170 168 PRINT "**INVALID NAME." 169 GOTO 50 170 B$=A$ 180 READ #1,2 182 IF TYP(-1)=2 THEN 188 184 PRINT "**YOU MUST RUN THE 'CREATE' PROGRAM TO INITIALIZE THE FILE." 186 GOTO 9999 188 READ #1;G$,D$,E$,F$,H$ 189 GOTO 2000 190 PRINT "PASSWORD: "; 200 K1=1 210 GOSUB 460 215 GOSUB 790 220 GOTO A1+1 OF 250,230,50 230 PRINT 240 GOTO 190 250 IF A$=F$ THEN 360 260 IF A$=H$ THEN 360 280 IF A$=E$ THEN 340 300 PRINT "**INVALID PASSWORD." 310 K0=K0+1 320 GOTO (K0>5)+1 OF 190,9999 340 A$="SEARCH" 350 GOTO 820 360 PRINT "COMMAND? "; 370 K1=0 390 GOSUB 460 400 GOTO A1 OF 360,50 410 IF A$[1,2]#"SE" THEN 430 415 A$="SEARCH" 416 READ #1,1;R 417 IF R>10 THEN 820 418 PRINT "**FILE '"B$"' IS EMPTY. TYPE 'UPDATE' TO ADD DATA." 420 GOTO 360 430 IF A$[1,2]#"UP" THEN 440 432 A$="UPDATE" 434 GOTO 820 440 PRINT "**TYPE 'SEARCH' OR 'UPDATE'." 450 GOTO 360 460 ENTER 255,X,A$ 470 IF K1 THEN 490 480 PRINT 490 IF X=-256 THEN 9999 500 A1=0 505 IF A$="" THEN 780 510 FOR Z=1 TO LEN(A$) 520 IF A$[Z,Z]#" " THEN 600 530 IF Z#1 THEN 560 540 A$=A$[2] 550 GOTO 510 560 IF A$[Z+1,Z+1]#" " THEN 600 570 IF Z>LEN(A$) THEN 600 580 A$[Z]=A$[Z+1] 590 GOTO 520 600 IF A$[Z,Z] <= "^" THEN 660 610 FOR Z1=1 TO 26 620 IF A$[Z,Z]#C$[Z1,Z1] THEN 650 630 A$[Z,Z]=C$[Z1+26,Z1+26] 640 GOTO 660 650 NEXT Z1 660 NEXT Z 670 IF A$[LEN(A$),LEN(A$)]#" " THEN 720 680 A$=A$[1,LEN(A$)-1] 720 IF A$[1,2]#"//" THEN 780 730 IF A$[1,4]="//ST" THEN 9999 732 IF A$[1,4]#"//ER" THEN 740 734 A1=2 736 PRINT 738 RETURN 740 IF K2 THEN 760 750 PRINT 760 PRINT "**'//STOP' AND '//ERROR' ARE THE ONLY LEGAL COMMANDS HERE." 770 A1=1 780 RETURN 790 K2=6+K1*4 800 PRINT TAB(K2);"HHHHHH"'13;TAB(K2);"XXXXXX" 810 RETURN 820 E$="$" 830 E$[2]=A$ 840 CHAIN E$ 2000 ASSIGN D$,2,Z2 2010 IF Z2 THEN 2040 2020 READ #2,1 2030 IF TYP(2)#3 THEN 2100 2040 ASSIGN G$,2,Z2 2060 GOTO 190 2100 READ #2;X1 2110 PRINT "**THE BREAK KEY AT PORT "; 2120 PRINT USING "#,DDX";X1 2130 PRINT "WAS USED DURING A FILE UPDATE." 2140 PRINT " THE FILE MANAGER SHOULD BE NOTIFIED IMMEDIATELY, AND THE" 2150 PRINT " FILES '"A$"' AND '"D$"' RELOADED FROM THE BACKUP MAG TAPE." 9999 END