Стандартные
аппаратные средства ПК, такие как клавиатура, экран дисплея, печатающее
устройство (принтер) и коммуникационные каналы ввода - вывода, определяются
в Турбо Паскале специальными именами, которые называются логическими
устройствами.
Все они в Турбо Паскале рассматриваются как потенциальные источники или
приемники текстовой информации.
CON - логическое имя, которое определяет консоль - клавиатуру или экран дисплея. Турбо Паскаль устанавливает различие между этими физическими устройствами по направлению передачи данных: чтение данных возможно только с клавиатуры, а запись - только на экран. Таким образом, с помощью логического устройства CON нельзя, например, прочитать данные с экрана ПК, хотя такая аппаратная возможность существует. Ввод с клавиатуры буферируется: символы по мере нажатия на клавиши помещаются в специальный строковый буфер, который передается программе только после на клавишу Enter. Буферизация ввода обеспечивает возможность редактирования вводимой строки стандартными средствами ДОС. В Турбо Паскале можно прочитать любой символ клавиатуры, в том числе и символ CR, вырабатываемый клавишей Enter, сразу после нажатия на соответствующую клавишу без эхо-повтора. PRN - логическое имя принтера. Если к ПК подключено несколько принтеров, доступ к ним осуществляется по логическим именам LPT1, LPT2 и LPT3.Имена PRN и LPT1 первоначально - синонимы. Средствами ДОС можно присвоить имя PRN любому другому устройству, способному принимать информацию. Стандартный библиотечный модуль PRINTER, входящий в библиотеку TURBO.TPL, объявляет имя файловой переменной LST и связывает его с логическим устройством LPT1. Это дает возможность использовать простое обращение к принтеру. Например, программа
выведет на принтер фразу "Привет, мир", а все необходимые операции по открытию логического устройства выполнит библиотечный блок PRINTER. AUX - логическое имя коммуникационного канала, который обычно используется для связи ПК с другими машинами. Коммуникационный канал может осуществлять и прием, и передачу данных, однако в программе в каждый момент времени ему можно назначить только одну из этих функции. NUL - логическое имя "пустого" устройства. Это устройство чаще всего используется в отладочном режиме и трактуется как устройство-приемник информации неограниченной емкости. При обращении к NUL как источнику информации выдается признак конца файла EOF. Связывание логического устройства с файловой переменной осуществляется процедурой Assign, например:
Турбо Паскаль никогда не связывает имена логических устройств с дисковыми файлами, в этом смысле эти имена являются зарезервированными. Иными словами, нельзя, например, обратиться к дисковому файлу с именем PRN, так как Турбо Паскаль всегда интерпретирует такой запрос как обращение к принтеру. |