1 REM Ins{nd av Bo Kullmar <1789> 1985-05-05 01.15.33 2 ! ********************************************************************** 3 ! Program RENUMBER.BAS Utg}va 1.0 1985-05-05 4 ! av Bo Kullmar 5 ! Ins{nd av Bo Kullmar 6 ! F|r ABC800M ABC800C ABC802 ABC806 8 ! Testad p} ABC802 ABC806 9 ! Rutinen skall mergas ihop med ett program. N{r rutinen anropas omnumeras 10 ! programmets rader i j{mna 1000 tal. Om omnumering inte kan ske s} avbryts 11 ! den med felmeddelande 209, Fel data till kommando. 12 ! ********************************************************************** 20 EXTEND : INTEGER 100 Z=FNRen 65000 DEF FNRen LOCAL I,Bas.,Gr{ns.,Z 65010 ; 'Omnumering:' : ; 65020 ; 'Det h{r tar n}gra sekunder!'; 65030 Z=FNRen2('10,10,10-999') 65040 WHILE I<64 65050 I=I+1 65060 Bas.=I*1000. : Gr{ns.=Bas.+999. 65070 Z=FNRen2(NUM$(Bas.)+',10,'+NUM$(Bas.)+','+NUM$(Gr{ns.)) 65080 WEND 65090 ; CHR$(13) 'Klart!'+SPACE$(21)+CHR$(13) 65100 RETURN 0 65110 FNEND 65120 DEF FNRen2(P$) LOCAL Par$=30,Par 65130 Par$=P$+CHR$(13) 65140 Par=VARPTR(Par$) 65150 POKE 64512,213,33,Par,SWAP%(Par),201 65160 Z=CALL(64512,FNRen3) 65170 RETURN 0 65180 FNEND 65190 DEF FNRen3 LOCAL Adr,Tolk$=0 65200 POKE VAROOT(Tolk$),0,96,0,0,0,96 65210 Adr=INSTR(1,Tolk$,"UNSAVE") 65220 Adr=INSTR(Adr,Tolk$,CHR$(255))+VARPTR(Tolk$) 65230 ! RUN = Adr, LOAD = Adr + 4, SAVE = Adr + 22 osv 65240 RETURN PEEK2(Adr+14) 65250 FNEND