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