ТЕКСТОВЫЕ ОКНА_
WINDOW, CLS
Beta Basic располагает оператором, позволяющим организовать работу с текстовыми окнами:
WINDOW <номер окна>[;<х>,<у>,<ширина>,<высота>]
Этот оператор дает возможность открыть до 127 окон89. Параметрами оператора WINDOW задаются: индивидуальный <номер> окна, координаты левого верхнего угла окна в и и к гелях — <х> и <у> и его размеры в пикселях — <ширина) и <высота). Размеры окна округляются до значений, кратных четырем.
Оператор WINDOW с параметрами «по полной выкладке» только задает окна, не производя никаких других действий. Активизировать окно, то есть сделать его текущим, можно, выполнив оператор WINDOW с одним параметром:
WINDOW < номер окна >
После этого операторы PRINT и LIST будет выводить данные только в пределах текущего окна, причем за начало символьных координат — позицию печати (0, 0) — будет принят его левый верхний угол. Это означает, что каждое окно имеет независимую от основного экрана и от других окон нумерацию строк и столбцов.
Для каждого окна задаются свои постоянные атрибуты и свой размер символов. Все параметры окна запоминаются и при возврате к нему (объявлении окна текущим) восстанавливаются. Запоминается также и текущая позиция печати. Вновь открываемые окна по умолчанию имеют следующее состояние: PAPER 0, INK 7, CSIZE 8.
Размеры ранее заданного окна могут быть переопределены. Но смены формата окна не произойдет до тех пор, пока не будет выполнен оператор WINDOW < номер окна> (даже если окно в настоящий момент является текущим). Изменение геометрических параметров окна влечет за собой потерю текущей позиции печати: она возвращается в его левый верхний угол. Цветовое же решение окна при этом сохраняется.
После запуска Beta Basic располагает одним «готовым к употреблению» (заданным и активизированным) окном с номером 0. Оно занимает весь экран, и любая попытка изменить его размеры ни к чему не приведет90. При возврате в нулевое окно из других окон оно не восстанавливает ранее заданный в нем размер символов и постоянные атрибуты экрана и всякий раз с завидным упрямством предлагает стандартный набор: знакоместа 8x8 пикселей91 и «окрас» белым по черному.
Можно, не выходя из текущего окна, «почистить» любое другое открытое окно оператором
CLS < номер окна>
Для одновременного закрытия всех окон (кроме нулевого) выполняется оператор
WINDOW ERASE
Проиллюстрируем работу с окнами на примере: 10 CSIZE 5,9
20 WINDOW 1;121,175,132,175 30 WINDOW 2;0,175,120,175
40 WINDOW 1: PAPER 1: CLS: CSIZE 4,8: PRINT AT 0,0;"Window 1" 50 WINDOW 2: PAPER 2: CLS: PRINT AT 0,0;"Window 2" 60 WINDOW 1: LIST 10 TO 60 80 WINDOW 2: CLS 1: LIST 100 WINDOW 0: CLS: LIST
В ходе выполнения этой программы на экране одно за другим откроются два окна. В каждое из них поочередно будет выводиться текст символами разных размеров.