10 ' QKSHOW.BAS ::: 20 DEC 1987 - E. HELLIWELL - SAN FRANCISCO, CA 20 ' DISPLAYS OR PRINTS CURRENT VALUES IN QK KEY FILES 30 DEFINT A-Z 40 CL$=CHR$(26) 'CLEAR SCREEN 50 PRINT CL$;TAB(15);"QWIKKEY DEFINITION FILE DISPLAY/PRINT PROGRAM" 60 PRINT TAB(15);"=============================================" 70 PRINT:PRINT:PRINT 80 LINE INPUT "ENTER NAME OF QK DEFINITION FILE: ";FIL$ 90 IF FIL$="" THEN PRINT CL$:SYSTEM 100 PRINT 110 INPUT "PRINTED COPY OR DISPLAY ONLY (P/D)? ",RES$ 120 IF RES$="P" OR RES$="p" THEN P=1 ELSE P=0 130 PRINT 140 INPUT "OUTPUT IN HEX OR ASCII FORM (H/A)? ",RSP$ 150 IF RSP$="A" OR RSP$="a" THEN T=1 ELSE T=0 160 OPEN "R",#1, FIL$,32 170 IF LOF(1)=0 THEN CLOSE:KILL FIL$:PRINT:PRINT CHR$(7);"FILE DOESN'T EXIST":GOTO 70 180 PRINT CL$; 190 PRINT TAB(5);FIL$" CONTAINS THE FOLLOWING DEFINITIONS:":PRINT 200 IF P=0 THEN 220 210 LPRINT TAB(5);FIL$" CONTAINS THE FOLLOWING DEFINITIONS:":LPRINT 220 FIELD #1, 32 AS A$ 230 FOR J=1 TO 32 240 GET #1,J 250 IF J>1 THEN 500 260 C$=A$ 270 FOR I=1 TO 3 280 B=ASC(MID$(C$,I,1)) 290 IF B<32 THEN F=B+64:ALF$="^"+CHR$(F) ELSE ALF$=CHR$(B) 300 D$=HEX$(B) 310 IF LEN(D$)<2 THEN D$="0"+D$ 320 IF T=0 THEN 340 330 IF I=1 THEN PRINT "THE ATTENTION CHARACTER IS: ";ALF$:GOTO 350 340 IF I=1 THEN PRINT "THE ATTENTION CHARACTER IS: ";D$ 350 IF P=0 THEN 370 360 IF I=1 THEN LPRINT "THE ATTENTION CHARACTER IS: ";D$ 370 IF T=0 THEN 390 380 IF I=2 THEN PRINT "THE LEAD-IN CHARACTER IS: ";ALF$:GOTO 400 390 IF I=2 THEN PRINT "THE LEAD-IN CHARACTER IS: ";D$ 400 IF P=0 THEN 420 410 IF I=2 THEN LPRINT "THE LEAD-IN CHARACTER IS: ";D$ 420 IF I=3 THEN PRINT "THE WARM BOOT FLAG (00=OFF, 01=ON) IS: ";D$ 430 IF P=0 THEN 450 440 IF I=3 THEN LPRINT "THE WARM BOOT FLAG (00=OFF, 01=ON) IS: ";D$ 450 NEXT I 460 PRINT 470 IF P=0 THEN 490 480 LPRINT 490 GOTO 860 500 C$=A$:K=1 510 IF ASC(LEFT$(C$,1))=0 THEN 870 520 PRINT USING "## KEY: ";J-1; 530 IF P=0 THEN 550 540 LPRINT USING "## KEY: ";J-1; 550 X=ASC(MID$(C$,K,1)) 560 IF X<32 THEN F=X+64:ALF$="^"+CHR$(F) ELSE IF X>126 THEN ALF$=HEX$(X) ELSE ALF$=CHR$(X) 570 E$=HEX$(X) 580 IF LEN(E$)<2 THEN E$="0"+E$ 590 IF T=0 THEN 610 600 IF X<>0 THEN PRINT ALF$;:GOTO 620 ELSE 670 610 IF X<>0 THEN PRINT E$; ELSE 670 620 IF P=0 THEN 660 630 IF T=0 THEN 650 640 LPRINT ALF$;:GOTO 660 650 LPRINT E$; 660 K=K+1:GOTO 550 670 K=K+1 680 PRINT " = "; 690 IF P=0 THEN 710 700 LPRINT " = "; 710 X=ASC(MID$(C$,K,1)) 720 IF X<32 THEN F=X+64:ALF$="^"+CHR$(F) ELSE IF X>126 THEN ALF$=HEX$(X) ELSE ALF$=CHR$(X) 730 E$=HEX$(X) 740 IF LEN(E$)<2 THEN E$="0"+E$ 750 IF T=0 THEN 770 760 IF X<>0 THEN PRINT ALF$;:GOTO 780 ELSE GOTO 830 770 IF X<>0 THEN PRINT E$;" "; ELSE GOTO 830 780 IF P=0 THEN 820 790 IF T=0 THEN 810 800 LPRINT ALF$;:GOTO 820 810 LPRINT E$;" "; 820 K=K+1:GOTO 710 830 PRINT 840 IF P=0 THEN 860 850 LPRINT 860 NEXT J 870 PRINT 880 IF P=0 THEN 900 890 LPRINT 900 CLOSE #1 910 PRINT "PRESS ANY KEY TO CONTINUE "; 920 PAUS$=INKEY$:IF PAUS$="" THEN 920 930 GOTO 50 940 END