Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
TURBO_PASCAL.doc
Скачиваний:
4
Добавлен:
01.07.2025
Размер:
8.23 Mб
Скачать

15.2. Модификация операторов Read, ReadLn

Операторы Read и ReadLn считывают поступающую информацию по строкам. Так, при вводе с клавиатуры, информация уходит на обработку только после ввода кода закрытия строки (а он вырабатывается клавишей Enter или Return).

При наборе на клавиатуре вводимые символы отображаются на дисплее, а их коды запоминаются в специальном буфере и передаются на обработку только после нажатия клавиши ввода. Пока строка символов не введена, ее можно редактировать, используя клавишу удаления символов Backspace.

После подключения модуля CRT набор клавиш редактирования расширяется комбинациями и клавишами, приведенными в табл. 15.2.

Таблица 15.2

Клавиша или комбинация

Действие

Esc

Стирает все символы в строке ввода

Ctrl+A

Дублирует клавишу Esc

Ctrl+S

Дублирует клавишу BackSpace {318}

Ctrl+D

Вызывает очередной символ из введенной ранее, но стертой строки ввода

Ctrl+F

Вызывает всю стертую ранее строку ввода

Ctrl+Z

Вводит строку (заканчивает ввод) и вырабатывает признак конца файла, если значение системной переменной модуля CRT CheckEOF=True (см. разд. 15.3.2.2)

Комбинация клавиш Ctrl+Z может быть весьма полезна при создании файлов на диске непосредственным вводом с клавиатуры.

Далее речь пойдет о дополнительных возможностях модуля CRT и реализуемых в нем процедурах и функциях.

15.3. Системные переменные модуля crt

При подключении модуля CRT инициализируется ряд его системных констант и переменных. Константы используются как параметры в процедурах модуля CRT. Системные же переменные играют роль переключателей режимов работы механизмов ввода-вывода, реализованных в CRT.

И константы, и переменные становятся глобальными и доступными программе, использующей модуль CRT, и их не надо описывать среди прочих идентификаторов. Так, например, в модуле CRT определена переменная DirectVideo типа Boolean, и ее стартовое значение равно True. Если надо сменить определяемый ею режим работы устройства CRT, то необходимо вставить в программу строку

USES CRT; { модуль CRT подключен }

... { раздел прочих описаний }

BEGIN

DirectVideo := False ; { <-— смена режима CRT }

... { собственно программа }

END.

Но если определить в программе такую же переменную, то доступ к оригиналу из CRT будет заблокирован. Теперь, чтобы все-таки сменить значение системной переменной, надо указывать ее принадлежность в виде определяющего поля: {319}

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)

зависит от режима работы

0

Переменные общего плана рассматриваются ниже, а ряд специализированных переменных (LastMode, WindMax и WindMin) будет детально обсужден при описании процедур TextMode и Window.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]