Процедуры и функции модуля CRT
AssignCrt
ClrEOL
ClrScr
Delay
DelLine
GetCharXY
GotoXY
HideCursor
HighVideo
InsLine
KeyPressed
LowVideo
NormVideo
NoSound
ReadKey
SetScreenSize
ShowCursor
Sound
TextBackGround
TextColor
TextMode
WhereX
WhereY
Window
WriteAttr
Процедура AssignCrt
Связывает текстовый файл с окном CRT.
Объявление:
procedure AssignCrt(var f: Text);
Замечания:
Процедура
AssignCrt работает подобно стандартной процедуре
Assign. Однако никакое имя файла не определено. Вместо этого
текстовый файл связан с CRT.
Это сделано для более быстрого вывода (и ввода) чем обычно возможно
при использовании стандартной процедуры вывода (или ввода).
Процедура ClrEOL
Связывает текстовый файл с окном CRT.
Удаляет все символы от позиции курсора до конца строки. При этом
курсор не перемещается и остается на начальной позиции.
Объявление:
procedure ClrEOL;
Замечания:
Все символьные позиции заполняются пробелами с текущими текстовыми
атрибутами. Таким образом, начиная от текущей позиции курсора, строка
окрашивается в цвет фона, установленным процедурой
TextBackground.
Процедура
ClrEol работает относительно текущего окна.
Процедура ClrScr
Очищает активные окна и устанавливает курсор в левый верхний угол.
Объявление:
procedure ClrScr;
Замечания:
Все символьные позиции заполняются пробелами с текущими текстовыми
атрибутами. Таким образом, весь экран заполняется цветом фона,
установленным процедурой
TextBackground. Это также справедливо
для символов, очищенных процедурами
ClrEOL, InsLine и
DelLine
и пустых строк, созданных при помощи прокрутки.
Процедура
ClrScr работает относительно текущего окна.
Процедура Delay
Задержка на указанное количество миллисекунд.
Объявление:
procedure Delay(Ms: Word);
Замечания:
Переменная
Ms определяет время задержки в миллисекундах.
Задержка приблизительная, поэтому период задержки не будет длиться
точно в соответствии с указанным числом миллисекунд.
Процедура DelLine
Удаляет строку, содержащую курсор.
Объявление:
procedure DelLine;
Замечания:
Строка, содержащая курсор, удаляется, и все нижние строки сдвинуты на
одну строку. Новая строка добавляется снизу.
Все символьные позиции заполняются пробелами с текущими текстовыми
атрибутами. Таким образом, строка окрашивается в цвет фона,
установленным процедурой
TextBackground.
Функция GetCharXY
Читает символ с экрана.
Объявление:
function GetCharXY(X, Y: Longint): Char;
Процедура GotoXY
Перемещает курсор к указанным координатам в пределах виртуального экрана.
Объявление:
procedure GotoXY(X, Y: Byte);
Замечания:
Левый верхний угол виртуального экрана соответствует координатам
(1, 1).
Процедура HideCursor
Скрывает текстовый курсор.
Объявление:
procedure HideCursor;
См. также:
ShowCursor
Процедура HighVideo
Выбирает для символов цвет высокой интенсивности.
Объявление:
procedure HighVideo;
Замечания:
Процедура
HighVideo устанавливает бит высокой интенсивности
переменной
TextAttr, таким образом цвета
0-7
преобразуются в цвета
8-15.
Процедура InsLine
Вставляет пустую строку в позиции курсора.
Объявление:
procedure InsLine;
Замечания:
Все строки, которые находятся ниже вставленной, перемещаются вниз на
одну строку и нижняя строка исчезает с экрана.
Все символьные позиции вставленной строки заполняются пробелами с
текущими текстовыми атрибутами. Таким образом, строка окрашивается в
цвет фона, установленным процедурой
TextBackground.
Функция KeyPressed
Возвращает значение True, если была нажата какая-либо клавиша.
Объявление:
function KeyPressed: Boolean;
Замечания:
Код клавиши может быть прочитан с помощью функции
ReadKey.
Процедура LowVideo
Выбирает для символов цвет низкой интенсивности.
Объявление:
procedure LowVideo;
Замечания:
Процедура
LowVideo сбрасывает бит высокой интенсивности
переменной
TextAttr, таким образом цвета
8-15 преобразуются в цвета
0-7.
Процедура NormVideo
Выбирает первоначальные атрибуты текста, которые были установлены при
запуске программы.
Объявление:
procedure NormVideo;
Замечания:
Процедура
NormVideo присваивает переменной
TextAttr
значение, которое она имела при запуске программы.
Процедура NoSound
Выключает встроенный динамик компьютера.
Объявление:
procedure NoSound;
Функция ReadKey
Читает символ или расширенный скан-код клавиатуры.
Объявление:
function ReadKey: Char;
Замечания:
Символ не отображается на экране.
Процедура SetScreenSize
Определяет установленный пользователем размер экрана в текстовых
символах.
Объявление:
procedure SetScreenSize(Cols, Rows: DWord);
Процедура ShowCursor
Показывает текстовый курсор.
Объявление:
procedure ShowCursor;
См. также:
HideCursor
Процедура Sound
Включает встроенный динамик.
Объявление:
procedure Sound(Hz: DWord);
Замечания:
Переменная
Hz определяет частоту звука в герцах. Звучание
продолжается до тех пор, пока динамик не будет выключен процедурой
NoSound.
Процедура TextBackGround
Устанавливает цвет фона.
Объявление:
procedure TextBackground(Color: Byte);
Замечания:
Переменная
Color должна быть целочисленным выражением в
диапазоне
0..7, соответствующей одной из первых восьми цветовых
констант. Процедура
TextBackground устанавливает биты 4-6
переменной
TextAttr для переменной
Color.
Фон всех символов, которые будут выводиться после вызова этой
процедуры, будет иметь указанный цвет.
См. также:
Константы цвета
Процедура TextColor
Устанавливает цвет символов.
Объявление:
procedure TextColor(Color: Byte);
Замечания:
Переменная
Color должна быть целочисленным выражением в
диапазоне
0..15, соответствующей одной из цветовых констант,
определенных в модуле CRT.
Процедура
TextColor устанавливает биты
0-3 для переменной
Color.
Если переменная
Color имеет значение больше 15, то бит
blink
(бит 7) также будет установлен; иначе он будет сброшен.
См. также:
Константы цвета
Процедура TextMode
Устанавливает указанный текстовый режим.
Объявление:
procedure TextMode(Mode: Integer);
Замечания:
Когда вызывается процедура
TextMode, текущее окно сбрасывается
в полный экран,
DirectVideo устанавливается в TRUE,
CheckSnow
устанавливается в TRUE если был выбран цветной режим. Текущие
текстовые атрибуты сбрасываются и устанавливаются в соответствии с
вызовом процедуры
NormVideo, и текущий видеорежим сохраняется
в переменной
LastMode. Кроме того,
LastMode
инициализируется при запуске программы для последующих видеорежимов.
Определение
TextMode(LastMode) позволяет выбрать предшествующий
активный текстовый режим. Это может оказаться полезным, если вы хотите
вернуться в текстовый режим после использования графических пакетов,
таких как модуль
Graph.
См. также:
Константы текстового режима
Функция WhereX
Возвращает координату
Х текущего местоположения курсора.
Объявление:
function WhereX: Byte;
Функция WhereY
Возвращает координату
Y текущего местоположения курсора.
Объявление:
function WhereY: Byte;
Процедура Window
Определяет текстовое окно на экране.
Объявление:
procedure Window(X1, Y1, X2, Y2: Byte);
Замечания:
X1 и
Y1 - координаты верхнего левого угла окна,
X2 и
Y2 - координаты нижнего правого угла. Верхний левый
угол экрана соответствует координатам
(1, 1). Минимальный
размер текстового окна - один столбец на одну строку. Если введены
недопустимые координаты, то запрос к процедуре
Window игнорируется.
По умолчанию установлено окно (1, 1, 80, 25) в 25-строковом режиме, и
(1, 1, 80, 43) в 43-строковом режиме, что соответствует полному экрану.
Все координаты экрана (кроме координат окна непосредственно) вычисляются
относительно текущего окна. Например, процедура
GotoXY (1, 1)
будет всегда устанавливать курсор в верхний левый угол текущего окна.
Многие процедуры модуля CRT работают относительно текущего окна,
включая
ClrEOL, ClrScr, DelLine, GotoXY, InsLine, WhereX, WhereY, Write и
Writeln.
Переменные
WindMin и
WindMax хранят координаты текущего
окна. Вызов процедуры
Window всегда перемещает курсор в позицию
(1,1).
Процедура WriteAttr
Выводит на экран указанную строку
S в формате атрибуты/символы
на экран в позицию
(X,Y).
Объявление:
procedure WriteAttr(X, Y: Longint; Var S; Len: Longint);
Пример:
s:='3A0B1C4D5E6F7 3';
WriteAttr(4,5,s,8);
В этом примере на экран, начиная с позиции курсора
(4,5), будут
выведены символы
А, B, C, D, E, F, окрашенные соответственно в
цвета
0, 1, 4, 5, 6, 7.