ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 11.07.2024

Просмотров: 42

Скачиваний: 0

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

Тема 7. Нестандартные типы данных в языке Паскаль

Процедура чтения из файла

Reset(<имя файла>)

По этой процедуре выполняются следующие действия:

Поиск указанного файла на внешнем устройстве;

Установка связи с этим файлом;

Буфер файла устанавливается в первую позицию

Здесь возможны две ситуации а) файл не пустой, т.е. содержит какие то данные. В этом случае буфер файла принимает

значение первой компоненты файла, а признак конца файла получает значение false. б) файл оказался пустым, в нем не содержится никакой информации. В этом случае буферная переменная является не определенной, а признак конца файла имеет

значение true.

Для выборки информации из файла используется процедура

Get(<имя файла>)

Примечание: Перемещение по файлу осуществляется только слева направо, т.е. только в прямом направлении. НАЗАД ПО ФАЙЛУ ПЕРЕМЕЩАТЬСЯ НЕЛЬЗЯ.

<имя переменной>:=<имя файла>; get(<имя файла>)

 

Например:

 

х :=<f1>; get(<f1>)

20

read(<имя файла>,<имя переменной>)

 


Тема 7. Нестандартные типы данных в языке Паскаль

Процедура записи в файл

Rewrite(<имя файла>)

По этой процедуре выполняются следующие действия:

Поиск указанного файла на внешнем устройстве (если файл с таким именем не существует, то он создается, если же файл с таким именем уже существует, то

вся бывшая в файле информация уничтожается);

Установка связи с этим файлом;

Буфер файла устанавливается в первую позицию файла. В этом случае буферная переменная является не определенной, а признак конца файла имеет значение true.

Чтобы записать данные в файл необходимо определить значение буферной переменной, присвоив ей значение, которое мы хотим записать в файл, а затем

воспользоваться процедурой

Put(<имя файла>)

По этой процедуре данные из буфера файла заносятся в указанный файл, буфер перемещается в следующую позицию, признак конца файла имеет значение true.

Например:

 

<f1>:= х; put(<f1>);

21

 

Write (<имя файла>,<имя переменной>);

Тема 7. Нестандартные типы данных в языке Паскаль

Особенности работы с нетипизированными файлами.

Нетипизированные файлы и файловые переменные предназначены для низкоуровневой работы с файлами. С их помощью можно обратится к файлу любого типа и логической структуры. Отличие состоит в том, что нетипизированный файл не имеет жестко установленной единицы чтения/записи, как типизированные файлы. В

нетипизированных файлах за одно обращение считывается/записывается число байт, приблизительно равное величине буфера ввода/вывода, что способствует увеличению скорости работы с файлами. В качестве буфера ввода/вывода для нетипизированных файлов может выступать любая переменная.

22


Тема 7. Нестандартные типы данных в языке Паскаль

Особенности работы с текстовыми файлами.

Являются разновидностью файлов типа file of Char. Относятся к особым типам файлов.

var <имя файловой переменной>:text;

Структура текстового файла

байт

байт

байт

байт

Eoln

 

 

 

 

 

 

 

 

 

 

байт

байт

байт

байт

байт

Eoln

 

 

 

 

 

 

 

 

байт

байт

байт

Eoln

 

 

 

 

 

 

 

 

 

 

 

байт

байт

байт

байт

байт

Eof

 

 

 

 

 

 

 

 

 

Особенности:

автоматическое преобразование данных

имеют только прямой доступ

имеют признаки конца строки

разрешена запись только некоторых типов данных

Для работы определены процедуры Readln и Writeln.

23