Процедура Window

Модуль CRT

Определяет на экране текстовое окно.

Объявление:

Procedure Window(X1, Y1, X2, Y2 : Byte);

Режим:

Protected,  Real

Замечание:

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, Read, Readln, Write и Writeln.

В переменных WindMin и WindMax хранятся текущие размеры окна. При обращении к процедуре Window, курсор всегда перемещается в позицию (1, 1).

Пример:

{Window.PAS}
 
 { Пример программы для процедуры Window }
 
 Uses Crt;
 
 Var X, Y : Byte;
 
 Begin
  TextBackground(Black);   { Очищаем экран }
  ClrScr;
  Repeat
   X:=Succ(Random(80));   { Рисуем произвольные окна }
   Y:=Succ(Random(25));
   Window(X, Y, X + Random(10), Y + Random(8));
   TextBackground(Random(16));   { Произвольными цветами }
   ClrScr;
  Until KeyPressed;
 End.