1 REM +++++++++++++++++++++++++++++++++ 2 REM ! Program .... PRLISTA.BAS 3 REM ! Utg}va 1981-10-23 4 REM ! av (c) Stefan Svensson <2054> 7 REM ! Minne 16 Kbytes f|r flexskiva 9 REM +++++++++++++++++++++++++++++++++ 10 REM 11 REM Screening av 12 REM Allan Varcoe & G|ran Olsson 13 REM 14 IF PEEK(472)=80 THEN ; INP(3) 15 REM +++++++++++++++++++++++++++++++++ 25 REM * AVSEDD F\R PRINTER MX80 * 30 REM * MED PGMFILER I BAC & BAS- * 35 REM * FORMAT P] FLEXSKIVA. * 40 REM A% INSTR(2%,A$,".") 50 REM A$ Filnamn 60 REM B% SPACE 70 REM B$ Post 80 REM C% Radnummer p} printern 90 REM C1% Sidnummer 100 DIM B$=130% 110 B%=8% : C1%=1% : ; CHR$(12%) 120 ; CUR(2%,6%)CHR$(151%)"7"STRING$(23%,35%)"k" 130 ; CUR(3%,6%)CHR$(151%)"5 P R L I S T A j" 140 ; CUR(4%,6%)CHR$(151%)"-"STRING$(23%,44%)"." 150 ; CUR(6%,0%)"Programmet som ska listas p} printern" 160 ; CUR(7%,0%)"m}ste vara sparat i okompilerad form," 170 ; CUR(8%,0%)"det vill s{ga LIST filnamn<.filtyp>." 180 ; CUR(10%,0%)"Vilket program ska listas p} printern, filnamn<.filtyp>"SPACE$(24%) 190 ; CUR(11%,16%); : INPUT A$ 200 ; CUR(13%,0%)SPACE$(40%)CUR(13%,0%); 210 A1%=LEN(A$) : IF A1%>12% ; "F|r m}nga tecken." : GOTO 180 220 IF ASC(A$)<65% OR ASC(A$)>93% ; "Anv{nd STORA bokst{ver." : GOTO 180 230 IF A1%=0% 180 240 A%=INSTR(2%,A$,".") 250 IF A1%>8% AND (A%=0% OR A%>9%) A$=A$+"---" : GOTO 210 260 IF A%=0% A$=A$+".BAC" 270 ONERRORGOTO 610 : REM [NDRA FILTYP 280 OPEN A$ ASFILE 1% : CLOSE 1% 290 ; CUR(13%,0%)"Version (RETURN)"SPACE$(24%) 300 ; CUR(13%,16%); : INPUT A1$ : IF A1$="" 350 310 IF LEN(A1$)>4% OR ASC(A1$)<48% OR ASC(A1$)>57% ; CUR(15%,0%)"Felaktig version." : GOTO 290 320 ; CUR(15%,0%)SPACE$(17%) 330 D%=ASC(RIGHT$(A1$,LEN(A1$))) : IF D%>64% AND D%<94% A1$=LEFT$(A1$,LEN(A1$)-1%)+CHR$(D%+32%) 340 REM ****** LISTNING PRINTER ****** 350 ONERRORGOTO 580 360 OPEN A$ ASFILE 1% 370 OPEN "PR:" ASFILE 2% 380 ; #2%,TAB(B%)CHR$(14%)A$CHR$(20%) 390 IF A1$<>"" ; #2%,TAB(B%)"Version "A1$; 400 ; #2%,TAB(68%)"Sida"C1% 410 ; #2% : C%=7% 420 ONERRORGOTO 520 430 INPUTLINE #1%,B$ 440 B$=LEFT$(B$,LEN(B$)-2%) 450 IF C%>67% 690 460 B1%=INSTR(1%,B$," ") 470 ; CUR(16%,0%)LEFT$(B$,B1%) 480 B$=SPACE$(B%-B1%)+B$ 490 IF LEN(B$)>76% 750 500 ; #2%,B$ : C%=C%+1% : GOTO 420 510 REM ******** LISTNING SLUT ******* 520 ; #2%,CHR$(12%); : CLOSE 1% : CLOSE 2% 530 IF ERRCODE<>34% 580 540 ; CUR(18%,0%)"Vill Du forts{tta? "; : GET D$ 550 IF D$="J" OR D$="j" 110 560 IF D$<>"N" AND D$<>"n" 540 570 ; "Nej" : END 580 ; CHR$(7%)CUR(18%,0%)"ERR"ERRCODE 590 ; CUR(20%,0%)"Se Felmedelandelistan!" : END 600 REM [NDRA FILTYP 610 IF ERRCODE<>21% 580 620 IF A%=0% A$=LEFT$(A$,LEN(A$)-3%)+"BAS" : GOTO 240 630 REM FILEN EJ HITTAD 640 ; CUR(13%,0%)"Jag hittade tyv{rr inte filen." 650 ; CUR(15%,0%)"Vill Du f|rs|ka igen? "; : GET D$ 660 IF D$="J" OR D$="j" 110 670 IF D$="N" OR D$="n" 570 ELSE 650 680 REM LINE FEED 690 ; #2%,CHR$(12%) : C1%=C1%+1% 700 ; #2%,TAB(B%)"Printerlista "A$; 710 IF A1$<>"" ; #2%,TAB(32%+B%)"Version "A1$; 720 ; #2%,TAB(68%)"Sida"C1% 730 ; #2% : C%=6% : GOTO 460 740 REM RAD L[NGRE [N 76 TECKEN AVSK[RS SNYGGT 750 B1%=INSTR(52%,B$," : ") 760 IF B1%=0% OR B1%>75% 800 770 ; #2%,LEFT$(B$,B1%+2%) 780 ; #2%,TAB(B%)RIGHT$(B$,B1%+3%) 790 C%=C%+2% : GOTO 420 800 B1%=INSTR(62%,B$,")") 810 IF B1%=0% OR B1%>76% 840 820 ; #2%,LEFT$(B$,B1%) 830 ; #2%,TAB(B%)RIGHT$(B$,B1%+1%) : GOTO 790 840 FOR A%=70% TO 54% STEP -2% 850 B1%=INSTR(A%,B$," ") 860 IF B1%>0% AND B1%<77% 820 870 NEXT A% 880 B1%=INSTR(56%,B$,",") 890 IF B1%>0% AND B1%<77% 820 900 B1%=76% : GOTO 820