Вопрос 30-31.doc

  • doc
  • 13.05.2020
Публикация на сайте для учителей

Публикация педагогических разработок

Бесплатное участие. Свидетельство автора сразу.
Мгновенные 10 документов в портфолио.

Иконка файла материала Вопрос 30-31.doc

Вопрос 30-31.

Файловый тип данных. Способы объявления файлов различной логической структуры: типизированные файлы (задаются предложением FILE OF ...); текстовые файлы (определяются типом TEXT); нетипизированные файлы (определяются типом FILE).

Переменные файлового типа могут быть описаны в программе либо с использованием раздела типов Туре, либо явно в разделе переменных Var.

Первый способ объявления файловой переменной (с использованием раздела типов Туре):

Туре <имя типа 1> = File of <базовый тип элементов>;

<имя типа 2> = Text;

<имя типа 3> = File;

Var <имя файловой переменной 1>:<имя типа 1>;

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

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

Второй способ объявления файловой переменной (в   разделе переменных Var ):

Var

<имя файловой переменной 1>: File of <базовый тип элементов>;

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

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

С каждым файлом можно связать понятие - текущий указатель. Это неявно описанная буферная переменная, которая указывает на номер конкретного компонента файла. Начальный компонент имеет нулевой номер.

Действия с файлами производятся поэлементно, причем в них участвует тот элемент, на который "смотрит" текущий указатель, перемещающийся в результате выполнения действия на следующий элемент.

Стандартные процедуры для работы с файлами

Процедура ASSIGN. Для работы с каким-либо физическим файлом, находящимся на магнитных носителях, необходимо первоначально связать его с файловой переменной (логическим файлом), с помощью которой будет осуществляться доступ к этому физическому файлу. Любой программе доступны два предварительно объявленных файла со стандартными файловыми переменными: INPUT - для ввода данных и OUTPUT - для вывода на экран. Другие файлы, а также логические устройства, становятся доступны программе только после выполнения особой процедуры, которая заключается в связывании ранее объявленной файловой переменной с именем существующего или вновь создаваемого файла.

Для установления связи между файловой переменной и именем файла на внешнем устройстве в Турбо Паскале имеется стандартная процедура Assign.

Формат вызова процедуры в программе:

Assign (<имя файловой переменной>, '<имя внешнего файла>');

Второй параметр в процедуре Assign является выражением строкового типа, поэтому заключается в апострофы. В общем виде это выражение может быть записано следующим образом: 'имя диска:\имя каталога:\имя подкаталога\...\имя файла'. Если имена диска и каталога не указаны, то выбирается текущий диск и текущий каталог. Если вместо имени внешнего файла стоят два апострофа без пробела ( " ), то файл связывается со стандартным файлом ввода INPUT или со стандартным файлом вывода -OUTPUT.

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

Формат вызова процедуры в программе:

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

При этом текущий указ-ль устанавливается на первый элемент файла (с номером 0).

Процедура REWRITE. Данная процедура создает новый физический файл, имя которого связано с файловой переменной. Если такой физический файл уже существует, то он удаляется, и на его месте создается новый пустой файл.

Формат вызова процедуры в программе:

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

При открытии файла указатель текущей позиции устанавливается в его начало.

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

Формат вызова процедуры в программе:

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

Процедура RENAME. Данная процедура используется для переименования физических файлов.

Формат вызова процедуры в программе:

RENAME (<имя файловой переменной>, '<имя внешнего файла>');

Процедура ERASE. Данная процедура используется для уничтожения физических файлов.

Формат вызова процедуры в программе:

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

Заметим, что процедуры Rename и Erase можно выполнять только для файловых переменных, которые уже связаны с каким - либо физическим файлом. Перед выполнением этих процедур необходимо закрыть файл, если он ранее был открыт процедурами RESET, REWRITE или APPEND.