Читать онлайн «Pascal. Файлы: Учебно-методическое пособие (практикум)»

Автор Васильев В.

Федеральное агентство по образованию Pascal. Файлы Учебно-методическое пособие (Практикум) Составители: В. В. Васильев Л. В. Хливненко ВОРОНЕЖ 2007 2 Утверждено Научно-методическим советом математического факультета 31 января 2007 года, протокол № 5 Рецензент В. В. Провоторов Учебно-методическое пособие (практикум) подготовлен на кафедре мате- матического моделирования математического факультета Воронежского государственного университета. Рекомендовано для студентов 5-6 курсов всех форм обучения. Для направления 010101 (010100) Математика 3 1. Классификация файлов. Типизированные файлы Различают физические и логические файлы. Физический файл - это поименованная область памяти на каком-либо носителе информации. В этом смысле содержимое файла представляет собой последовательность байтов закодированной информации. Логический файл – файловая переменная структурированного типа данных, в котором описывается способ интерпретации содержимого физи- ческого файла. В логическом файле описан шаблон чтения/записи инфор- мации из физического файла. Файловый тип представляет собой структуру, состоящую из ком- понент одного вида. Длина переменной файлового типа в описании не объ- является. Фактически размер файла ограничивается размером памяти но- сителя информации.
По логической структуре файлы в Паскале делятся на типизированные, текстовые и нетипизированные. Типизированный файл - это совокупность компонент объявленого в описании стандартного или пользовательского типа. Переменная файло- вого типа в этом случае описывается так: <имя>=file of <тип>; Ти- пом компонет файла может быть любой стандартный или пользователь- ский тип, кроме файлового и опирающегося на файловый. Текстовый файл - это совокупность строк, состоящих из символов. Переменную файлового типа можно описать так: <имя>=text; Нетипизированный файл - это совокупность компонент, для ко- торых не объявлен тип. В файлах такого вида читается и записывается за одно обращение указанное количество байт. Переменная нетипизирован- ного файлового типа описывается так: <имя>=file; Работа с файловой переменной в блоке операторов начинается с про- цедуры assign(<Имя_логического_файла>, ‘<Имя_физиче- ского_файла>‘), которая связывает логическую файловую перемен- ную с полным именем физического файла на диске. В Delphi используется эквивалентная процедура AssignFile(). До выполнения операций чтения-записи файл должен быть открыт. Процедура reset(<имя_файловой_переменной>) открывает суще- ствующий файл для чтения (и для записи- для типизированных и нетипи- зированных файлов). Процедура rewrite(<имя_файловой_переменной>) создает новый файл и открывает его для записи. Если процедурой rewrite() от- крыть существующий файл, то вся информация из него потеряется, так как старый файл при этом уничтожится. При открытии файлов могут возникать ошибки периода исполнения. Например, при открытии процедурой reset() несуществующего файла. Автоматическая проверка ошибок, возникающих при операциях ввода- вывода, может быть включена и отключена директивами (командами) ком- 4 пилятора {$I+} и {$I-}. По умолчанию действует директива {$I+}.