Код
PROGRAM FindTown;
var
input,f2:text;
s,Find:string;
i,g:integer;
begin
assign(input,'c:bpworkfile1.txt');
reset(input);
ReadLn(Find);
i:=0;
While ((not EOF(input))and(pos(Find,s)<>1)) do
begin
ReadLn(input,s);
i:=i+1;
if pos(Find,s)<>0 then {Если нужно не любое совпадение, а именно с начала, то кажется =1}
WriteLn(s)
end;
close(input)
assign(input,'c:bpworkfile2.txt');
assign(f,'c:bpworkfile3.txt);
rewrite(f)
reset (input);
writeln('Введите новую сумму');
readln(Find);
for g:=1 to i-1 do begin
readln(input,s)
writeln(f,s)
end;
readln(input,s);
writeln('Старое число ',s);
writeln(f,Find);
while eof(input) do begin
readln(input,s)
writeln(f,s)
end;
close(f);
close(input);
assign(input,'c:/bp/work/file2.txt');
assign(f,'c:bp/work/file3.txt');
rewrite(input);
reset(f);
while eof(f) do begin
readln(f,s);
writeln(input,s);
end;
end.