Помощь - Поиск - Пользователи - Календарь
Полная версия: Текстовый файл
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
RAPON
Дан текстовый файл. Абзацы выделяются в нем с помощью красной строки (5 пробелов в начале строки), а пустых строк нет. Вставить между соседними абзацами по одной пустой строке (в начало и конец файла пустые строки не добавлять).
Подскажите пожалуйста,как это сделать.
Lapp
Попробуй как-то вот так:
ReadLn(f,s);
WriteLn(g,s);
while not EoF(f) do begin
ReadLn(f,s);
if Copy(s,1,5)=' ' then WriteLn(g);
WriteLn(g,s)
end;

RAPON
А как это сделать не используя другой файл?там же написано в тот же файл вставить..
проблема в том что нельзя одновременно читать и записывать с файла.как это сдлать?выручите
Lapp
Цитата(RAPON @ 14.04.2009 20:16) *
проблема в том что нельзя одновременно читать и записывать с файла.как это сдлать?
Кто сказал нельзя?
Цитата
Procedure Reset (var F) Открывает существующий файл для чтения или изменения.

Только файл должен быть описан как file ofchar, а не text. Но это не проблема, проблема в другом..

Если бы ты убирал что-то из файла - тогда все было бы O'kay. А ты добавляешь! Ты же будешь затирать то, что еще не прочел.. Тогда нужно делать буфер чтения, и все сильно усложняется.

У тебя же не написано явно, что нельзя использовать второй файл. Запишешь новый, уничтожишь старый, переименуешь новый в старый. Нелизя так?
RAPON
лучше так только и сделаю. спасибо.
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.