0 'RENUM.BA author (see below) 1 'CLUB 100 Library - 415/939-1246 BBS, 937-5039 NEWSLETTER, 932-8856 VOICE 2 ' 3 'A Renumbering Program for the Model 4 '100. Downloaded from Powder Springs 5 'PBBS. Uploaded by Skip Sebak. 6 'Chipmunk Modification by F. Sadik 7 'Gktepe. This program will work also 8 'on 200. 9 ' 10 CLS:CLEAR 2000:MAXFILES=2 20 HT$=CHR$(8):QU$=CHR$(34):AP$=CHR$(39) 30 ON ERROR GOTO 950 40 F$="":LINEINPUT "File? ";F$ 50 ER%=0:OPEN F$ FOR INPUT AS 1 60 IF ER% THEN 130 70 IF F$="" THEN MENU 80 ON ERROR GOTO 0 90 INPUT "Start line number";N 100 INPUT "Increment";L 110 IF L<=0 THEN L=10 120 IF N<=0 THEN N=10 130 NL%=0 140 IF EOF(1) THEN 170 150 LINE INPUT#1,L$ 160 NL%=NL%+1:GOTO 140 170 CLOSE 180 DIM LN(NL%-1) 190 OPEN F$ FOR INPUT AS 1 200 FOR I%=0 TO NL%-1 210 LINE INPUT#1,L$ 220 J%=1 230 IF J%<=LEN(L$) THEN IF MID$(L$,J%,1)>="0" AND MID$(L$,J%,1)<="9" THEN J%=J%+1:GOTO 230 240 LN(I%)=VAL(LEFT$(L$,J%-1)) 250 NEXT I% 260 CLOSE 270 OPEN F$ FOR INPUT AS 1 280 OPEN "0:temp$$.do" FOR OUTPUT AS 2 290 FOR I%=0 TO NL%-1 300 LINE INPUT#1,L$ 310 LP%=1:O$="" 320 GOSUB 460:OL%=I%:GOSUB 940:O$=W$ 330 IF LP%>LEN(L$) THEN 410 340 GOSUB 670:IF LP%>LEN(L$) THEN 410 350 R$=RIGHT$(W$,4) 355 IF R$="GOTO" OR RIGHT$(W$,5)="GOSUB" THEN GOSUB 720:GOTO 330 360 IF R$="DATA" THEN GOSUB 750:GOTO 330 370 IF R$="EDIT" OR R$="LIST" OR R$="LLIST" THEN GOSUB 810:GOTO 330 380 IF R$="THEN" OR R$="ELSE" OR RIGHT$(W$,6)="RESUME" OR RIGHT$(W$,3)="RUN" THEN GOSUB 860:GOTO 330 390 IF RIGHT$(W$,3)="REM" THEN O$=O$+W$+MID$(L$,LP%):W$="":GOTO 410 400 O$=O$+W$:GOTO 330 410 O$=O$+W$:PRINT#2,O$ 420 NEXT I% 430 CLOSE:IF INSTR(F$,".")=0 THEN F$=F$+".DO" 440 KILL F$:NAME "0:temp$$.do" AS F$ 450 MENU 460 W$="":NU%=0 470 IF LP%>LEN(L$) THEN RETURN 480 C$=MID$(L$,LP%,1) 490 IF C$>="0" AND C$<="9" THEN 540 500 IF C$>="A" AND C$<="Z" THEN 580 510 IF C$=QU$ THEN GOSUB 630:GOTO 470 520 IF C$=AP$ THEN O$=O$+MID$(L$,LP%):LP%=LEN(L$)+1:RETURN 530 O$=O$+C$:LP%=LP%+1:GOTO 470 540 W$=C$:NU%=-1 550 LP%=LP%+1:IF LP%>LEN(L$) THEN RETURN 560 C$=MID$(L$,LP%,1):IF C$>="0" AND C$<="9" THEN W$=W$+C$:GOTO 550 570 RETURN 580 W$=C$ 590 LP%=LP%+1:IF LP%>LEN(L$) THEN RETURN 600 C$=MID$(L$,LP%,1):IF C$>="A" AND C$<="Z" THEN W$=W$+C$:GOTO 590 620 RETURN 630 O$=O$+C$ 640 LP%=LP%+1:IF LP%>LEN(L$) THEN RETURN 650 C$=MID$(L$,LP%,1):O$=O$+C$:IF C$<>QU$ THEN 640 660 LP%=LP%+1:RETURN 670 GOSUB 460:IF NU% THEN O$=O$+W$:GOTO 670 680 RETURN 690 IF LP%>LEN(L$) THEN RETURN 700 C$=MID$(L$,LP%,1):IF C$=" " OR C$=HT$ THEN O$=O$+C$:LP%=LP%+1:GOTO 690 710 RETURN 720 IF MID$(L$,LP%,1)="," THEN O$=O$+",":LP%=LP%+1:GOSUB 690:IF LP%>LEN(L$) THEN RETURN:ELSE 720 725 GOSUB 860:IF NOT NU% THEN RETURN 730 GOSUB 690:IF LP%>LEN(L$) THEN RETURN 740 IF MID$(L$,LP%,1)="," THEN 720 750 O$=O$+W$:W$="" 760 IF LP%>LEN(L$) THEN RETURN 770 C$=MID$(L$,LP%,1) 780 IF C$=":" THEN RETURN 790 IF C$=QU$ THEN GOSUB 630:GOTO 760 800 O$=O$+C$:LP%=LP%+1:GOTO 760 810 O$=O$+W$:W$="":GOSUB 690:IF LP%>LEN(L$) THEN RETURN 820 IF C$<>"-" THEN GOSUB 860:IF LP%>LEN(L$) THEN RETURN 830 GOSUB 690:IF LP%>LEN(L$) THEN RETURN 840 IF C$="-" THEN O$=O$+C$:LP%=LP%+1:GOSUB 410 850 RETURN 860 O$=O$+W$:W$="":NU%=0:GOSUB 690:IF LP%>LEN(L$) THEN RETURN 870 IF C$<"0" OR C$>"9" THEN RETURN 880 GOSUB 460 890 NO=VAL(W$):LO%=0:HI%=NL%-1 900 OL%=(LO%+HI%)\2:IF NO=LN(OL%) THEN GOSUB 940:O$=O$+W$:W$="":RETURN 910 IF NO