Лучше писать результат не в тот же файл, а в другой: при составлении регулярных выражений без достаточного опыта можно легко ошибиться.
uses System.Text.RegularExpressions;
const CRLF = #13#10;
var s, sbig: string; fin, fout: Text;
begin Assign(fin, 'MyIn.txt'); Reset(fin); sbig := ''; while not Eof(fin) do begin Readln(fin, s); sbig := sbig + s + CRLF end; Close(fin); {пример - уладить подстроки, начиная с "http:" и до первого пробела, причем внутри подстроки может встретиться переход на новую строчку. Используется шаблон '\bhttp:\S+' - подробности: регулярные выражения} sbig:=RegEx.Replace(sbig, '\bhttp:\S+', '', RegexOptions.Multiline); Assign(fout, 'MyOut.txt'); Rewrite(fout); Write(fout, sbig); Close(fout); Writeln('Конец работы'); end.
Сложно понять, что нужно было сделать автору программы, но в любом случае сделано криво. Ввод и вывод организованы так, что выводимые значения сливаются с вводимыми, образуя непонятные комбинации.
Программа запрашивает некоторое значение "В", на превышение которого потом она реагирует один раз. Затем запрашивается количество чисел, которые надо ввести. Эти числа вводятся в цикле (почему это цикл while - непонятно, обычно подобные вещи делают в цикле for) и тут же выводится, т.е. программа повторяет введенное число. В случае, когда введенное число первый раз превышает "В", перед этим числом выводится значение "В". Именно для этого использована логическая переменная bol: после возникшего превышения она принимает значение false и отключает дальнейшую проверку на превышение.
uses
System.Text.RegularExpressions;
const
CRLF = #13#10;
var
s, sbig: string;
fin, fout: Text;
begin
Assign(fin, 'MyIn.txt');
Reset(fin);
sbig := '';
while not Eof(fin) do
begin
Readln(fin, s);
sbig := sbig + s + CRLF
end;
Close(fin);
{пример - уладить подстроки, начиная с "http:" и до первого пробела,
причем внутри подстроки может встретиться переход на новую строчку.
Используется шаблон '\bhttp:\S+' - подробности: регулярные выражения}
sbig:=RegEx.Replace(sbig, '\bhttp:\S+', '', RegexOptions.Multiline);
Assign(fout, 'MyOut.txt');
Rewrite(fout);
Write(fout, sbig);
Close(fout);
Writeln('Конец работы');
end.