Pascal FAQ created by SLY Golovanov, 2:5020/278.13
(slightly corrected by Valery Votintsev 2:5021/22)
==============================================================================
Q:> А можно записать в середину текстового файл строку произвольной длины,
но чтобы остальные строки остались, как были, или удалить одну строку из
середины?
A: Просто так - нет. Есть два варианта.
Простой: открываете второй файл, читаете строки из первого,
пишете строки во второй, пропуская то, что не нужно,
или дополняя в нужных местах.
Сложный: открываете файл, как бинарный, составляете список длин строк,
и копируете куски файла в другой с помощью BlockRead/BlockWrite.
{пример для простого варианта}
var
f1,f2: text;
s: string;
const
ourstring = 'ДЬВ'; {искомая стpока}
begin
assign(f1,'c:\a.txt');
assign(f2,'c:\b.txt');
reset(f1); rewrite(f2);
while not eof(f1) do
begin
readln(f1,s);
if pos(ourstring,s)<>0 then continue; {пропустить строку, если найдено}
writeln(f2,s);
end;
close(f1); close(f2);
end.
---
* Origin: (2:5020/794.13)
|