Занятие 4. Процедуры и функции работы с файлами. Решение задач

Изменение имени файла производится процедурой

rename(МуFilе, FileName);

первый аргумент которой – переменная файлового типа, а второй аргумент – строкового типа – новое имя файла, которое может быть сокращенным или полным (с указанием пути). Действие этой процедуры эквивалентно действию аналогичной процедуры DOS.

Уничтожение части файла от текущего положения до конца производится процедурой

truncate(МуFilе).

Уничтожение всего файла производится процедурой

erase(МуFilе),

действие которой эквивалентно удалению файла в операционной системе DOS.

Примечание. Физические файлы на магнитных дисках и переменные файлового типа в программе на Паскале – объекты различные. Переменные файлового типа в Паскале соответствуют не только физическим файлам, но и логическим устройствам, связанным с вводом и выводом информации. Клавиатуре и экрану дисплея соответствуют файлы со стандартными именами Input и Output.

Задание. Рассмотрите предложенный ниже текст программы. Сформулируйте решенную задачу. Создайте расширенный вариант подобной задачи. результат покажите учителю для оценки.

Program Files;

Uses

Crt;

Var

F,Fnew : file of string;

Name,NewName : string[12];

Text : string;

Ch : char;

 

Procedure ReadText;

Begin

repeat

write('Введите имя файла>');

readln(Name);

assign(F,Name);

reset(F);

if IOresult<>0

then

begin

writeln('Ошибка чтения');

close(F);

end;

until IOresult=0;

writeln('Содержание файла ',Name,':');

while not Eof(F) do

begin

readln(F,Tеxt);

writeln(Tеxt);

end;

close(F);

End;

 

Procedure EraseFile;

Begin

erase(F);

writeln('Файл удален');

End;

 

Procedure ReNameFile;

Begin

write('Введите новое имя файла:');

readln(NewName);

rename(F,NewName);

writeln('Файл ',Name,' переименован в файл ',NewName);

End;

 

Procedure CopyFile;

Begin

write('Введите имя копии файла ',Name,'>');

readln(NewName);

reset(F);

assign(Fnew,NewName);

rewrite(Fnew);

while not Eof(f) do

begin

readln(F,Text);

writeln(Fnew,Text);

end;

close(F);

close(F_new);

writeln('Файл',Name,' скопирован в файл ',NewName);

End;

 

Begin

ClrScr;

readTеxt;

repeat

writeln('Удаление файла (D),переименование файла(R)');

writeln('Копирование файла (C), выход из программы (Е)');

write('Введите символ нужной операции - ');

readln(ch);

case ch of

'D','d': EraseFile;

'R','r': ReNameFile;

'C','c': CopyFile;

end;

until (ch='E') or (ch='e');

read;

End.








Дата добавления: 2015-05-16; просмотров: 669;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.004 сек.