1000 REM RESEQ.BA 11/24/76 RESEQ V04G 1010 REM 1020 REM RESEQ - PROGRAM - VERSION : 4 - EDIT : G 1030 REM 1040 REM MIT BACKUP-FILE UND DEFAULT EXT. ( XXXXXX.BA ) 1050 REM 1060 REM DEFAULT START (1000), DEFAULT STEP (10) 1070 REM 1080 REM INTERNER BUFFER FUER : 1081 REM 1082 REM 150 ZEILEN IN 16 K 1090 REM 1100 REM LETZTE AENDERUNG : 23-NOV-76 W. HOUBEN 1110 REM 1120 REM .R BCOMP 1130 REM *RESEQ/K/B/N 1140 REM .SA SYS RESEQ 1150 REM 1160 DIM L$(150,72),F$(1),C$(1),N$(16),M$(16) 1170 DIM L2$(72),V1$(12) 1180 LET V1$ = " RESEQ V04G " 1190 DIM N(150) 1200 LET X1 = 150 1210 LET F$=CHR$(28) 1220 PRINT "**";V1$;DAT$(0);" **" 1230 PRINT "FILE : "; 1240 INPUT N$ 1250 LET S=POS(N$,".",1) 1260 LET M$=N$&".BK" 1270 IF S <> 0 THEN 1290 1280 LET N$=N$&".BA" 1290 FILEV #3: M$ 1300 FILE #1: N$ 1310 FOR Y2 = 0 TO X1 STEP 1 1320 INPUT #1: L$(Y2) 1330 PRINT #3: L$(Y2) 1340 IFEND #1 THEN 1380 1350 NEXT Y2 1360 PRINT "** BUFFER OVERFLOW ** ";L$(X1) 1370 STOP 1380 CLOSE #3 1390 CLOSE #1 1400 PRINT "** BACKUP-FILE ";M$;" CREATED **" 1410 PRINT "START,STEP : "; 1420 INPUT S1,S 1430 PRINT "** WAIT **" 1440 IF S1<> 0 THEN 1460 1450 LET S1=1000 1460 IF S<>0 THEN 1490 1470 LET S=10 1480 LET S1 = S1 + S 1490 LET S1=INT(ABS(S1)) 1500 LET S=INT(ABS(S)) 1510 LET T=0 1520 LET N2=0 1530 LET Y3 = -1 1540 LET I=1 1550 LET Y3 = Y3 + 1 1560 IF Y3+1 > Y2 THEN 1730 1570 LET L=LEN(L$(Y3)) 1580 GOSUB 2440 1590 IF N1>0 THEN 1630 1600 PRINT "** NO LINE NUMBER ** "; 1610 PRINT L$(Y3) 1620 GOTO 1540 1630 IF N1>N2 THEN 1670 1640 PRINT "** OUT OF SEQUENCE ** "; 1650 PRINT L$(Y3) 1660 GOTO 1540 1670 LET N2=N1 1680 LET T=T+1 1690 LET N(T)=N1 1700 IF T Y2 THEN 2180 1820 LET I=1 1830 LET L=LEN(L$(Y3)) 1840 GOSUB 2440 1850 LET L2$=STR$(N2) 1860 PRINT #2: L2$; 1870 LET L$(Y3)=SEG$(L$(Y3),I,72) 1880 LET N2=N2+S 1890 LET F=0 1900 LET D=POS(L$(Y3),F$,1) \ LET P=D 1910 IF D=0 THEN 1940 1920 LET L2$=SEG$(L$(Y3),P+1,72) 1930 LET L$(Y3)=SEG$(L$(Y3),1,P-1) 1940 LET I=POS(L$(Y3),"GOTO",1)+4 1950 IF I>4 THEN 2210 1960 LET I=POS(L$(Y3),"GO TO",1)+5 1970 IF I>5 THEN 2210 1980 LET I=POS(L$(Y3),"THEN",1)+4 1990 IF I>4 THEN 2210 2000 LET I=POS(L$(Y3),"GOSUB",1)+5 2010 IF I>5 THEN 2210 2020 LET I=POS(L$(Y3),"GO SUB",1)+6 2030 IF I>6 THEN 2210 2040 IF F=0 THEN 2060 2050 PRINT #2:F$; 2060 PRINT #2:L$(Y3); 2070 LET F=F+1 2080 IF D>0 THEN 2110 2090 PRINT #2: 2100 GOTO 1800 2110 LET D=POS(L2$,F$,1) \ LET P=D 2120 IF D>0 THEN 2150 2130 LET L$(Y3)=L2$ 2140 GOTO 1940 2150 LET L$(Y3)=SEG$(L2$,1,P-1) 2160 LET L2$=SEG$(L2$,P+1,72) 2170 GOTO 1940 2180 PRINT "** PASS 2 COMPLETE **" 2190 CLOSE #2 2200 STOP 2210 LET L=LEN(L$(Y3)) 2220 GOSUB 2380 2230 IF C=32 THEN 2220 2240 IF C<0 THEN 2350 2250 LET I=I-1 2260 LET P=I 2270 GOSUB 2440 2280 IF N1=0 THEN 2350 2290 FOR J=1 TO T 2300 IF N1<>N(J) THEN 2340 2310 LET Q$=STR$(J*S-S+S1) 2320 LET L$(Y3)=SEG$(L$(Y3),1,P-1)&Q$ 2330 GOTO 2040 2340 NEXT J 2350 PRINT "** BAD REFERENCE ** "; 2360 PRINT L$(Y3) 2370 GOTO 2040 2380 IF I<=L THEN 2410 2390 LET C=-1 2400 RETURN 2410 LET C=ASC(SEG$(L$(Y3),I,I)) 2420 LET I=I+1 2430 RETURN 2440 LET N1=0 2450 GOSUB 2380 2460 IF C<48 THEN 2500 2470 IF C>57 THEN 2500 2480 LET N1=N1*10+C-48 2490 GOTO 2450 2500 IF C<0 THEN 2520 2510 LET I=I-1 2520 RETURN 2530 END