Здесь нужно использовать вспомогательный типизированный файл и, соответственно, вторую файловую переменную (fr2). Сделать это можно так:while not eof(fr) and (kol=0) dobeginread(fr, Marshrut);if (Marshrut.NK.N <> '11') then write(fr2,Marshrut) else begin inc(kol); y:=Marshrut; end;end;if not eof(fr) then begin read(fr, Marshrut); write(fr2,Marshrut); end;if (kol=1) then write(fr2,y);Дальше нужно просто переписать оставшиеся записи из первого файла во второй. Затем оба файла закрыть, первый файл удалить, а второй переименовать (т.е. назвать его так, как назывался первый файл).Попробуйте ещё вот такой вариант:(здесь k1 и k2 - целые, а y - типа )if (Marshrut.NK.N = '11') thenbeginwriteln('... ');inc(kol);y:=Marshrut;k1:=FilePos(fr)-1;k2:=FilePos(fr);if not eof(fr) then begin read(fr, Marshrut); seek (fr, k1); write(fr, Marshrut); seek (fr, k2); write (fr, y); end;end;