10 REM ++++++++++++++++++++++++++++++++ 11 REM ! Program .... RESULTAT 12 REM ! Utg}va 2.5 1983-02-21 13 REM ! av (c) Jan Kristensen 14 REM ! Minne 32 Kbytes 15 REM ! Ins{nt av Jan Kristensen 16 REM ++++++++++++++++++++++++++++++++ 17 REM 18 REM Screened by +TCP+ 19 REM 20 REM SORTERER RESULTATLISTE ETTER 21 REM TID/POENG. DU KAN RETTE EN 22 REM FEILSKREVEN LISTE. DU KAN F] 23 REM LISTEN P] SKJERM ELLER PRINTER 24 REM PROGRAMMET REGNER SELV UT 25 REM HVOR MANGE L\PERE DET ER PLASS 26 REM TIL. RETTING GJ\RES P] SAMME 27 REM M]TE SOM MED 'ED' KOMMANDOET I 28 REM BASIC. VED ] SKRIVE '' 29 REM FJERNER DU ALT OM VEDKOMMENDE 30 REM L\PER. P.S. DET G]R TIL N\D 31 REM P] 16K RAM. 32 REM P.S. FJERN ALLE REM SATSER S] 33 REM BLIR DET PLASS TIL FLERE. 34 REM 35 REM +++++++++++++++++++++++++++++++ 36 REM ! DIMENSJONERING 37 REM +++++++++++++++++++++++++++++++ 38 REM 39 DIM R$=9%,P$=1%,G$=1%,M$=40%,X1$=10%,X$=22%,Z$=3%,V$=1%,N1$=22%,G5$=1%,U1$=60%,A2$=22% : R$=CHR$(12%) 40 REM 41 REM +++++++++++++++++++++++++++++++ 42 REM ! MINST ELLER MEST 43 REM +++++++++++++++++++++++++++++++ 44 REM 45 ; R$' RESULTATSERVICE' : ; ' =================' : ; : ; 46 ; 'Hvis det gjelder } f} minst mulig poeng eller tid skriv "<":' 47 ; 'H|yest poeng eller tid, skriv ">":' 48 ; : ; 'Dit valg er (< eller >): '; : GET P$ : ON INSTR(1%,'<>',P$)+1% GOTO 45,49,50 49 ; : ; : ; 'DET GELDER ] F] MINST MULIG.' : GOTO 51 50 ; : ; : ; 'DET GJELDER ] F] MEST MULIG.' 51 H8%=PEEK(65064%)*256%+PEEK(65063%)-PEEK(65057%)*256%-PEEK(65056%) : H8%=H8%-710% 52 H7%=INT((H8%/(22%+6%))/5%) : H7%=H7%-1% : H9%=H7%-9% 53 DIM A1$(H7%)=10%,A$(H7%)=22%,B$(H7%)=3%,A3$(H7%)=60% 54 REM 55 REM +----------------------------- 56 REM ! NAVN P] STED OG HVA ER DET 57 REM +----------------------------- 58 REM 59 ; CUR(22%,5%)'DET ER PLASS TIL'H9%' L\PERE.' 60 ; CUR(14%,0%)'HVA ER DET OG NAVN P] STED' : INPUTLINE M$ : M$=LEFT$(M$,LEN(M$)-2%) : ; R$ : GOTO 141 61 REM 62 REM +----------------------------- 63 REM ! RUTINE FOR NAVN, NASJON 64 REM ! TID/POENG. 65 REM +----------------------------- 66 REM 67 N%=N%+1% : IF N%>H9% GOSUB 224 : GOTO 141 ELSE 68 68 GOSUB 206 : ; CUR(16%,0%)'SKRIV RESULTATET FOR L\PER NR.'N%CUR(17%,37%)'1' 69 ONERRORGOTO 69 : ; CUR(18%,0%)'NAVN (MAX19bokst.):__________________9 'CUR(18%,19%); : INPUTLINE A$(N%) 70 A$(N%)=LEFT$(A$(N%),LEN(A$(N%))-2%) 71 A2$=A$(N%) : IF LEN(A$(N%))>19% 69 72 ; CUR(20%,0%)'NASJON (MAX3bokst.):___ 'CUR(20%,19%); : INPUT B$(N%) 73 IF LEN(B$(N%))>3% 72 74 ; CUR(22%,0%)'POENG/TID :__________ 'CUR(22%,19%); : INPUT A1$(N%) 75 GOSUB 82 : GOSUB 206 : GOTO 93 76 REM 77 REM +---------------------------- 78 REM ! RUTINE FOR UTREGNING AV 79 REM ! PLASSERING. 80 REM +---------------------------- 81 REM 82 FOR I%=1% TO N%-1% : FOR J%=I%+1% TO N% 83 IF P$='>' 84 ELSE IF A1$(I%)A1$(J%) 87 85 X1$=A1$(I%) : A1$(I%)=A1$(J%) : A1$(J%)=X1$ : X$=A$(I%) : A$(I%)=A$(J%) : A$(J%)=X$ 86 Z$=B$(I%) : B$(I%)=B$(J%) : B$(J%)=Z$ 87 NEXT J% : NEXT I% : RETURN 88 REM 89 REM +---------------------------- 90 REM ! RUTINE FOR PLASSERING AV N% 91 REM +---------------------------- 92 REM 93 ; CUR(0%,0%)'RESULTAT FOR L\PER NR.'N% : ; 94 FOR I%=1% TO N% 95 IF A2$=A$(I%) ; I%TAB(4%)A$(I%)TAB(23%)B$(I%)TAB(30%)A1$(I%) 96 NEXT I% 97 N9%=N% : IF N9%>10% N9%=10% 98 REM 99 REM +============================ 100 REM ! LISTE OVER DE 10 BESTE 101 REM +============================ 102 REM 103 ; CUR(4%,0%)'_____DE_10_BESTE:_____________________' : FOR I%=1% TO N9% 104 IF A1$(I%-1%)=A1$(I%) ; TAB(4%)A$(I%)TAB(23%)B$(I%)TAB(30%)A1$(I%) : GOTO 107 105 IF I%<10% ; TAB(1%)I%TAB(4%)A$(I%)TAB(23%)B$(I%)TAB(30%)A1$(I%) : GOTO 107 106 ; I%TAB(4%)A$(I%)TAB(23%)B$(I%)TAB(30%)A1$(I%) 107 NEXT I% 108 ; CUR(16%,0%)'TRYKK P] * FOR MENY (DU KAN G] TILBAKE)'; : GET V$ : ON INSTR(1%,'*',V$)+1% GOTO 67,109 109 H%=N% : GOTO 141 110 REM 111 REM +============================ 112 REM ! LEGGER LISTE UT P] KASSETT 113 REM +============================ 114 REM 115 ; CUR(22%,0%)'SETT KASSETT I "REC" '; : GET G$ 116 PREPARE 'LISTE.TXT' ASFILE 1% 117 ; #1%,N% 118 FOR I%=1% TO N% 119 A3$(I%)=A$(I%)+'-'+B$(I%)+':'+A1$(I%) 120 ; #1%,A3$(I%); : ; #1% 121 NEXT I% : CLOSE 1% : GOTO 141 122 REM 123 REM +============================= 124 REM ! LISTE P] PRINTER 125 REM +============================= 126 REM 127 OPEN 'PR:' ASFILE 2% 128 ; #2%'RESULTATSLISTE FRA 'M$ : ; #2% 129 ; #2%STRING$(70%,61%) 130 ; #2%'NR. NAVN'TAB(29%)'NASJON'TAB(45%)'TID/POENG' 131 ; #2%STRING$(70%,61%) 132 FOR I%=1% TO N% 133 IF A1$(I%-1%)=A1$(I%) ; #2%TAB(5%)A$(I%)TAB(30%)B$(I%)TAB(46%)A1$(I%) : GOTO 135 134 ; #2%I%TAB(5%)A$(I%)TAB(30%)B$(I%)TAB(46%)A1$(I%) 135 NEXT I% 136 REM 137 REM +============================= 138 REM ! M E N Y 139 REM +============================= 140 REM 141 GOSUB 206 : ; CUR(17%,0%)'INNMATNING.......(I) ' : ; 'LISTE P] SKJERM..(S) ' 142 ; 'LISTE P] PRINTER.(P) ' 143 ; 'LAGRE P] KASSETT.(L) HENTE FRA KASS.(H)' : ; 'ENDRE NOE........(E) ' : ; CUR(16%,0%)SPACE$(38%) 144 ; CUR(22%,0%)SPACE$(39%) : ; CUR(22%,0%)'HVA VIL DU....... '; : GET G$ 145 ON INSTR(1%,'IiSsPpLlHhEe',G$)+1% GOTO 141,151,151,152,152,127,127,115,115,167,167,186,186 146 REM 147 REM +============================= 148 REM ! LISTE P] TV MED 10 OMGANGEN 149 REM +============================= 150 REM 151 ; R$ : GOTO 67 152 ; R$ : FOR J%=1% TO N% STEP 10% 153 ; R$ : ; M$ : ; : ; 'RESULTATLISTE FRA'J%' TIL'J%+9% : ; 154 FOR I%=J% TO J%+9% 155 IF I%=11% OR I%=21% OR I%=31% OR I%=41% OR I%=51% OR I%=61% OR I%=71% OR I%=81% OR I%=91% 158 156 IF I%=101% OR I%=111% OR I%=121% OR I%=131% OR I%=141% OR I%=151% OR I%=161% OR I%=171% 158 157 IF A1$(I%-1%)=A1$(I%) ; TAB(5%)A$(I%)TAB(26%)B$(I%)TAB(30%)A1$(I%) : GOTO 159 158 ; I%TAB(5%)A$(I%)TAB(26%)B$(I%)TAB(30%)A1$(I%) 159 NEXT I% : ; : ; 'FORTSETT LISTEN (F)'; : GET G$ 160 IF G$='F' OR G$='f' NEXT J% ELSE 141 161 GOTO 141 162 REM 163 REM +============================= 164 REM ! LISTE LADES INN FRA KASSETT 165 REM +============================= 166 REM 167 ; CUR(22%,0%)'TRYKK "RETURN" S] LADES RESULTATENE INN'; : GET G$ : ; R$ 168 ONERRORGOTO 180 : OPEN 'CAS:' ASFILE 1% : ; CUR(10%,3%)SPACE$(39%) 169 INPUT #1%,N% : N%=N%+H% 170 ; CUR(14%,3%)M$ : ; 171 ; 'RESULTAT FOR'N%-H%' DELTAGERE' : ; 'DET ER PLASS TIL'H9%-H% : IF N%>H9% N%=H9% 172 FOR I%=H%+1% TO N% : INPUTLINE #1%,U1$ : U1$=LEFT$(U1$,LEN(U1$)-2%) 173 Z%=INSTR(1%,U1$,'-') : A$(I%)=LEFT$(U1$,Z%-1%) : U1$=RIGHT$(U1$,Z%+1%) 174 Z%=INSTR(1%,U1$,':') : B$(I%)=LEFT$(U1$,Z%-1%) : A1$(I%)=RIGHT$(U1$,Z%+1%) 175 NEXT I% 176 CLOSE 1% : H%=N% : GOSUB 82 : GOTO 141 177 REM 178 REM $$$ FEILMELDING $$$ 179 REM 180 ; CUR(10,0)SPACE$(39) : ; CUR(10,13)'FEIL NR. 'ERRCODE : CLOSE 1% : FOR I=1 TO 3000 : NEXT I : N%=H% : GOTO 141 181 REM 182 REM +=========================== 183 REM ! RUTINE FOR RETTING 184 REM +=========================== 185 REM 186 GOSUB 206 : ONERRORGOTO 141 : ; CUR(16%,0%)'Hvilket nr. skal det endres i'; : INPUT N1$ 187 IF ASC(N1$)<14% 141 : R%=VAL(N1$) 188 IF R%<1% OR R%>N% 186 189 L%=LEN(A$(R%)) 190 GOSUB 212 191 IF N1$='' 200 192 IF ASC(N1$)=0% ; A$(R%) ELSE ; : A$(R%)=N1$ 193 L%=LEN(B$(R%)) 194 GOSUB 213 195 IF ASC(N1$)=0% ; B$(R%) ELSE ; : B$(R%)=N1$ 196 L%=LEN(A1$(R%)) 197 GOSUB 214 198 IF ASC(N1$)=0% ; A1$(R%) ELSE ; : A1$(R%)=N1$ 199 GOSUB 82 : GOTO 186 200 N%=N%-1% : H%=N% : FOR R%=R% TO N% : A$(R%)=A$(R%+1%) : B$(R%)=B$(R%+1%) : A1$(R%)=A1$(R%+1%) : NEXT R% 201 A$(N%+1%)='' : A1$(N%+1%)='' : B$(N%+1%)='' 202 GOTO 186 203 REM 204 REM $$$ RENSING AV NEDRE DEL AV TV 205 REM 206 FOR I%=15% TO 22% : ; CUR(I%,0%)SPACE$(39%); : NEXT I% : RETURN 207 REM 208 REM +============================ 209 REM ! EDITERING 210 REM +============================ 211 REM 212 ; A$(R%) : N1$=A$(0%) : G5$=' ' : L1%=0% : T5%=1% : GOTO 215 213 ; B$(R%) : N1$=B$(0%) : G5$=' ' : L1%=0% : T5%=2% : GOTO 215 214 ; A1$(R%) : N1$=A1$(0%) : G5$=' ' : L1%=0% : T5%=3% 215 GET G5$ : IF ASC(G5$)=13% 223 : IF ASC(G5$)<>8% 218 216 IF LEN(N1$)=0% 215 217 ; G5$;SPACE$(1%);G5$; : N1$=LEFT$(N1$,LEN(N1$)-1%) : GOTO 215 218 IF ASC(G5$)<>9% 222 : IF L1%+1%>L% 215 : L1%=L1%+1% 219 IF T5%=1% G5$=MID$(A$(R%),L1%,1%) : GOTO 222 220 IF T5%=2% G5$=MID$(B$(R%),L1%,1%) : GOTO 222 221 IF T5%=3% G5$=MID$(A1$(R%),L1%,1%) 222 ; G5$; : N1$=N1$+G5$ : GOTO 215 223 RETURN 224 ; CHR$(7%)'DET ER IKKE PLASS TIL FLER' : N%=N%-1% : H%=N% : RETURN