Anonymous user
Remove lines from a file: Difference between revisions
no edit summary
No edit summary |
No edit summary |
||
Line 590:
</lang>
==={{header|IS-BASIC}}===▼
<lang IS-BASIC>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</lang>▼
=={{header|C}}==
Line 1,366 ⟶ 1,405:
return # done
end</lang>
▲=={{header|IS-BASIC}}==
▲<lang IS-BASIC>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</lang>
=={{header|J}}==
|