10 REM TELEP 20 REM KLAUS E. LIEBOLD 30 REM SALK INSTITUTE, SAN DIEGO, CALIFORNIA 40 REM APRIL 30, 1976 60 REM 24 BLOCKS=64 NAMES=2 LP PAGES 70 REM 80 REM 90 REM 200 OPEN "TELIN" AS FILE VF2% 210 OPEN "TELEP.DAT" AS FILE VF3$ 215 REM CHANGE TO TT: OR KB: IF DESIRED 220 A$="LP:" 240 DIM C$(64) 260 PRINT \N=VF2(0)*6+1 265 PRINT "ADD(1),OUT(2),MOD(3),DEL(4),QUIT(5),BIRTH(6),LOC(7)" 270 INPUT F\PRINT 280 IF F=1 THEN 500 290 IF F=2 THEN 1000 300 IF F=3 THEN 3000 310 IF F=4 THEN 4000 320 IF F=5 THEN 400 330 IF F=6 THEN 5000 340 IF F=7 THEN 6000 400 CLOSE \STOP 450 REM 460 REM 470 REM 500 PRINT "NAME: ";\INPUT B$\VF3(N)=B$ 530 PRINT "STREET: ";\INPUT B$\VF3(N+1)=B$ 540 PRINT "CITY,STATE,ZIP: ";\INPUT B$\VF3(N+2)=B$ 550 PRINT "HOME #: ";\INPUT B$\VF3(N+3)="H: "&B$ 560 PRINT "WORK #: ";\INPUT B$\VF3(N+4)="W: "B$ 570 PRINT "BIRTHDAY: ";\INPUT B$\VF3(N+5)=B$ 580 VF2(0)=VF2(0)+1 590 GOSUB 2000 600 GO TO 260 650 REM 700 REM 999 REM LINE PRINTER OUTPUT 1000 I=1\OPEN A$ FOR OUTPUT AS FILE #1 1010 FOR R=1 TO 6\FOR C=1 TO 4 1030 PRINT #1:VF3((VF2(I)-1)*6+R); 1040 I=I+1\IF VF2(I)=0 THEN 1050 \NEXT C 1050 I=I-C\PRINT #1: 1060 NEXT R 1070 FOR R=1 TO 11\PRINT #1:"------------";\NEXT R 1080 I=I+4\IF VF2(I)<>0 THEN 1010 1085 FOR I=1 TO 25\PRINT #1:\NEXT I 1090 PRINT #1:\CLOSE #1\GO TO 260 1095 REM 1097 REM 2000 FOR I=0 TO VF2(0)-1\REM ORDERING 2010 C$(I+1)=SEG$(VF3(I*6+1),1,1)\NEXT I 2020 P1=1\K=0 2030 FOR I=1 TO VF2(0)\FOR J=1 TO VF2(0) 2035 IF P1>VF2(0) THEN 2240 2040 IF C$(P1)<>"+" THEN 2060 2050 P1=P1+1\GO TO 2035 2060 IF C$(J)="+" THEN 2200 2070 IF P1=J THEN 2200 2080 IF C$(P1)C$(J) THEN 2190 2100 IF C$(P1)=C$(J) THEN 2120 2110 PRINT "NO MATCH?"\CLOSE \STOP 2120 K=1 2125 K=K+1 2130 D$=SEG$(VF3((P1-1)*6+1),K,K)\E$=SEG$(VF3((J-1)*6+1),K,K) 2140 IF D$E$ THEN 2190 2170 GO TO 2110 2190 P1=J 2200 NEXT J 2220 VF2(I)=P1\C$(P1)="+" 2225 P1=1 2230 NEXT I 2240 RETURN 2280 REM 2300 REM 2999 REM MODIFICATION 3000 PRINT "WHICH ENTRY #";\INPUT A 3005 IF A>VF2(0) THEN 3000 3010 PRINT "WHICH LINE";\INPUT B 3020 GOSUB 3400 3040 IF B=1 THEN 3100 \IF B=2 THEN 3150 \IF B=3 THEN 3200 3050 F B=4 THEN 3250 \IF B=5 THEN 3300 \IF B=6 THEN 3350 3070 GO TO 3010 \REM ERROR 3100 PRINT "NAME: ";\INPUT B$\VF3(M1-5)=B$\GOSUB 2000 \GO TO 260 3150 PRINT "STREET: ";\INPUT B$\VF3(M1-4)=B$\GO TO 260 3200 PRINT "CITY,STATE,ZIP: ";\INPUT B$\VF3(M1-3)=B$\GO TO 260 3250 PRINT "HOME #: ";\INPUT B$\VF3(M1-2)="H: "&b$\GO TO 260 3300 PRINT "WORK #: ";\INPUT B$\VF3(M1-1)="W: "&B$\GO TO 260 3350 PRINT "BIRTHDAY: ";\INPUT B$\VF3(M1)=B$\GO TO 260 3400 PRINT \FOR M1=(VF2(A)-1)*6+1 TO (VF2(A)-1)*6+6 3410 PRINT VF3(M1)\NEXT M1\PRINT \RETURN 3500 REM 3999 REM DELETION ROUTINE 4000 PRINT "WHICH ENTRY #";\INPUT A 4005 IF A>VF2(0) THEN 4000 4010 GOSUB 3400 4020 PRINT \PRINT "IS THAT IT";\INPUT B$ 4030 IF B$<>"Y" THEN 260 4040 P1=(VF2(A)-1)*6+1 4050 FOR I=P1 TO (VF2(0)-1)*6 4060 VF3(I)=VF3(I+6)\NEXT I 4065 VF2(VF2(0))=0 4070 VF2(0)=VF2(0)-1 4080 GOSUB 2000 4090 GO TO 260 4999 REM SEARCH FOR MONTH 5000 PRINT "WHICH MONTH (01=JAN)";\INPUT B$ 5010 FOR I=1 TO VF2(0) 5020 Z$=SEG$(VF3(VF2(I)*6),1,2) 5030 IF Z$<>B$ THEN 5050 5040 A=I\GOSUB 3400 5050 NEXT I\GO TO 260 5100 REM 5200 REM 5999 REM LOCATE A NAME 6000 PRINT "WHOM TO LOCATE";\INPUT B$ 6010 PRINT 6020 FOR I=1 TO VF2(0) 6040 IF B$<>SEG$(VF3((VF2(I)-1)*6+1),1,LEN(B$)) THEN 6120 6060 A=I\GOSUB 3400 6080 PRINT \PRINT "ENTRY # IS ";I 6090 PRINT \PRINT \GO TO 6120 6095 PRINT \PRINT \GO TO 6120 6120 NEXT I\PRINT \GO TO 260 9999 END