Этапы разработки программы. Разработка или выбор алгоритма решения поставленной задачи. Оформление документации на программу, страница 32

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

Для этого нужно вызвать процедуру Assign (<имя файловой переменной>, <строковое выражение>)

Пример  Assign (f,’d:\USES\SAPR91\res.txt’)

Необходимые шаги для работы с файлами.

  1. Открытие файла (организуется доступ к файлу)
  2. Чтение данных из файла (перенос данных списка в ОП)
  3. Запись данных в файл (перенос данных из ОП на диск)
  4. Закрытие файла. 

Открытие файла для вывода.

Возможны следующие режимы открытия файла для записи в него данных:

-  перезапись (запись нового файла поверх существующего или создание нового файла);

-  добавление в существующий файл

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

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

Открытие файла для ввода (чтения)

Открытие файла для ввода выполняется вызовом процедуры Reset, имеющей один параметр – файловую переменную Reset (f).

Запись данных в файл.

Запись данных в файл осуществляется операторами: write и writeln.

Синтаксис вызова:

Write (f, <список вывода>)

Writeln (f, <список вывода>)

<список вывода> - разделенные запятыми имена переменных, значения которых надо вывести в файл.

Разделение между операторами write и writeln состоит в том, что оператор writeln после вывода всех значений указанных в списке вывода, записывает в файл символ “новая строка

Чтение данных из файла.

Read (f, <список переменных>);

Readln (f, <список переменных>)

Замечание Процедурой read – признак конца строки не считывается.

Закрытие файла close (f)

Ошибки открытия файла

Причин неудачи открытия файлов может быть несколько.

Например программа может попытаться открыть файл на дискете, которая не вставлена в дисковод.

Другая причина – отсутствие открываемого файла в режиме чтения или добавления, т.е. имя файла указано не верно. Поэтому в программе следует предусмотреть возможность обработки ошибок при открытии файла, проверяя значение функции IO Result.

Функция IO Result возвращает Æ, если операция вв/выв завершилась успешно; в противном случае не Æ. Однако, чтобы программа могла проверить результат выполнения операции вв/выв, нужно разрешить ей это делать. Для этого надо перед оператором вызова процедуры открытия файла поместить директиву компилятора – строку {$I-}, которая запрещает автоматическую обработку ошибок вв/выв. После оператора открытия файла следует поместить директиву {$I+}, восстанавливающую режим обработки ошибок вв/выв.

Assign (f,’D:\SAPR\text.txt’);

{$I-}

Append (f);

{$I+}

if IO Result<>0

then Rewrite (f);

Определение конца файла.

Для определения конца файла можно воспользоваться функцией EOF(f). Значение функции EOF равно false, если прочитанный элемент данных не является последним в файле, т.е. возможно дальнейшее чтение из файла. Если прочитанный элемент данных является последним, то значение EOF равно true.

Стандартные файлы яз.Pascal            

Стандартные файлы – это особый тип заранее определенных файлов поставленных в соответствие внешним устройствам ЭВМ.

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

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

- стандартный файл ввода, связанный с клавиатурой (файловая переменная Input)

-  стандартный файл вывода, связывающий с дисплеем (Output)

-  LPT1, LPT2, LPT3 (или PRN) – имена стандартных файлов связанных с печатающим устройством. Если в программе используется стандартный модуль Printer (указан в разделе USES), можно использовать для вывода на принтер стандартную файловую переменную Lst.