31 lines
899 B
Text
31 lines
899 B
Text
$ include "seed7_05.s7i";
|
|
include "osfiles.s7i";
|
|
|
|
const proc: removeLines (in string: fileName, in integer: start, in integer: count) is func
|
|
local
|
|
var file: inFile is STD_NULL;
|
|
var file: outFile is STD_NULL;
|
|
var integer: lineNumber is 1;
|
|
var string: line is "";
|
|
begin
|
|
inFile := open(fileName, "r");
|
|
outFile := open(fileName & ".tmp", "w");
|
|
while hasNext(inFile) do
|
|
line := getln(inFile);
|
|
if lineNumber < start or lineNumber >= start + count then
|
|
writeln(outFile, line);
|
|
end if;
|
|
incr(lineNumber);
|
|
end while;
|
|
close(inFile);
|
|
close(outFile);
|
|
removeFile(fileName);
|
|
moveFile(fileName & ".tmp", fileName);
|
|
end func;
|
|
|
|
const proc: main is func
|
|
begin
|
|
if length(argv(PROGRAM)) = 3 then
|
|
removeLines(argv(PROGRAM)[1], integer parse (argv(PROGRAM)[2]), integer parse (argv(PROGRAM)[3]));
|
|
end if;
|
|
end func;
|