[an error occurred while processing this directive]

( ПРОДОЛЖЕНИЕ ) 

  5.2 Слова комплекта библиотек 

    5.2.1 Библиотека CRT 

      Координаты X, Y, если не указано считать относительными
      т.е. отсчитываемыми от лево- верх угла рабочего окна. 
      Если же указано АБСОЛЮТНЫЕ, то это означает, что 
      эти координаты отсчитываются от лево- верх угла экрана.
      Если координаты при выполнении слова НЕ являются до- 
      пустимыми, то слово просто игнорируется. 

Название Тип Комментарии и примеры 
********** * ************************************************
Border     А Вычерчивает заданную рамку по заданным координа-
             там( абсолютным ). Формат обращения: 
             LeftUpX LeftUpY RightBotX RightBotX BorderNo, 
             где BorderNо номер стандартной рамки 
Blue       C Код синего цвета 
Black      C Код черного цвета 
CountStr   A Подсчитать число строк в диапазоне адресов 
             Формат обращения: FromAdr ToAdr 
             Выход:            StrQ, 
             где StrQ- число строк в интервале 
ClrScr     A Очистить экран без изменения положения курсора 
Coff       F Выключить курсор 
DownKey    C Код кнопки "ВНИЗ" 
EscapeKey  C Код кнопки "ESCAPE" 
EnterKey   C Код кнопки "ВВОД" 
GetWindow  A Взять координаты( абсолютные ) текущего окна. 
             Выход: LeftUpX LeftUpY RightDownX RightDownY 
Green      C Код зеленого цвета 
GotoXY     A Перейти в окне по координатам на стеке. 
             Формат обращения: X Y 
GetPalette A Взять текущее значение палитры. 
             Выход: PaletteNo ( 0..3 ) 
GetColor   A Взять текущее значение цвета символов. 
             Выход: ColorNo ( 0..7 ) 
GetChar    A Взять символ с экрана по координатам( абсолютн.)
             Формат обращения: X Y 
             Выход:            SymbolCode 
             ( если Mode= Text32, то на стеке кроме символа 
             будет еще и атрибут символа ) 
GetScrAdr  A Взять адрес начала рабочего экрана( не окна! ) 
             Выход: ScreenBegAdr 
Home       F Перейти в лево- верх угол рабочего окна 
Inverse    A Установить инверсный атрибут вывода символов 
             в режиме 32*32 
LightBlue  C Код светло- синего цвета 
LeftKey    C Код кнопки "ВЛЕВО" 
Normal     A Установить нормальный атрибут вывода символов 
             в режиме 32*32 
PopWindow  A Восстановить из экранного стека область экрана, 
             запомненную ранее словом PushWindow. 
             Формат обращения: X Y ( абсолютные ) 
PopState   A Восстановить из экранного стека параметры окна, 
             сохраненные ранее словом PushState 
PushState  A Запомнить текущие параметры окна с экранном 
             стеке 
PushWindow A Сохранить область экрана по ее абсолютным 
             координатам в экранном стеке. 
             Формат обращения: 
             LeftUpX LeftUpY RightDownX RightDownY 
RightKey   C Код кнопки "ВПРАВО" 
Red        C Код красного цвета 
Screen     F Установить, очистить и показать страницу 
             вывода. 
             Формат обращения: PageNo ModeNo 
             Выход:            Удачно/нет 
              ПРИМЕЧАНИЕ: в текстовом режиме PageNo=0..1, 
                          в графике PageNo зависит от кол-ва 
                          памяти, взятых под графику. 
                          ModeNo= 0.. 3( 0..1 Text, осталь- 
                          ные графика ) 
ShowString A Показать на экране строку( до ВВОД или NULL ). 
             Формат обращения: StrAdr 
SSP!       A Сбросить экранный стек 
ShowList   C Показать во весь экран текстовый файл( до ВВОД 
             или NULL ) 
             Формат обращения: StrAdr 
ShowBorder A Показать свою рамку на экране. 
             Формат обращения: 
             LeftUpX LeftUpY RightDownX RightDownY BrdAdr, 
             где BrdAdr- адрес строки, задающей символы для 
             рамки( строка НЕ счетная ) 
             Рамка:  1222223 , где цифры- номера символов 
                     4     4   в строке рамки. 
                     4     4   т.е. для рамки  l---r 
                     7222225                   !   ! 
                                               !   ! 
                                               L---R 
                               строка описатель "l-r!RL" 
