| WriteLn; WriteLn; ReadLn;

| WriteLn ('Демонстрация кода разрыва строки - f10(LF)');

| WriteLn;

| Write('Эта '#10'строка '#10'разорвана '#10'кодами 10');

| Writeln( #10#10 ); ReadLn;

| WriteLn ('Работа с кодом возврата каретки - #13'#10);

| for i:=1 to 40 do Write('/'); { 40 правых косых скобок }

| Write ( #13 ); {перевод курсора в начало }

| for i:=1 to 40 do begin

| Delay ( 100 ); { задержка в 100 мс }

| Write ( '\'); { поочередная печать '\' }

| end; { конец цикла }

| WriteLn; ReadLn { пауза до нажатия клавиши ввода }

| END

Рис. 15.3 (окончание)

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

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

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

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

Таблица 15.2

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

Действие

Esc

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

Ctrl+A

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

Ctrl+S

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

- 319 -

Ctrl+D

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

Ctrl+F

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

Ctrl+Z

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

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

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

<p>15.3. Системные переменные модуля CRT</p>

При подключении модуля 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

Перейти на страницу:

Поиск

Похожие книги