10 ' OLDROUTE.BAS NAVPROGseven Route Retrieval Program 22-Jan-82 Rev 6/11/82 20 ' 30 ' (c) Copyright 1982 Alan Bose 40 ' President, Taildragger Flyers 50 ' Ross Field, Benton Harbor, MI 60 ' 70 ' CP/M modifications (c) 1982 by Glen Hassebrock, Jr. 80 ' 90 CLEAR:WIDTH 255:ON ERROR GOTO 540:DEFINT I-J 100 BL$=CHR$(7):E$=CHR$(27):ER$=E$+"E":PG$=E$+"p":QG$=E$+"q":Y$=E$+"Y" 110 L$=E$+"l":J$=E$+"j":K$=E$+"k":J1$=E$+"J" 120 DEF FNC$(C1,C2)=Y$+CHR$(C1+31)+CHR$(C2+31) 130 HD$="N A V P R O G s e v e n R O U T E R E T R I E V A L" 140 PRINT PG$ER$TAB(40-(LEN(HD$)/2))HD$TAB(79)QG$ 150 PRINT:PRINT"Routes on file: "; 160 ' 170 OPEN"I",1,"B:ROUTINGS.DAT":INPUT#1,M:DIM RT$(M+1) 180 FOR J=1 TO M:LINE INPUT #1,RT$(J):NEXT J:CLOSE:FOR J=1 TO M 190 CO=((J\16)*20)+1:RO=(J MOD 16)+5 200 PRINT FNC$(RO,CO)J;FNC$(RO,CO+5)"- "LEFT$(RT$(J),3)" to "; 210 PRINT RIGHT$(RT$(J),3):NEXT J 220 ' 230 PRINT FNC$(22,1)J1$"Enter selection "J$STRING$(2,95) 240 PRINT:PRINT"Enter `D' for delete mode Enter `P' for printout";:PRINT K$; 250 LINE INPUT X$:IF X$="" THEN CLOSE:RUN"MENU" 260 IF X$="D" OR X$="d" THEN 610 270 IF X$="P" OR X$="p" THEN 330 280 X=VAL(X$):IF X>M OR X<1 THEN PRINT BL$:GOTO 230 290 RT$=RT$(X):IF ASC(RT$)<65 OR ASC(RT$)>90 THEN RT$="X"+RT$ 300 F$="B:"+RT$:GOSUB 490:F$="B:FLIGHT.SEQ":GOSUB 520 310 PRINT ER$"Standby one...":RUN"NAVPROG7" 320 ' 330 GOSUB 720:LPRINT"Air routes currently on file"TAB(59)TM$" "D1$:LPRINT 340 FOR I=1 TO M:RT$=RT$(I):IF ASC(RT$)<65 OR ASC(RT$)>90 THEN RT$="X"+RT$ 350 F$="B:"+RT$:GOSUB 490:LPRINT I;TAB(4); 360 FOR K=1 TO N:SP=INSTR(I$(K)," "):IF SP=0 THEN SP=6 370 LPRINT LEFT$(I$(K),SP-1);:IF K=N THEN LPRINT ELSE LPRINT" -> "; 380 NEXT K,I 390 OPEN"I",2,"B:RNAVLIST.DAT":INPUT#2,KY 400 DIM LI$(KY),R1$(KY),R1(KY),R2$(KY),R2(KY):FOR J=1 TO KY:LINE INPUT#2,LI$(J) 410 LINE INPUT#2,R1$(J):INPUT#2,R1(J):LINE INPUT#2,R2$(J):INPUT#2,R2(J) 420 NEXT J:CLOSE#2:LPRINT:LPRINT:LPRINT"RNAV cross-references on file:":LPRINT 430 FOR J=1 TO KY:LPRINT" "LI$(J)" <-- "; 440 NV=1:IF R1$(J)<>"" THEN LPRINT"NAV"NV"= "R1$(J)" ";:NV=2 450 IF R2$(J)<>"" THEN LPRINT"NAV"NV"= "R2$(J) ELSE LPRINT 460 NEXT J:ERASE LI$,R1$,R1,R2$,R2 470 LPRINT CHR$(12):GOTO 230 480 ' 490 OPEN "I",1,F$:FOR J=1 TO 10:LINE INPUT#1,I$(J):INPUT#1,REF(J):N=J 500 NEXT J:CLOSE#1:RETURN 510 ' 520 OPEN"O",1,F$:FOR J=1 TO N:PRINT#1,I$(J):PRINT#1,REF(J):NEXT J:CLOSE#1 530 RETURN 540 'error trap 550 IF ERR=53 AND ERL=170 THEN PRINT "None":PRINT ELSE 570 560 PRINT"Hit to continue...";:X$=INPUT$(1):PRINT ER$:RUN"MENU" 570 IF ERR=62 AND ERL=490 THEN N=J-1:J=11:RESUME 500 580 IF ERR=53 AND ERL=390 THEN RESUME 470 590 IF ERR=53 AND ERL=660 THEN RESUME 670 600 ON ERROR GOTO 0 610 'delete 620 PRINT FNC$(22,1)J1$"Delete which route? "J$STRING$(2,95)K$; 630 LINE INPUT X$:IF X$="" THEN 230 640 X=VAL(X$):IF X>M OR X<=0 THEN PRINT BL$:GOTO 620 650 RT$=RT$(X):IF ASC(RT$)<65 OR ASC(RT$)>90 THEN RT$="X"+RT$ 660 KILL"B:"+RT$ 670 IF M=1 THEN KILL"B:ROUTINGS.DAT":GOTO 10 680 IF X<>M THEN FOR J=X+1 TO M:RT$(J-1)=RT$(J):NEXT J 690 RT$(M)="":M=M-1:OPEN"O",1,"B:ROUTINGS.DAT":PRINT#1,M 700 FOR J=1 TO M:PRINT #1,RT$(J):NEXT J:CLOSE:GOTO 10 710 ' date and time subroutines 720 D1$="" ' :A=-2508:CALL A:FOR A=-2605 TO -2597:D1$=D1$+CHR$(PEEK(A)):NEXT A 730 TM$="" ' :FOR A=-2596 TO -2589:TM$=TM$+CHR$(PEEK(A)):NEXT A 740 RETURN