Программа
Program Eraser;
{ Удаление из текстового файла
строк с N-ой по K-ю }
Uses Dos; { Подключение модуля Dos }
Var FileName:string[95]; { Имя модифицируемого файла }
FirstString,LastString, { Первая и последняя удаляемые строки }
MeterString:integer; { Счетчик строк }
TempFileName:string[12]; { Временный файл }
Ch:char; { Буфер для переноса текста между файлами }
FormerText,LastText:text; { Файловые переменные: источник и получатель }
BEGIN
Writeln('Введите имя обрабатываемого файла '); { Приглашение и ввод }
Readln(FileName); { исходного файла }
Write('Введите первую удаляемую строку '); { Приглашение и ввод }
Readln(FirstString); { первой удаляемой строки }
Write('Введите последнюю удаляемую строку '); { Приглашение и ввод }
Readln(LastString); { первой удаляемой строки }
repeat { Цикл формирования имени временного файла }
Str(Random(10000),TempFileName); { Формирование случайной части имени }
TempFileName:='Eras'+TempFileName+'.$$$' { Формирование постоянной части }
until FSearch(TempFileName,'.\')=''; { Выход из цикла при получении имени
несуществующего в текущем каталоге файла }
Assign(FormerText,FileName); { Связывание файловых переменных с }
Assign(LastText,TempFileName); { с именами файлов }
Reset(FormerText); { Открытие исходного файла для чтения }
Rewrite(LastText); { Открытие файла-получателя для записи }
MeterString:=1; { Установка счетчика строк }
while not EOF(FormerText) do { Цикл обработки файла }
Begin
Read(FormerText,Ch); { Чтение исходного файла }
if (MeterString<FirstString)or(MeterString>LastString)
{ Если текущая строка вне диапозона удаляемых строк, }
then Write(LastText,Ch); { то запись в файл-получатель }
if EOLn(FormerText) then Inc(MeterString) { Подсчет прочитанных строк }
End;
Close(FormerText); { Закрытие исходного файла }
Close(LastText); { Закрытие файла-получателя }
Erase(FormerText); { Стирание исходногофайла }
Rename(LastText,FileName) { Переименовывание временного файла в исходный }
END.
Бесплатные примеры программ
Примеры написанных программ
Помощь студентам по программированию