12.4. Файловые типы Турбо Паскаля
Турбо Паскаль поддерживает три файловых типа:
— текстовые файлы (типа Text);
- 224 -
— компонентные файлы (типа File Of ... );
— бестиповые файлы (типа File).
Каждому типу будет посвящен отдельный раздел, а пока ограничимся их краткими характеристиками.
Текстовые файлы — это файлы, состоящие из кодов ASCII, включая расширенные и управляющие коды. Текстовые файлы организуются по строкам и обязательно содержат специальный код, называемый концом файла. Любую информацию (числовую, символьную или строчную) текстовый файл хранит в виде символов, ее изображающих. Например, текст программы на Паскале — это текстовый файл. Его можно вывести на экран командой MS-DOS TYPE или на печать командой PRINT и прочитать. Но выполняемый ЕХЕ-файл, полученный после компиляции, уже не будет текстовым. И, если удается увидеть или распечатать его содержимое, то прочитать, например, как эту страницу точно не удается. Пример текстового файла — бегущие строки на экране дисплея, когда он работает в текстовом режиме. При наборе букв и цифр на клавиатуре, создается текстовый файл.
Компонентные файлы в отличие от текстовых состоят из машинных представлений чисел, символов и структур, из них построенных. Они хранят данные в том же виде, что и память ПЭВМ. Поэтому посредством компонентных файлов можно осуществлять обмен данными только между дисками и рабочей памятью программы, но нельзя, например, напрямую вывести данные на экран.
Бестиповые файлы также состоят из машинных представлений данных. Отличие их от компонентных файлов в том, что последние имеют дело только с данными заранее объявленного типа, а бестиповые — с произвольными наборами байтов независимо от их структуры и природы. Описание языка определяет бестиповый файл как низкоуровневый канал ввода-вывода для доступа к любым файлам с любым типом.
Для всех типов файлов минимальной единицей хранения информации в них является байт. Принципы работы с файлами едины, хотя и имеются различия в наборах команд для работы с разными файловыми типами. Для всех без исключения файлов необходимо предварительное связывание их логических обозначений (файловых переменных) с физическими файлами.
Файловые переменные, описанные в программе, не могут участвовать в операторах присваивания.
При использовании файловых переменных любого типа в качестве формальных параметров заголовков процедур и функций они всегда должны быть описаны как VAR-параметры.
- 225 -