15.3. Системные переменные модуля CRT
При подключении модуля CRT инициализируется ряд его системных констант и переменных. Константы используются как параметры в процедурах модуля CRT. Системные же переменные играют роль переключателей режимов работы механизмов ввода-вывода, реализованных в CRT.
И константы, и переменные становятся глобальными и доступными программе, использующей модуль CRT, и их не надо описывать среди прочих идентификаторов. Так, например, в модуле CRT определена переменная DirectVideo типа Boolean, и ее стартовое значение равно True. Если надо сменить определяемый ею режим работы устройства CRT, то необходимо вставить в программу строку
USES CRT; { модуль CRT подключен }
... { раздел прочих описаний }
BEGIN
DirectVideo := False ; { <-— смена режима CRT }
... { собственно программа }
END.
Но если определить в программе такую же переменную, то доступ к оригиналу из CRT будет заблокирован. Теперь, чтобы все-таки сменить значение системной переменной, надо указывать ее принадлежность в виде определяющего поля:
- 320 -
USES CRT; { Модуль CRT подключен. }
VAR
DirectVideo : Boolean ; { Переопределение системной }
{ переменной. Тип может быть и любым другим }
BEGIN
DirectVideo := False ; { не влияет на работу CRT }
CRT.DirectVideo := False; { Режим работы CRT меняется. }
END.
В модуле CRT предопределены восемь идентификаторов (табл. 15.3)
Таблица 15.3
Переменные: тип
Действие и содержание
Стартовое значение
CheckSnow, DirectVideo : Boolean
Управление режимами вывода на дисплей
False True
CheckBreak : Boolean
Управление прерыванием работы программы
True
CheckEOF : Boolean
Разрешение или запрет интерпретации символа конца файла (#26)
False
LastMode : Word
Переменная для работы с процедурой TextMode
зависит от режима работы компьютера
TextAttr : Byte
Значение текущего цветового атрибута для вывода текста на экран
зависит от последнего режима цвета
WindMax : Word WindMin : Word
Параметры текущего окна на дисплее (см. разд. 15.4.1.1)
зависит от режима работы
Переменные общего плана рассматриваются ниже, а ряд специализированных переменных (LastMode, WindMax и WindMin) будет детально обсужден при описании процедур TextMode и Window.