Файловые типы Турбо Паскаля

Понятие буфера ввода-вывода

Физические файлы в 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). Любую информацию (числовую, символьную или строчную) текстовый файл хранит в виде символов, ее изображающих.

Типизированные файлы в отличие от текстовых — это ма­шинные представления чисел, символов и структур, из них по­строенных; Они хранят данные в том же виде, что и память ПЭВМ. Поэтому посредством типизированных файлов можно осуществлять обмен данными только между дисками и рабочей памятью программы, но нельзя, например, напрямую вывести данные на экран.

Бестиповые файлы также состоят из машинных представ­лений данных. Отличие их от типизированных файлов в том, что последние имеют дело только с данными заранее объявленного типа, а бестиповые — с произвольными наборами байтов незави­симо от их структуры и природы. Описание языка определяет бестиповый файл как низкоуровневый канал ввода-вывода для доступа к любым типам файлов.