ЭЛЕКТРОННАЯ БИБЛИОТЕКА КОАПП
Сборники Художественной, Технической, Справочной, Английской, Нормативной, Исторической, и др. литературы.



 

Часть 7

                Опертатор COLOR (графический тип)
-----------------------------------------------------------------
Назначение  Опертатор COLOR графического  типа устанавливает цвет 
            при выполнении графическитх операций.

Синтаксис   Для SCREEN 1:  COLOR [background] [,[palette]]
                ЭКРАНа     ЦВЕТ  [фоновый]      [набор]

         Для SCREENs 7,8,9,10: COLOR [foreground] [,[background]]
             ЭКРАНов 7,8,9,10  ЦВЕТ  [основной]     [фоновый]

Комментарий    background это целое выражение в диапазоне от 0 до 
                          63,  определяющее цвет фона на  котором 
                          высвечиваются символы и строятся графи-
                          ческие объекты;  

               palette    это целое выражение в диапазоне от 0 до
                          1, которое выбирает один из двух цвето-
                          вых наборов;



               foreground это целое выражение в диапазоне от 1 до 
                          15, которое определяет основной цвет, 
                          т.е. цвет, которым высвечиваются симво-
                          лы и графические объекты. 

                      ..
                        ..
                          ..
                            ..
                              ..
                                ..
                                  ..
                                    ..
                                      ..
                                        ..
                                          ..
                                            ..
                                              ..
                                                ..
                                                  ..
                                                    ..



           -----------------------------------------
            ЦВЕТ      Набор 0        Набор 1
           -----------------------------------------
             1        зеленый      зелено-голубой  
             2        красный      пурпурно-красный
             3        коричневый   белый
           -----------------------------------------

                   ЭКРАН 7 и 8

               Только EGA. Цвета зависят от текущего набора. 
               Основной цвет 1 -15.  Выбранный цвет  используется 
            при написании символов и построении графиков.
               Фонофый цвет 0 -15. Выбирает цвет фона на котором 
            пишутся символы и строятся графики.

                   ЭКРАН 9

               Основной цвет 1 -15.  Выбранный цвет  используется 
            при написании  текста  и построении графиков. Если в
            вашем EGA только 64К памяти для установки цвета поль-
            зуйтесь значениями из диапазона 1- 3.
               Фонофый цвет 0 -63. Выбирает цвет фона на котором 
            пишутся символы и строятся графики.

                   ЭКРАН 10

               Основной  цвет 1 - 3.  Выбранный цвет используется 
            при написании текста и построении графиков.  
               1 = черный,  2 = слабый,  3 = интенсивный.
               Использование 0 для  основного  цвета  приводит  к 
            ошибке  "Illegal  Function Call" ("Неправильный вызов 
            функции").  
               Для изменения атрибутов по умолчанию используйте 
            оператор PALETTE.
               Фонофый цвет 0 -63. Выбирает цвет фона.
               Примечание: 0 является фоновыфм цветом для любого 
            набора цветов, определенного в данном операторе, ос-
            новной цвет по умолчанию устанавливается с максималь-
            ным значением.

Ограничения    В режиме ЭКРАНа 2 оператор COLOR приводит к ошибке 
            выполнения 5 "Illegal Function  Call"  ("Неправильный 
            вызов функции").  

Пример         'Данная  программа  демонстрирует работу оператора 
            COLOR в графическом режиме.

               'Переключить экран в графический режим со средней
            'разрешающей спрособностью и установить цветовой на- 
            'бор 0
                  SCREEN 1
                  COLOR ,0
            FOR Radius% = 1 to 20  'увеличить размер круга
            Color% =  Radius% MOD 4 'вычислить цвет дисплея
            CIRCLE (160,100), Radius%, Color%  'показать на экране
            NEXT Radius%       'круг с центром в точке 250.150

            delay 2
                   COLOR  ,1   'изменить набор цветов

            delay 2

                   'установить набор цветов и фоновый цвет,
                   'очистить экран

                   COLOR 6,1:CLS

                  'построить красный кртуг в середине экрана

            CIRCLE (160,100), 50, 2

            delay 2
                    END

                Опертатор COLOR (текстовый тип)
-----------------------------------------------------------------
Назначение  Опертатор COLOR устанавливает текстовый цвет.

Синтаксис   COLOR [foreground] [,[background] [,[border]]
            ЦВЕТ  [основной]     [фоновый]      [граница]  

Комментарий    foreground  это  целочисленное выражение  от 0 до 
                           31, определяющее цвет символов;

               background  это  целочисленное выражение  от 0 до 
                           7, определяющее цвет фона;

               border      это  целочисленное выражение  от 0 до 
                           15, определяющее цвет на границе ос- 
                           новного и фонового цветов.

               Если какой-либо из названных параметров выйдет за 
            пределы указанных диапазонов произойдет ошибка вы-
            полнения 5 "Illegal Function  Call"  ("Неправильный 
            вызов функции").

               Для стандартных видеодек типа C/G (Цвет/Графика) 
            ваш выбор основных цветов должен быть следующим:

            0 - черный               8 - серый
            1 - синий                9 - голубой
            2 - зеленый             10 - светлозеленый
            3 - зелено-голубой      11 - светлозелено-голубой
            4 - красный             12 - светлокрасный
            5 - пурпурно-красный    13 - светлопурпурно-красный
            6 - коричневый          14 - желтый
            7 - белый               15 - интенсивно белый

               Символы могут мигать на экране, для этого необхо- 
            димо установить параметр основного цвета увеличенным 
            на 16. Например, если установим  foreground = 22, то
            получим мигающие коричневые символы  (22 = 6 + 16).

               В случае монохромных адаптеров,  которые  не  дают 
            цветного  изображения,  соответствующие  значения для 
            установки основного цвета интерпретируются  следуюшим 
            образом: 

            0 -     черный
            1 -     подчеркивание
            2-7 -   белый
            8 -     черный
            9 -     интенсивное подчеркивание
           10-15 -  интенсивный
           16 -     черный
           17 -     подчеркивание черным цветом
           18-23 -  мигание
           24 -     черный
           25 -     высокая интенсивность подчеркивания, мигание
           26-31 -  высокая интенсивность, мигание

               Значения фонового цвета от 0 до 6 при монохромном 
            адаптере дают черный фон, 7 - белый.
               Усовершенствованные  графические  адаптеры (EGA) и 
            Видео-графические адваптеры (VGA) с усовершенствован-
            ными мониторами позволяют использовать 16  цветов  из 
            набора в 64 цвета (см. PALETTE).  

Ограничения    Пограничный параметр не дает эффекта в случае  EGA 
            или VGA с усовершенствованным монитором.

Пример      'Данная прграмма демонстрирует оператор COLOR  как  в
            'текстовом, так и в графическом режиме.

                    'показать на экране таблицу атрибутов
            FOR Back% = 0 to 7
               FOR Fore% = 0 to 15
                    COLOR Fore%, Back%
                  PRINT USING " ### ";Back%*16+Fore%;
               NEXT Fore%
                  PRINT
            NEXT Back%

                  PRINT

            FOR Back% = 0 to 7      'показать на экране таблицу
                                    'всех атрибутов c миганием
               FOR Fore% = 16 TO 31 
                    COLOR Fore%, Back%   'установить цвет экрана
                  PRINT USING " ### ";Back%*16+Fore%-16;
               NEXT Fore%
                  PRINT
            NEXT Back%

            END

                         Оператор  COM(n)
-----------------------------------------------------------------

Назначение  Оператор   COM(n)   управляет  срабатыванием  ловушки 
            серийных портов.  

Синтаксис   COM(n){ON/OFF/STOP}

Комментарий      n - есть номер коммуникационного  адаптера,  где 
            применяется ловушка (1 или  2).  Оператор  COM(n)  ON 
            позволяет  применять  ловушку  при  помощи программы, 
            описанной в операторе ON COM(n).  После COM(n)  ON  , 
            Турбо  Бейсик  проверяет выполнение каждого оператора 
            для  выяснения  поступления   знаков   на   указанный 
            серийный порт Если выясняется, что такое срабатывание 
            произошло,  он  вызывает  описанную  в  операторе  ON 
            COM(n) подпрограмму.  
               Если COM(n) находится в OFF, активность в серийном 
            порте  игнорируется.  Прерывание  связи  прекращается 
            после оператора COM(n) STOP; однако, любая активность 
            запоминается, в случае выполнения оператора COM(n) ON 
            происходит   незамедлительное  срабатывание  ловушки.  
            Для увеличения  или  уменьшения  размера  буфера  COM 
            используйте метаоператор $COM .  

См.также    ON COM(n)

Пример
            'Демонстрируется оператор  COM(n). Примечание.
            'Данная программа ничего не покажет, если ваш
            'port COM1  не получит ввода
            'установите программу для обработки ввода COM ON COM(1)
                   GOSUB GetCominput
            'назначить  массив в 5к для сохранения ввода 
                   DIM ComPortinput (5 * 1024)
            'назначить   указатель   (поинтер)  в  следующее  доступное
             пространство буфера
                   HeadPtr%=0
            'включить включатель  COM
                   COM(1) ON
            'установить буфер ввода в 1К
                   $COM1 1024
            'открыть переменную файла COM1
                   OPEN "com1" AS # 1
             PRINT "Press any key to terminate the program..."
            'пока не нажата клавиша
                     WHILE NOT INSTANT
            'если буфер не пустой
                   IF TailPtr% <> HeatPtr% THEN
            'показать ввод.
            
            PRINT "COM Port input: ";ComPortInput (TailPtr%)
            'перейти к следующей ячейке буфера
                  TailPtr% = TailPtr% + 1
             END IF
             LOCATE 2,1
             PRINT TIME$
            WEND
          END       'конец программы
             
                GetComInput:  'обработать прерывание порта  COM
            'считать ввод с буфера порта  COM
                INPUT# 1,ComPortInput (HeadPtr%)
            'указать следующее пространство буфера
                HeadPtr% = HeadPtr% + 1
            RETURN
                  END of input    'конец ввода порта  COM
                PRINT "Reached the end of input..."
          END       'закончить программу

                         функция COMMAND$  
-----------------------------------------------------------------
Назначение  функция COMMAND$ возвращает командную строку, исполь- 
            зуемую для запуска прграммы с DOS.

Синтаксис   s$ = COMMAND$

Комментарий    функция COMMAND$ возвращает все,  что было введено
            на подсказке DOS в процессе вызова прграммы,  за  ис-
            ключением  самого  имени программы (иногда этот текст 
            называют "трейлером" <"trailer">).  
               Используйте  функцию COMMAND$ для сбора аргументов 
            выполнения программы таких,  как имена файлов  и  фа-
            культативные  (подгружаемые)  программы.   Нрапример, 
            рассмотрим введенную в ответ на подсказку  DOS  такую 
            команду: 

               FASTSORT cust.dta cust.new 

            где  FASTSORT представляет собой прграммный файл .EXE 
            типа,  созданный средствами ТУРБО БЕЙСИКа.  Когда уп- 
            равление  будет передано программе FASTSORT,  то фун-
            кция COMMAND$ будет удерживать все что  было  введено 
            по подсказке DOS после самого имени программы,  в на-
            шем случае это строка: "cust.dta cust.new". Определе-
            ние FASTSORT решает,  что делать с этой строкой (воз- 
            можно  функция  COMMAND$ будет прервана в файле,  имя 
            которого стоит первым, и в файле,  имя которого стоит 
            вторым; и содержимое первого файла будет в отсортиро-
            ванном виде передано второму файлу).  
               Для проверки при помощи ТУРБО БЕЙСИКа  правильности работы программы , в которой применена функция COMMAND$, сле-
            дует использовать вариант