Файловые типы Турбо Паскаля
Понятие буфера ввода-вывода
Физические файлы в MS DOS
Все, что называют файлом в MS DOS, является физическим файлом в Паскале. Определяется физический файл строкой с его именем. В Паскале имена могут быть строковыми константами или храниться в строковых переменных.
Другая разновидность физических файлов — это устройства MS DOS. В среде MS DOS нет особого различия между традиционными файлами и устройствами (портами коммуникаций). Устройства имеют свои фиксированные имена и во многом схожи с файлами: например, именем устройства можно заменить имя файла на диске при копировании._________________
Имя | Устройство | Примечание |
CON | Консоль (клавиатура и экран) | Ввод из CON — это чтение с клавиатуры, а вывод в CON — это запись на экран |
LPT1 | Параллельные порты с номерами 1, 2, 3 (если установлены) | Через эти имена происходит вывод данных на принтеры или другие устройства с интерфей- сом типа Cetronix |
LPT2 | ||
LPT3 | ||
PRN | Принтер. Синоним имени LPT1 | Обращение к принтеру, подклю- ченному к порту LPT1 |
СОМ1 | Последовательные порты с номерами 1, 2 (если установлены) | Имена файлов-устройств для ввода-вывода данных через се- рийные порты коммуникации |
COM2 | ||
AUX | Синоним имени СОМ1 | Файл-устройство СОМ1 |
NUL | Фиктивное устрой- | Это "бездонный" файл, прини- |
ство | мающий что угодно, но всегда | |
пустой |
Ввод-вывод данных осуществляется через буфер. Буфер — это область в памяти, отводимая при открытии файла. При записи в файл вся информация сначала направляется в буфер и там накапливается до тех пор, пока весь объем буфера не будет заполнен. Только после этого или после специальной команды сброса буфера происходит передача данных по предназначению: на диск, в порт. Аналогично при чтении из файла считывается не столько, сколько запрашивается, а сколько помещается в буфер. Механизм буферизации позволяет более быстро и эффективно обмениваться информацией с различными устройствами. . Для языка Паскаль стандартный буфер ввода-вывода имеет объем 128 байт. Каждому открытому файлу вместе с обработчиком назначается и свой буфер.
Турбо Паскаль поддерживает три файловых типа:
— текстовые файлы (типа Text);
- типизированные файлы (типа File Of...);
- бестиповые файлы (типа File).
Текстовые файлы состоят из кодов ASCII, включая расширенные и управляющие коды. Текстовые файлы организуются по строкам и обязательно содержат специальный код, называемый концом файла (^Z). Любую информацию (числовую, символьную или строчную) текстовый файл хранит в виде символов, ее изображающих.
Типизированные файлы в отличие от текстовых — это машинные представления чисел, символов и структур, из них построенных; Они хранят данные в том же виде, что и память ПЭВМ. Поэтому посредством типизированных файлов можно осуществлять обмен данными только между дисками и рабочей памятью программы, но нельзя, например, напрямую вывести данные на экран.
Бестиповые файлы также состоят из машинных представлений данных. Отличие их от типизированных файлов в том, что последние имеют дело только с данными заранее объявленного типа, а бестиповые — с произвольными наборами байтов независимо от их структуры и природы. Описание языка определяет бестиповый файл как низкоуровневый канал ввода-вывода для доступа к любым типам файлов.