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.