Режим просмотра файла

Содержание

Слайд 2

Режим просмотра файла

Если сделана попытка открыть несуществующий файл, то возникает ошибка, приводящая

Режим просмотра файла Если сделана попытка открыть несуществующий файл, то возникает ошибка,
к прекращению выполнения программы.
Этого можно избежать предварительно проверив существование файла с помощью стандартной функции IORESULT, которая возвращает 0, если файл существует или же число отличное от 0, если файл не существует, при этом сам контроль ошибок отключается функцией {$I-}, а обратно включается функцией {$I+}.
Пример:
{$I-} Reset (f); {$I+}
If IORESULT <> 0 then <файл не существует> else <файл существует>

Слайд 3

Режим просмотра файла

При чтении элемента из файла или при открытии для чтения

Режим просмотра файла При чтении элемента из файла или при открытии для
пустого файла может быть достигнут конец файла, т.е. окно выходит за пределы последнего элемента файла.
Для определения этого состояния в Pascal существует стандартная логическая функция EOF (end of file – конец файла).
Обращение к которой осуществляется с помощью указателя функции
eof(f) *где f – логическое имя файла
Функция EOF(f) возвращает TRUE, если конец файла достигнут или же FALSE, если конец файла еще не достигнут.
Режим просмотра файла заканчивается процедурой
close(f) *где f – логическое имя файла

Слайд 4

Алгоритм просмотра файла

Открыть файл
f для чтения

Не конец
файла

F→ X
Записать
элемент
из

Алгоритм просмотра файла Открыть файл f для чтения Не конец файла F→
f в Х

Обработка Х

Да

Нет

Закрыть файл f

Assign(f,’…’);
Reset (f);
While not eof(f) do
Begin
read(f,x);
<обработка х>;
End;
Close(f);
………

Слайд 5

Ввод данных с клавиатуры

Рассматривается как входной файл со стандартным именем INPUT (входной

Ввод данных с клавиатуры Рассматривается как входной файл со стандартным именем INPUT
поток)
Если неизвестно число вводимых данных, то признаком конца ввода может быть конец файла. Во входном потоке конец файла имитируется после нажатия клавиши Ctrl + Z или F6. При этом в начале программы необходимо присвоить переменной checkeof значение TRUE
Checkeof:=true;

Слайд 6

Ввод данных с клавиатуры

Не конец
Вход.
потока

X

Обработка Х

Да

Нет

Checkeof:=true;
……
Read(x);
While not eof do
Begin
read(x);
End;
……

X

Если

Ввод данных с клавиатуры Не конец Вход. потока X Обработка Х Да
создается файл из входного потока, то для очистки буфера ввода необоходимо выполнить эти 2 процедуры:
close(input); (очистить буфер ввода)
reset(input); (открыть входной поток для ввода данных)

Слайд 7

Добавление элементов в файл

В Turbo Pascal разрешается открыть файл для чтения и

Добавление элементов в файл В Turbo Pascal разрешается открыть файл для чтения
записи. Это удобно использовать для добавления новых записей в конец файла.
Reset(f);
While not eof(f) do begin
read(f,x);
write(x);
End;
While not eof do begin
read(x);
write(f,x);
end;
Close(f);

Слайд 8

Изменение элементов файла

Для изменения или удаления существующих элементов файла нужно создать дополнительный

Изменение элементов файла Для изменения или удаления существующих элементов файла нужно создать
файл для записи в него элементов текущего файла.
Вот пример простейшей реализации редактирования:
Копирование элементов из текущего файла в дополнительный, а затем отчистка исходного файла.
По одному элементу у пользователя спрашивается о необходимости изменить (удалить) элемент файла.
В случае необходимости – элемент редактируется и записывается в изначальный файл, если же элемент не нужно редактировать, то он просто записывается в файл. И так будет происходить пока цикл не дойдет до конца дополнительного файла.
Оба файла закрываются.

Слайд 9

Дополнительные стандартные функции и процедуры

1). Уничтожение файла
erase(f); *где f – логическое

Дополнительные стандартные функции и процедуры 1). Уничтожение файла erase(f); *где f –
имя файла
Для выполнения этой функции файл должен быть закрыт, а так-же необходима проверка на существование файла (которую мы рассматривали ранее)
2). Переименовывание файла
erase(f,’новое имя’); *где f – логическое имя файла
3). Смещение указателя (окно) в файле
seek(f,n); *где f – логическое имя файла
n – выражение типа longint, которое указывает номер элемента в файле
4). Определение размера файла
filesize(f); *где f – логическое имя файла
Должно быть присвоенно переменной типа longint