Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораторная № 13.doc
Скачиваний:
6
Добавлен:
12.03.2016
Размер:
95.74 Кб
Скачать

Лабораторная работа №13

СТРУКТУРИРОВАННЫЕ ТИПЫ ДАННЫХ. ФАЙЛЫ. РАБОТА С ТЕКСТОВЫМИ ФАЙЛАМИ

ТЕКСТОВЫЙ ФАЙЛ

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

2.1 ЭТАПЫ РАБОТЫ С ТЕКСТОВЫМИ ФАЙЛАМИ

  • Описание файловой переменной

  • Связь переменной с физическим файлом

  • Инициализация (открытие) файла

  • Ввод/вывод в файл

  • Закрытие файла

2.1.1Описание файловой переменной

Описание:

VAR <ИМЯ2>: TEXT;

ПРИМЕРЫ:

TYPE

FT=TEXT; {файловый тип данных- синоним TEXT}

VAR

A1,A2:TEXT; {описано три переменные текстового типа}

A0:FT;

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

  • INPUT

- связана с клавиатурой и предназначена для ввода данных;

  • OUTPUT

связана с экраном и реализует стандартный вывод данных.

Можно перенаправить стандартный ввод/вывод, используя ASSIGN для этих переменных.

2.1.2 Связь переменной с физическим файлом

  • ASSIGN (<ПЕРЕМЕННАЯ>,<ФАЙЛ>)

- связывает файловую переменную <ПЕРЕМЕННАЯ> с файлом или логическим устройством, имя которого находится в строковой переменной или константе <ФАЙЛ>. Связь сохраняется до следующего оператора ASSIGN для данной переменной или до конца программной единицы, в которой определена указанная переменная.

Логические устройства

- аппаратные средства компьютера, потенциальные источники или приемники текстовой информации. Все логические устройства имеют собственные уникальные имена:

  • CON’ – КОНСОЛЬ: ( ввод – клавиатура; вывод – экран)

  • PRN’ – ПРИНТЕР

  • LPT1’=‘PRN’,’LPT2’,’LPT3’ – ИМЕНА ПРИНТЕРОВ

  • AUX’=‘COM1’,’COM2’ – ИМЕНА КОММУНИКАЦИОННЫХ КАНАЛОВ

  • NUL’ – ПУСТОЕ ЛОГИЧЕСКОЕ УСТРОЙСТВО, (используется как «заглушка» при отладке)

Логические устройства могут быть связаны только с текстовыми файловыми переменными.

ПРИМЕРЫ

ASSIGN(A2,’F1.TXT’);

ASSIGN(A1,’PRN’);

В данном случае переменная A2 связана с текстовым файлом, а A1 – с принтером.

2.1.3 Открытие файла

REWRITE(<ФП>)

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

RESET(<ФП>)

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

APPEND(<ФП>);

- открытие файла на дозапись, причем указатель помещается в конец файла (на признак конца файла). Если файл не существует, генерируется ошибка.ввода/вывода. Эта процедура используется только для текстовых файлов.

КОРРЕКТНОЕ ОТКРЫТИЕ ФАЙЛА

{$I-} {отключить контроль ошибок ввода/вывода – директива компилятора}

APPEND(A2); {открыть файл на дозапись}

{$I+} {включить контроль ошибок ввода/вывода – директива компилятора}

IF IORESULT<>0 THEN {проверить функцию ошибки}

{действия в случае ошибки – отсутствия файла на диске}

ELSE

{действия в случае успешного открытия файла}