37 lines
1.1 KiB
Text
37 lines
1.1 KiB
Text
100 PROGRAM "RemLines.bas"
|
|
110 CALL REMOVELINES("fub.txt",5,3)
|
|
120 DEF REMOVELINES(NAME$,ST,N)
|
|
130 STRING S$*254
|
|
140 WHEN EXCEPTION USE OPENERROR
|
|
150 LET P=POS(NAME$,".")
|
|
160 IF P=0 THEN LET P=LEN(NAME$)+1
|
|
170 LET CM$="copy "&NAME$&" "&NAME$(1:P-1)&".bak"
|
|
180 EXT CM$
|
|
190 OPEN #1:NAME$(1:P-1)&".bak"
|
|
200 OPEN #2:NAME$ ACCESS OUTPUT
|
|
210 END WHEN
|
|
220 WHEN EXCEPTION USE IOERROR
|
|
230 LET LIN=0
|
|
240 DO
|
|
250 LINE INPUT #1:S$
|
|
260 LET LIN=LIN+1
|
|
270 IF LIN<ST OR LIN>ST+N-1 THEN PRINT #2:S$
|
|
280 LOOP
|
|
290 END WHEN
|
|
300 HANDLER OPENERROR
|
|
310 PRINT EXSTRING$(EXTYPE)
|
|
320 STOP
|
|
330 END HANDLER
|
|
340 HANDLER IOERROR
|
|
350 IF EXTYPE<>8001 THEN
|
|
360 PRINT EXSTRING$(EXLINE)
|
|
375 STOP
|
|
380 ELSE
|
|
390 IF LIN>=ST+N-1 THEN PRINT N;"line(s) removed."
|
|
400 IF LIN>=ST AND LIN<ST+N-1 THEN PRINT "Only";LIN-ST+1;"line(s) were removed as not enough lines to remove more."
|
|
410 IF LIN<ST THEN PRINT "No lines were removed as starting line was beyond end of file."
|
|
420 END IF
|
|
430 CLOSE #2
|
|
440 CLOSE #1
|
|
450 END HANDLER
|
|
460 END DEF
|