5 CLEAR 1000
10 CLS:PRINT"Selective Zap":PRINT:F$="COMPILER/DAT":E$=" "
20 OPEN"R",1,F$:FIELD 1,255 AS U$,1 AS Q$:INPUT"Which record";R%
30 N%=LOF(1):C%=N%-R%
40 IF R%=0 THEN 120
50 IF R%<0 THEN 120
60 IF C%<0 THEN 120
70 GET 1,R%:T%=2:B$=LEFT$(U$,T%):N%=CVI(B$):PRINT"Which byte to alter (0-";:PRINT N%;:INPUT")";B%
80 P%=B%+B%:Z%=3:P%=P%+Z%:B$=MID$(U$,P%,T%):V%=CVI(B$)
90 PRINT"Current value is ";:PRINT V%:PRINT:INPUT"New value";V%
100 B$=MKI$(V%):O%=1:L%=P%-O%:L$=LEFT$(U$,L%):L%=254:L%=L%-P%:Q%=P%+T%:C$=MID$(U$,Q%,L%):Z$=L$+B$:Z$=Z$+C$:LSET U$=Z$:LSET Q$=E$
110 PUT 1,R%:CLOSE 1:PRINT"Done.":END
120 CLOSE 1:PRINT"No such record, SELECT aborted.":END