SetColor   A Установить цвет в режиме 32*32. 
             Формат обращения: ColorNo 
SetPalette A Установить палитру. 
             Формат обращения: PaletteNo 
SSP@       A Взять текущее значение указателя экранного стека
             Выход: CurrSP 
Search     A Ускать нужную строку в диапазоне адресов. 
             Форма обращения: ToAdr FromAdr StrAdr , 
             где StrAdr- адрес счетной строки 
SkipStr    A Пропустить нужное число строк, начиная от 
             адреса на стеке. 
             Формат обращения: TextAdr HowMuchStr, 
              где TextAdr- адрес обычной текстовой последо- 
              вательности. 
                  HowMuchStr- число строк для пропуска, 
              причем, если это число <0, то пропуск идет в 
              обратную сторону( это слово было введено для 
              BFEDITOR ). Символ ENTERKEY считается разде- 
              лителем строк, символ NULL считается концом 
              текста. 
             Выход: TextAdr' 
ToBegStr   F Перейти к началу текущей строки 
UpKey      C Код кнопки "ВВЕРХ" 
Violet     C Код фиолетового цвета 
Window     A Установить текущее окно вывода по абсолютным 
             координатам. 
             Формат обращения: 
              LeftUpX LeftUpY RightDownX RightDownY 
              После этого весь последующий вывод будет 
              идти в определенное так окно( курсор после вы- 
              полнения этого слова будет помещен в лево-верх)
White      C Код белого цвета 
Yellow     C Код желтого цвета 

    5.2.2 Библиотека STRINGS 

 Для всех функций данного пункта см.[ 4 ] 

¤Constant  ? Создать текстовую константу 
             Формат обращения: 
             ¤Constant MyGreating "Hi People!!" 
             ( при исполнении слово MyGreating выдает в стек 
             адрес начала строки "Hi People!!" ) 
¤Variable  ? Создать новую текстовую переменную 
             Формат обращения: 
             10 ¤Variable My- Создает массив из 10 байт 
¤Right     A Выделить правую часть строки на PAD и 
             выдать на стек PAD 
             Формат обращения: 
             MyGreating 4 ¤Right ( выделит на PAD строку 
             "Hi P" и выдаст на стек адрес этой строки ) 
             OUTS> Hi P 
¤"         A Выделить из потока ввода строку до " , 
             перенести ее на PAD и выдать адрес PAD 
             Формат обращения: 
             ¤" Hi Everebody!" OUTS> Hi Everybody! 
¤!         A Перенести строку по адресу 
             Формат обращения: 
             My MyGreating ¤!- Присвоит переменной My 
             значение константы MyGreating 
¤Left      A Выделить левую часть строки на PAD и выдать 
             на стек адрес PAD 
             Формат обращения: 
             MyGreating 4 ¤Left OUTS> le!! 
¤Compare   A Сравнить посимвольно две строки( 0 равны, 
             1 первая больше, -1 вторая больше ) 
             Формат обращения: 
             MyGreating ¤" Hi People!!"  ¤Compare .> 0 
             MyGreating ¤" Hi People!"   ¤Compare .> 1 
             MyGreating ¤" Hi People!!!" ¤Compare .> -1 
¤In        A Ввести с консоли строку в PAD( 16 символов ) 
             и выдает на стек адрес PAD 
             Формат обращения: ¤In 
¤+         A Сложить две строки, поместить на PAD и выдать на
             стек адрес PAD 
             Формат обращения: 
             MyGreating ¤" Fuck" ¤+ OUTS> Hi People!!Fuck 
¤Mid       A Вырезать середину из строки, поместить на PAD и 
             выдать адрес PAD 
             Формат обращения: 
             MyGreating 3 4 ¤Mid OUTS> Peop 
<Cmove     A Копировать массив со старших адресов 
Val        F Перевести счетную строку в число 
             Формат обращения: 1) ¤" 123" Val .>123 
                               2) ¤" 12," Val .>12 
                               3) ¤" primer" Val .>0 
¤Val       F Перевести ВСЮ счетную строку в число, если это 
             сделать нельзя, то флаг FALSE. 

след. файл-> bfgloss3.doc

[an error occurred while processing this directive]