- 221 -
VAR
f : Text; { объявляем файловую переменную f (вводим
логический файл типа текст) }
BEGIN
Assign( f, 'A:\TEXT.DOC' ); { связываем физический файл 'a:\text.doc'
на диске А: с логическим файлом f }
...
END.
После этого все обращения к файлу на диске будут производиться через файловую переменную f.
Введение логического файла позволяет программисту не задумываться о технических проблемах организации обмена данными, а заняться программированием самого потока данных. Различные физические файлы имеют различные механизмы ввода и вывода информации. Все особенности физических файлов «спрятаны» в механизме логических файлов, которые сами определяют, как наладить обмен данными со связанными физическими файлами. Иными словами, логические файлы унифицируют работу с файлами, позволяя работать не непосредственно с устройствами ПЭВМ, а с их логическими обозначениями.
12.2. Физические файлы в MS-DOS
Что такое физические файлы? Ответ на этот вопрос лучше искать не в руководствах по Турбо Паскалю, а в описаниях MS-DOS. Все, что является файлом в MS-DOS, является физическим файлом в Турбо Паскале. Банальный пример — файл с данными на диске (гибком, жестком, виртуальном — все равно). Определяется физический файл строкой с его названием (именем). В Турбо Паскале имена могут быть строковыми константами или храниться в строковых переменных. Имя файла на диске может иметь адресную часть, оформленную в соответствии с правилами MS-DOS:
'C:\PAS\TESTFILE.PAS' ,
'A:TEST.TXT'
'..\PRIMER.BAS'
Другая разновидность физических файлов — это устройства MS-DOS. MS-DOS не делает особого различия между «традиционными» файлами и устройствами (портами коммуникаций). Устройства имеют свои фиксированные имена и во многом схожи с файлами: имя устройства, например, может встать на место имени файла на диске при копировании. Имена устройств
- 222 -
MS-DOS и необходимые замечания по ним сведены в табл. 12.1.
Таблица 12.1
Имя | Расшифровка устройства | Примечание |
CON | Консоль (клавиатура и экран) | Ввод из CON — это чтение с клавиатуры, а вывод в CON — это запись на экран |
LPT1 LPT2 LPT3 | Параллельные порты (типа Centronix) номер 1…3 (если установлены) | Через эти имена файлов происходит вывод данных на принтеры или другие устройства с интерфейсом типа Centronix |
PRN | Принтер. Синоним имени LPT1 | Имя обращения к принтеру, включенному в порт LPT1 |
COM1 COM2 | Последовательные порты (типа RS-232) номер 1..2 (если установлены) | Имена файлов-устройств для ввода-вывода данных через серийные порты коммуникации. |
AUX | Синоним имени COM1 | Файл-устройство COM1 |