|
Логические устройства
Стандартные аппаратные
средства ПК, такие как клавиатура, экран дисплея, печатающее
устройство (принтер) и коммуникационные каналы ввода-вывода,
определяются в Турбо Паскале специальными именами, которые
называются логическими устройствами. Все они в Турбо
Паскале рассматриваются как потенциальные источники
или приемники текстовой информации.
CON - логическое имя, которое
определяет консоль - клавиатуру или экран дисплея. Турбо
Паскаль устанавливает различие между этими физическими
устройствами по направлению передачи данных: чтение
данных возможно только с клавиатуры, а запись - только
на экран. Таким образом, с помощью логического устройства
CON нельзя, например, прочитать данные с экрана
ПК, хотя такая аппаратная возможность существует.
Ввод с клавиатуры буферируется: символы
по мере нажатия на клавиши помещаются в специальный
строковый буфер, который передается программе только
после нажатия на клавишу Enter. Буферизация ввода обеспечивает
возможность редактирования вводимой строки стандартными
средствами ДОС. При вводе символов осуществляется их
эхо-повтор на экране ПК. В Турбо Паскале можно прочитать
любой символ клавиатуры, в том числе и символ CR, вырабатываемый
клавишей Enter, сразу после нажатия на соответствующую
клавишу без эхо-повтора.
PRN - логическое имя принтера.
Если к ПК подключено несколько принтеров, доступ к ним
осуществляется по логическим именам LPT1,
LPT2 и LPT3 . Имена PRN и LPT1
первоначально - синонимы. Средствами ДОС можно присвоить
имя PRN любому другому логическому устройству,
способному принимать информацию.
Стандартный библиотечный модуль PRINTER,
входящий в библиотеку TURBO.TPL, объявляет имя
файловой переменной LST и связывает его с логическим
устройством LPT1. Это дает возможность
использовать простое обращение к принтеру. Например,
программа
Uses Printer;
begin
WriteLn(LST, 'Привет, мир!')
end.
выведет на принтер фразу «Привет, мир!»,
а все необходимые операции по открытию логического устройства
выполнит библиотечный блок PRINTER (подробности
работы с модулями см. в гл. 9).
AUX - логическое имя коммуникационного
канала, который обычно используется для связи ПК с другими
машинами. Коммуникационный канал может осуществлять
и прием, и передачу данных, однако в программе в каждый
момент времени ему можно назначить только одну из этих
функций. Как правило, в составе ПК имеются два коммуникационных
канала, которым даются имена логических устройств
СОМ1 и COM2. Первоначально имена AUX
и СОМ1 - синонимы.
NUL - логическое имя «пустого»
устройства. Это устройство чаще всего используется в
отладочном режиме и трактуется как устройство-приемник
информации неограниченной емкости. При обращении к
NUL как источнику информации выдается признак конца
файла EOF.
Связывание логического устройства с
файловой переменной осуществляется процедурой ASSIGN,
например:
var
fi,fo : text;
begin
assign(fi,'AUX');
assign(fо,'LPT2');
end.
Турбо Паскаль никогда не связывает имена
логических устройств с дисковыми файлами, в этом смысле
эти имена можно считать зарезервированными. Иными словами,
нельзя, например, обратиться к дисковому файлу с именем
PRN, так как Турбо Паскаль всегда интерпретирует
такой запрос как обращение к принтеру.
|