Реклама:
Перейти на главную страницу

КЛЮЧЕВЫЕ СЛОВА ПРОГРАММИРОВАНИЯ QUICK BASIC


Программный разделКлючевые слова, включенные в этот список
Управляющие элементы программ DO...LOOP END EXIT FOR...NEXT IF...THEN...ELSE GOSUB...RETURN GOTO ON...GOSUB ON...GOTO SELECT CASE STOP SYSTEM
Описание констант и переменных CONST DATA DIM ERASE OPTION BASE READ REDIM REM RESTORE SWAP TYPE...END TYPE
Определение и вызов процедур Basic CALL DECLARE EXIT FUNCTION RUN SHELL SHARED STATIC SUB
Ввод/вывод CLS CSRLIN INKEY$ INP INPUT KEY (присваивание) LINE INPUT LOCATE LPOS LPRINT LPRINT USING OPEN COM OUT POS PRINT PRINT USING SPC функция SCREEN TAB VIEW PRINT WAIT WIDTH
Вывод графических изображений CIRCLE COLOR GET (графика) LINE PAINT PALETTE PCOPY PMAP POINT PRESET PSET PUT (графика) оператор SCREEN VIEW WINDOW
Команды системного файла DOS CHDIR KILL MKDIR NAME RMDIR
Ввод/вывод файла CLOSE EOF FILEATTR FREEFILE GET (файл в/вв) INPUT INPUT$ LINE INPUT LOC LOCK LOF OPEN PUT (в/вв файлов) функция SEEK оператор SEEK UNLOCK WRITE
Управление памятью CLEAR FRE PEEK POKE
Строковые функции ASC CHR$ HEX$ INSTR LCASE$ LEFT$ LEN LSET LTRIM$ функция MID$ оператор MID$ OCT$ RIGHT$ RSET RTRIM$ SPACE$ STR$ STRING$ UCASE$ VAL
Математические функции ABS ASC ATN CDBL CINT CLNG COS CSNG CVDMBF CVSMBF EXP INT LOG RANDOMIZE RND SGN SIN SQR TAN функция TIME$
Функция отладки программ COM ERDEV ERDEV$ ERL ERR ERROR KEY (отслеживание события) ON COM ON ERROR ON KEY ON PEN ON PLAY ON STRIG ON TIMER PEN PLAY (отслеживание события) RESUME RETURN STRIG функция TIMER оператор TIMER


ABS
SGN

функции
СПРАВКА: Функции ABS, SGN
ABS возвращает абсолютное значение числа.
SGN возвращает значение, указывающее знак числового выражения
(1 - если выражение положительно; 0 - если оно равно нулю; и -1, если оно отрицательно).

ABS(числовое_выражение)
SGN(числовое_выражение)
  • числовое_выражение - любое числовое выражение.
Пример:
PRINT ABS(45.5 - 100!) 'Вывод: 54.5
PRINT SGN(1), SGN(-1), SGN(0) 'Вывод: 1 -1 0
    AND
    NOT
    OR
    XOR
    EQV
    IMP

    операторы
    СПРАВКА: Булевые Операции
    Знаки булевых операций выполняют манипуляции битами, булевые операции или проверку многократных отношений. Они возвращают значение "истина" (не-ноль) или "ложь" (ноль), которое используется при принятии решения.
    результат = выражение1 булева_операция выражение2
    • булева_операция - любая из следующих булевых операций:
      NOT - отрицание;
      AND - конъюнкция;
      OR - дизъюнкция (включающее "или");
      XOR - исключающее "или";
      EQV - эквивалентность;
      IMP - импликация.
    • Каждая операция возвращает результат, как это приведено в следующей таблице истинности.
      И - "истина" (не-ноль); Л -ложь (ноль).
      Выражение1Выражение2NOTANDORXOREQVIMP
      ИИЛИИЛИИ
      ИЛЛЛИИЛЛ
      ЛИИЛИИЛИ
      ЛЛИЛЛЛИЛ
    • Булевые операции выполняются после арифметических и операций отношений, в восходящем порядке.
    • Перед выполнением булевых операций выражения переводятся в целые или длинные целые.
    • Если выражение равно 0 или -1, то в результате, булева операция возвращает 0 или -1. Поскольку булевы операции выполняют поразрядные вычисления, использование значений, отличных от 0 для "ложь" и -1 для "истина", может привести к неожиданным результатам.
    APPEND
    BINARY
    INPUT
    OUTPUT
    RANDOM

    ключевые слова
    СПРАВКА: Оператор OPEN Режимы Файла
    Ключевые слова APPEND, BINARY, INPUT, OUTPUT и RANDOM используются в операторе OPEN для указания режимов. Кроме того, INPUT, OUTPUT и RANDOM используются в операторе OPEN COM.
    • APPEND указывает, что файл должен быть открыт для последовательного вывода, и устанавливает указатель файла в конец файла. В этом случае операторы PRINT # или WRITE # дополняют файл.
    • BINARY указывает бинарный режим файла. В бинарном режиме Вы можете считывать или записывать информацию в позицию любого байта, используя операторы GET и PUT.
    • INPUT указывает, что файл открыт для последовательного ввода.
    • OUTPUT указывает, что файл открыт для последовательного вывода.
    • RANDOM указывает, что файл открыт в режиме прямого доступа к файлу. Этот режим устанавливается по умолчанию.
    AS
    ключевое слово
    СПРАВКА: Ключевое слово AS
    Выполняет разные функции как часть различных операторов:
    • Указывает тип переменной при использовании с операторами COMMON, DECLARE, DEF FN, DIM, FUNCTION, REDIM, SHARED, STATIC и SUB.
    • Указывает тип элемента в типе данных, определенных пользователем, при использовании с оператором TYPE.
    • Присваивает номер файла файлу или устройству при использовании с оператором OPEN.
    • Указывает имя поля при использовании с оператором FIELD.
    • Указывает новое имя файла при использовании с оператором NAME.
    ASC
    CHR$

    функции
    СПРАВКА: Функции ASC, CHR$
    ASC возвращает ASCII код первого символа в строковом выражении.
    CHR$ возвращает символ, соответствующий указанному коду ASCII.
    ASC(строк_выражение$)
    CHR$(ascii-код%)
    • строк_выражение$ - любое строковое выражение.
    • ascii-код% - код ASCII нужного символа.
    Пример:
    PRINT ASC("Q") 'Вывод: 81
    PRINT CHR$(65) 'Вывод: A
      ATN
      COS
      SIN
      TAN

      функции
      СПРАВКА: Функции ATN, COS, SIN, TAN
      ATN возвращает арктангенс указанного числового выражения.
      COS, SIN и TAN возвращают косинус, синус и тангенс указанного угла.
      ATN(числ_выражение)
      COS(угол)
      SIN(угол)
      TAN(угол)
      • числ_выражение - отношение сторон правильного треугольника.
      • угол - угол в радианах.
      • Функция ATN возвращает угол в радианах.
      • Для перевода градусов в радианы умножьте градусы на (PI / 180).
      Пример:
      CONST PI=3.141592654
      PRINT ATN(TAN(PI/4.0)), PI/4.0 'Вывод: .7853981635 .7853981635
      PRINT (COS(180 * (PI / 180))) 'Вывод: -1
      PRINT (SIN(90 * (PI / 180))) 'Вывод: 1
      PRINT (TAN(45 * (PI / 180))) 'Вывод: 1.000000000205103
        BEEP
        оператор
        СПРАВКА: Оператор BEEP
        Генерирует звуковой сигнал через динамик компьютера.
        BEEP
          BSAVE
          BLOAD

          операторы
          СПРАВКА: BSAVE, BLOAD Операторы
          BSAVE копирует содержимое области памяти в файл.
          BLOAD загружает файл, созданный BSAVE, в память.
          BSAVE файл_спец$, смещение%, длина&
          BLOAD файл_спец$[,смещение%]
          • файл_спец$ - для BSAVE - файл, в который байт за байтом будет скопирована область памяти. Для BLOAD - файл образа памяти, созданный предыдущим BSAVE.
          • смещение% - для BSAVE - смещение начального адреса области памяти, которую Вы хотите сохранить. Для BLOAD - смещение начального адреса области памяти, в которую будут загружены данные.
          • длина& - число байтов для копирования (от 0 до 65535).
          • Начальный адрес области памяти для сохранения или загрузки определяется смещением начального адреса (offset) и последним оператором DEF SEG.
          CALL
          оператор
          СПРАВКА: Оператор CALL
          Передает управление в процедуру типа SUB.
          [CALL] имя [([аргументы])]
          • имя - имя вызываемой процедуры типа SUB.
          • аргументы - переменные или константы передаваемые в процедуру SUB. Разделяйте аргументы запятыми. При указании аргументов массива введите имя массива и после него пустые скобки.
          • Если Вы опускаете ключевое слово CALL, то пропустите также скобки, в которые заключен список аргументов. Либо опишите процедуру в операторе DECLARE перед ее вызовом, либо сохраните программу и Qbasic автоматически сгенерирует оператор DECLARE.
          • При указании аргумента, чье значение не будет изменяться процедурой, заключите этот аргумент в скобки.
          CALL ABSOLUTE
          оператор
          СПРАВКА: Оператор CALL ABSOLUTE
          Передает управление в процедуру на языке Ассемблер.

          CALL ABSOLUTE ([аргументы,] смещение%)
          • аргументы - аргументы, переданные в процедуру на языке Ассемблер такие, как смещения относительно текущего сегмента данных.
          • смещение% - смещение от текущего кода сегмента, установленного DEF SEG, до выполнения процедуры.
          CALL ABSOLUTE
          оператор
          СПРАВКА: Оператор CALL ABSOLUTE
          Передает управление в процедуру на языке Ассемблер.
          CALL ABSOLUTE ([аргументы,] смещение%)
          • аргументы - аргументы, переданные в процедуру на языке Ассемблер такие, как смещения относительно текущего сегмента данных.
          • смещение% - смещение от текущего кода сегмента, установленного DEF SEG, до выполнения процедуры.
          CDBL
          CSNG

          функции
          СПРАВКА: Функции CDBL, CSNG
          CDBL переводит числовое выражение в значение с двойной точностью.
          CSNG переводит числовое выражение в значение с одинарной точностью.
          CDBL(числ_выражение)
          CSNG(числ_выражение)
          • числ_выражение - любое числовое выражение.
          Пример:
          PRINT 1 / 3, CDBL(1 / 3) 'Вывод: .3333333 .3333333333333333
          PRINT CSNG(975.3421515#) 'Вывод: 975.3422
            CHAIN
            оператор
            СПРАВКА: Оператор CHAIN
            Передает управление из текущей программы в другую программу Basic.
            CHAIN файл_спец$
            • файл_спец$ - имя программы, в которую передается управление.
            Пример:
            Предполагается, что программа M-QB.BAS находится в каталоге \DOS.
            CHAIN "C:\DOS\M-QB.BAS"
              CHDIR
              MKDIR
              RMDIR
              FILES

              операторы
              СПРАВКА: Операторы CHDIR, MKDIR, RMDIR, FILES
              CHDIR изменяет каталог устройства, принимаемый по умолчанию. MKDIR создает подкаталог. MRDIR удаляет подкаталог. FILES отображает содержимое текущего каталога или указанного каталога.
              CHDIR путь$
              MKDIR путь$
              RMDIR путь$
              FILES [файл_спец$]
              • путь$ - путь нового каталога, принимаемого по умолчанию, создаваемого подкаталога или удаляемого каталога.
              • файл_спец$ - имя файла или путь (может включать устройство и подстановочные символы DOS). Если Вы не указываете файл_спец$, то FILES отображает все файлы в текущем каталоге.
              Пример:
              'Для этого примера необходимо, чтобы существовал каталог C:\TMP.
              MKDIR "C:\TMP\TEST"
              CHDIR "C:\TMP"
              FILES
              RMDIR "TEST"
                CINT
                CLNG

                функции
                СПРАВКА: Функции CINT, CLNG
                CINT округляет числовое выражение до целого значения.
                CLNG округляет числовое выражение до длинного (4 байта) целого значения.
                CINT(числ_выражение)
                CLNG(числ_выражение)
                • числ_выражение - для CINT - любое числовое выражение в пределах от -32768 до 32767. Для CLNG - любое числовое выражение в пределах от -2147483648 до 2147483647.
                Пример:
                PRINT CINT(12.49), CINT(12.51) 'Вывод: 12 13
                PRINT CLNG(338457.8) 'Вывод: 338458
                  CIRCLE
                  оператор
                  СПРАВКА: Оператор CIRCLE
                  Рисует на экране окружности и эллипсы.
                  CIRCLE [STEP] (x!,y!),радиус![,[цвет%] [,[старт!] [,[конец!] [,аспект!]]]]
                  • STEP = указывает, что координаты задаются по отношению к текущей графической позиции курсора.
                  • (x!,y!) - координаты центра окружности или эллипса.
                  • радиус! - радиус окружности или эллипса в единицах текущей системы координат, определенной последними операторами SCREEN, VIEW и WINDOW.
                  • цвет% - атрибут цвета, устанавливающий цвет окружности. Допустимые атрибуты цвета зависят от Вашего графического адаптера и режима экрана, установленного последним оператором SCREEN.
                  • старт! - начальный угол дуги в радианах.
                  • конец! - конечный угол дуги в радианах.
                  • аспект! - отношение длины оси У к длине оси Х, используемое при изображении эллипсов.
                  • Для перевода градусов в радианы умножьте значение в градусах на (PI / 180).
                  Пример:
                  SCREEN 2
                  CIRCLE (320, 100), 200
                  CIRCLE STEP (0,0), 100
                    CLEAR
                    оператор
                    СПРАВКА: Оператор CLEAR
                    Закрывает все файлы, освобождает буферы файлов, очищает все общие переменные, устанавливает числовые переменные и массивы в ноль, устанавливает строковые переменные в ноль и инициализирует стек. Кроме того, CLEAR может изменять размер стека.
                    CLEAR [,,стек&]
                    • стек& - устанавливает размер (в байтах) стекового пространства для Ваших программ.
                    Пример:
                    CLEAR ,,2000
                      CLOSE
                      оператор
                      СПРАВКА: Оператор CLOSE
                      Закрывает один или несколько файлов или устройств.
                      CLOSE [[#]номер_файла%[,[#]номер_файла%]...]
                      • номер_файла% - номер открытого файла или устройства.
                      • CLOSE без аргументов закрывает все открытые файлы и устройства.
                      Пример:
                      CLS
                      INPUT "Введите имя файла: ", n$
                      OPEN n$ FOR OUTPUT AS #1
                      PRINT #1, "Это хранится в файле"
                      CLOSE
                      OPEN n$ FOR INPUT AS #1
                      INPUT #1, a$
                      PRINT "Чтение из файла: "; a$
                      CLOSE
                        CLS
                        оператор
                        СПРАВКА: Оператор CLS
                        Очищает экран.
                        CLS [{0 | 1 | 2}]
                        • CLS - очищает либо текстовую, либо графическую области просмотра. Если была установлена графическая область просмотра (с помощью VIEW), то очищает только графическую область просмотра. В противном случае, очищает текстовую область просмотра или весь экран.
                        • CLS 0 - полностью очищает экран, как текст, так и графику.
                        • CLS 1 - очищает графическую область просмотра или весь экран, если графическая область просмотра не была установлена.
                        • CLS 2 - очищает текстовую область просмотра.
                        COLOR
                        оператор
                        СПРАВКА: Оператор COLOR
                        Устанавливает цвета экрана.
                        COLOR [основной%] [,[фоновый%] [,граница%]]Режим экрана 0 (только текст)
                        COLOR [фоновый%] [,палитра%] Режим экрана 1
                        COLOR [основной%] Режимы экрана 4, 12, 13
                        COLOR [основной%] [,фоновый&] Режимы экрана 7-10
                        основной%
                        основной&
                        число, устанавливающее цвет переднего плана экрана. В режиме экрана 0 основной% - это атрибут цвета, устанавливающий цвет текста. В других режимах экрана основной% - это атрибут цвета или 4-битовое значение (только в режиме экрана 4), устанавливающие цвет текста и линий.
                        фоновый%
                        фоновый&
                        число, устанавливающее фоновый цвет экрана. В режиме экрана 0, фоновый% - это атрибут цвета. В режиме экрана 1, фоновый% - это 4-битовое значение. В режимах экрана 7-10, фоновый& - это значение цвета.
                        граница%Атрибут цвета, устанавливающий цвет границы экрана.
                        палитра%Число (0 или 1), указывающее какую из двух групп атрибутов цвета нужно использовать:
                        палитра%Атрибут 1Атрибут 2Атрибут 3
                        0 Зеленый Красный Коричневый
                        1 БирюзовыйМалиновыйЯрко-белый
                        • Допустимые атрибуты и значения цвета зависят от Вашего графического адаптера и режима экрана, установленного последним оператором SCREEN.
                        • Если в Вашей системе есть EGA, VGA или MCGA адаптер, используйте оператор PALETTE для изменения назначений цвета для атрибутов цвета.
                        Пример:
                        SCREEN 7
                        FOR i% = 0 TO 15
                             COLOR i%
                             PRINT i%
                        NEXT i%
                          COM
                          ON COM

                          операторы
                          СПРАВКА: Операторы COM, ON COM
                          COM включает, выключает или приостанавливает отслеживание событий в коммуникационном порту. При включенном отслеживании событий ON COM обращается к подпрограмме каждый раз, как только порт получает символы.
                          COM(n%) ON
                          COM(n%) OFF
                          COM(n%) STOP
                          ON COM(n%) GOSUB строка
                          • n% - номер COM (серийного) порта (1 или 2).
                          • COM(n%) ON - включает отслеживание коммуникационных событий.
                          • COM(n%) OFF - выключает отслеживание коммуникационных событий.
                          • COM(n%) STOP - приостанавливает отслеживание коммуникационных событий.
                            Событие обрабатывается при включении COM ON.
                          • строка - метка или номер первой строки подпрограммы отслеживания событий.
                          Пример:
                          COM(1) ON 'Включает отслеживание событий в порту 1
                          ON COM(1) GOSUB ComHandler
                          DO : LOOP WHILE INKEY$ = ""
                          COM(1) OFF
                          END

                          ComHandler:
                               PRINT "Что-то было введено с терминала, подключенного к COM1"
                               RETURN
                            COMMON
                            оператор
                            СПРАВКА: Оператор COMMON
                            Определяет глобальные переменные, которые могут быть использованы совместно несколькими программами или в цепочке программ.
                            COMMON [SHARED] переменные
                            • SHARED - обозначает, что переменные совместно используются всеми процедурами SUB и FUNCTION.
                            • переменные - одна или несколько переменных для совместного использования:
                              • перемен[( )] [AS тип] [, перемен[( )] [AS тип]]...
                              • перемен - имя переменной Basic. Имя переменной может быть длиной до 40 символов и должно начинаться с буквы. Допустимые символы: A-Z, 0-9 и точка (.).
                              • тип - тип данных переменной (INTEGER, LONG, SINGLE, DOUBLE, STRING или тип данных, определенный пользователем).
                            • Если массив не был специально описан в предыдущем операторе DIM как статический, то переменная массива в операторе COMMON является динамическим массивом. Его размеры должны быть установлены позже оператором DIM или REDIM.
                            CONST
                            оператор
                            СПРАВКА: Оператор CONST
                            Описывает одну или несколько символьных констант.
                            CONST имя_константы = выражение [,имя_константы = выражение]...
                            • имя_константы - ммя константы. Имя может состоять из максимум 40 символов и должно начинаться с буквы. Допустимыми символами являются: A-Z, 0-9 и точка (.).
                            • выражение - выражение, присваиваемое константе. Выражение может состоять из буквальных констант (например 1.0), других констант, любых арифметических и логических знаков операций, исключая возведение в степень (^), или одной строки литералов.
                            Пример:
                            CONST PI = 3.141593
                            INPUT "Радиус окружности: "; r
                            PRINT "Площадь = "; PI * r ^ 2
                              CSRLIN
                              POS

                              функции

                              LOCATE

                              оператор
                              СПРАВКА: Оператор LOCATE, Функции CSRLIN, POS
                              LOCATE перемещает курсор на экране в указанную позицию.
                              CSRLIN возвращает текущую позицию строки курсора.
                              POS возвращает текущую позицию столбца курсора.

                              LOCATE [row%] [,[column%] [,[curcor%] [,start% [,stop%]]]]
                              CSRLIN
                              POS(выражение)
                              • row% и column% - номер строки и столбца, куда перемещается курсор.
                              • cursor% - определяет режим отображения курсора: 0 = видимый, 1 = невидимый
                              • start% и stop% - целое выражение в пределах от 0 до 31, которое определяет первую и последнюю строки сканирования курсора. Вы можете изменить размер курсора посредством изменения строк сканирования курсора.
                              • выражение - любое выражение.
                              Пример:
                              CLS
                              LOCATE 5, 5
                              MyRow% = CSRLIN
                              MyCol% = POS(0)
                              PRINT "Позиция 1 (Нажмите любую клавишу)"
                              DO
                              LOOP WHILE INKEY$ = ""
                              LOCATE (MyRow% + 2), (MyCol% + 2)
                              PRINT "Позиция 2"
                                CVI, CVL
                                CVS, CVD
                                MKI$, MKL$
                                MKS$, MKD$

                                функции
                                СПРАВКА: Функции MKn$, CVn
                                MKI$, MKL$, MKS$ и MKD$ переводят числа в числовые строки, которые могут храниться в операторе строковых переменных FIELD. CVI, CVL, CVS и CVD переводят эти строки обратно в числа.
                                MKI$(целое_выражение%)
                                MKL$(длинное_целое_выражение&)
                                MKS$(выражение_одинарн_точности!)
                                MKD$(выражение_двойной_точности#)
                                CVI(2_байт_числ_строка)
                                CVL(4_байт_числ_строка)
                                CVS(4_байт_числ_строка)
                                CVD(8_байт_числ_строка)
                                ФункцияВозвращаетФункцияВозвращает
                                MKI$2 байт. строкуCVIЦелое
                                MKL$4 байт. строкуCVLДлинное целое
                                MKS$4 байт. строкуCVSЧисло одинарной точности
                                MKD$8 байт. строкуCVDЧисло двойной точности
                                  CVSMBF
                                  CVDMBF
                                  MKSMBF$
                                  MKDMBF$

                                  функции
                                  СПРАВКА: Функции MKSMBF$, MKDMBF$, CVSMBF, CVDMBF
                                  MKSMBF$ и MKDMBF$ переводят числа в формате IEEE в числовые строки бинарного формата (Microsoft-Binary-format), которые могут храниться в операторе строковых переменных FIELD.
                                  CVSMBF и CVDMBF переводят эти строки обратно в числа в формате IEEE.
                                  MKSMBF$(выражение_одинарн_точности!)
                                  MKDMBF$(выражение_двойной_точности#)
                                  CVSMBF (4_байт_числ_строка)
                                  CVDMBF (8_байт_числ_строка)

                                  ФункцияВозвращает
                                  MKSMBF$4 байт. строку, содержащую число в бинарном формате IBM.
                                  MKDMBF$8 байт. строку, содержащую число в бинарном формате IBM.
                                  CVSMBFЧисло одинарной точности в формате IEEE.
                                  CVDMBFЧисло двойной точности в формате IEEE.
                                  • Эти функции полезны для поддержки файлов данных, созданных более ранними версиями Basic.
                                  Пример:
                                  TYPE Buffer
                                       SngNum AS STRING * 4
                                       DblNum AS STRING * 8
                                  END TYPE
                                  DIM RecBuffer AS Buffer
                                  OPEN "TESTDAT.DAT" FOR RANDOM AS #1 LEN = 12
                                  SNum = 98.9
                                  DNum = 645.3235622#
                                  RecBuffer.SngNum = MKSMBF$(SNum)
                                  RecBuffer.DblNum = MKDMBF$(DNum)
                                  PUT #1, 1, RecBuffer
                                  GET #1, 1, RecBuffer
                                  CLOSE #1
                                  PRINT CVSMBF(RecBuffer.SngNum), CVDMBF(RecBuffer.DblNum)
                                    DATA
                                    READ
                                    RESTORE

                                    оператор
                                    СПРАВКА: Операторы DATA, READ, RESTORE
                                    DATA указывает значения для чтения последующими операторами READ.
                                    READ считывает эти значения и присваивает их переменным.
                                    RESTORE позволяет READ заново считать значения в указанном операторе DATA.

                                    DATA константа[,константа]...
                                    READ переменные
                                    RESTORE [строка]
                                    • константа - одна или несколько числовых или строковых констант, указывающих данные для чтения. Строковые константы, содержащие запятые, двоеточия, пробелы, должны быть заключены в кавычки (" ").
                                    • переменные - одна или несколько переменных, разделенных запятой, которым присваиваются значения данных. Имя переменной может быть до 40 символов длиной и должно начинаться с буквы. Допустимые символы: A-Z, 0-9 и точка (.).
                                    • строка - метка или номер строки оператора DATA. Если строка опущена, следующий оператор READ считывает значения из оператора DATA, стоящего в программе первым.

                                    • Операторы DATA могут быть введены только на модульном уровне. Они не могут использоваться в процедурах.
                                    Пример:
                                    FOR i% = 1 TO 3
                                         READ a%, b$
                                         PRINT a%, b$
                                         RESTORE
                                    NEXT i%
                                    DATA 1, "Повторить"
                                      DATE$
                                      функция/
                                      оператор
                                      СПРАВКА: Функция и Оператор DATE$
                                      Функция DATE$ возвращает текущую системную дату компьютера.
                                      Оператор DATE$ устанавливает текущую системную дату в Вашем компьютере.
                                      DATE$
                                      DATE$ = строк_выражение$
                                      • строк_выражение$ - дата в одном из следующих форматов: мм-дд-гг, мм-дд-гггг, мм/дд/гг, мм/дд/гггг.

                                      • Функция DATE$ возвращает строку в формате мм-дд-гггг.
                                      Замечание: DATE$ использует формат, принятый в США, для совместимости с другими версиями Basic. Пример:
                                      PRINT DATE$
                                      DATE$ = "04-09-2007" 'Замечание: Новая системная дата остается в силе, пока Вы cнова не измените ее.
                                      PRINT "Установленная дата "; DATE$
                                        DECLARE
                                        оператор
                                        СПРАВКА: Оператор DECLARE
                                        Описывает процедуру FUNCTION или SUB и выполняет проверку аргументов на соответствие типу данных.
                                        DECLARE {FUNCTION | SUB} имя [([параметры])]
                                        • имя - имя процедуры.
                                        • параметры - одна или несколько переменных, указывающих параметры, которые передаются в процедуру при ее вызове:
                                          • перемен[( )] [AS тип] [, перемен[( )] [AS тип]]...
                                          • перемен - имя переменной Basic.
                                          • тип - тип данных переменной (INTEGER, LONG, SINGLE, DOUBLE, STRING или тип, определенный пользователем). ANY допускает использование любого типа данных.
                                        • DECLARE необходим при вызове процедур SUB без использования CALL. QBasic автоматически добавляет оператор DECLARE при сохранении Вашей программы.
                                        DEF FN
                                        оператор
                                        СПРАВКА: Оператор DEF FN
                                        Определяет функцию.
                                        DEF FNимя[(параметры)] = выражение
                                        DEF FNимя[(параметры)]
                                                  [блок_операторов]
                                             FNимя = выражение
                                                  [блок_операторов]
                                             EXIT DEF
                                                  [блок_операторов]
                                             END DEF
                                        • параметры - один или несколько аргументов в следующем формате:
                                          • перемен[( )] [AS тип] [, перемен[( )] [AS тип]]...
                                          • перемен - имя переменной Basic.
                                          • тип - тип данных переменной (INTEGER, LONG, SINGLE, DOUBLE, STRING или тип данных, определенный пользователем).
                                        • выражение - возвращаемое значение функции.
                                        • Оператор FUNCTION позволяет определять функцию лучшим образом.
                                        DEF SEG
                                        оператор
                                        СПРАВКА: Оператор DEF SEG
                                        Устанавливает адрес текущего сегмента.
                                        DEF SEG [=адрес]
                                        • адрес - адрес сегмента, используемый BLOAD, BSAVE, CALL ABSOLUTE, PEEK или POKE; значение в пределах от 0 до 65535. Если адрес опущен, DEF SEG переустанавливает адрес текущего сегмента в сегмент данных, принимаемый по умолчанию.
                                        Пример:
                                        DEF SEG = 0
                                        Status% = PEEK(&H417) 'Считывает статус клавиатуры.
                                        POKE &H417, (Status% XOR &H40) 'Изменяет состояние Caps Lock, бит 6.
                                          DEFLNG
                                          DEFSNG
                                          DEFDBL
                                          DEFSTR

                                          операторы
                                          СПРАВКА: Операторы DEFтип
                                          Устанавливают тип данных по умолчанию для переменных, функций DEF FN и процедур FUNCTION.
                                          DEFINT обл_букв [,обл_букв]...
                                          DEFLNG обл_букв [,обл_букв]...
                                          DEFSNG обл_букв [,обл_букв]...
                                          DEFDBL обл_букв [,обл_букв]...
                                          DEFSTR обл_букв [,обл_букв]...
                                          • обл_букв - буква или область букв (например, A-M). QBasic устанавливает тип данных по умолчанию для переменных, функций DEF FN и процедур FUNCTION, имена которых начинаются с указанной буквы, в следующем порядке:
                                            ОператорТип данных по умолчанию
                                            DEFINTЦелый
                                            DEFLNGДлинное целое
                                            DEFSNGОдинарной точности
                                            DEFDBLДвойной точности
                                            DEFSTRСтроковый
                                          • Суффикс типа данных (%, &, !, # или $) всегда имеет преимущество над операторами DEFтип.
                                          • Одинарная точность - тип данных по умолчанию, если вы не указали операторов DEFтип.
                                          • После указания в программе оператора DEFтип QBasic автоматически вставляет соответствующий оператор DEFтип в каждую создаваемую Вами процедуру.
                                          Пример:
                                          DEFDBL A-Z
                                          a = SQR(3)
                                          PRINT "Квадратный корень 3 = "; a
                                            DIM
                                            REDIM

                                            операторы
                                            СПРАВКА: Операторы DIM, REDIM
                                            DIM описывает массив или указывает тип данных для переменных не массива.
                                            REDIM описывает или изменяет размер динамического массива, стирая все предыдущие значения.

                                            DIM [SHARED] переменная[(индекс)] [AS тип]
                                                                [,переменная[(индекс)] [AS тип]]...
                                            REDIM [SHARED] переменная(индекс) [AS тип]
                                                                [,переменная(индекс) [AS тип]]...
                                            • SHARED - указывает, что переменные используются совместно всеми процедурами SUB или FUNCTION в модуле.
                                            • переменная - имя переменной массива.
                                            • индекс - размеры массива в следующем виде:
                                              • [низ TO] верх [,[низ TO] верх]...
                                              • низ - нижняя граница индекса массива. По умолчанию нижняя граница равна нулю.
                                              • верх - верхняя граница.
                                            • AS тип - описывает тип данных массива или переменной (INTEGER, LONG, SINGLE, DOUBLE, STRING или тип данных, описанный пользователем).

                                            • DIM описывает либо статические, либо динамические массивы. Если область хранения массива не была описана в $STATIC, $DYNAMIC или COMMON, массивы, размер которых был задан в числах, являются статическими, а массивы, размер которых был задан в переменных - динамическими. REDIM всегда описывает динамические массивы.
                                            • Область хранения статического массива выделяется при запуске программы и остается постоянной. Область хранения динамического массива выделяется при работе программы.
                                            Пример:
                                            ' $DYNAMIC
                                            DIM A(49, 49)
                                            REDIM A(19, 14)
                                              DO...LOOP
                                              оператор
                                              СПРАВКА: Оператор DO...LOOP
                                              Повторяет блок операторов, пока условие верно, или до тех пор, пока условие не станет верным.
                                              DO [{WHILE | UNTIL} условие]
                                                   [блок_операторов]
                                              LOOP
                                              DO
                                                   [блок_операторов]
                                              LOOP [{WHILE | UNTIL} условие]
                                              • условие - числовое выражение, которое Basic оценивает как истинное (не-ноль) или ложное (ноль).
                                              Пример:
                                              i% = 0
                                              PRINT "Значение i% в начале цикла равно "; i%
                                              DO WHILE i% < 10
                                                   i% = i% + 1
                                              LOOP
                                              PRINT "Значение i% в конце цикла равно "; i%
                                                DOUBLE
                                                INTEGER
                                                LONG
                                                SINGLE
                                                STRING * n%
                                                STRING

                                                ключевые слова
                                                СПРАВКА: Ключевые слова типов данных
                                                Указывают тип данных для переменных в операторах описания и в списке параметров:
                                                • DOUBLE - 64-битовая переменная двойной точности с плавающей запятой.
                                                • INTEGER - 16-битовая целая переменная со знаком.
                                                • LONG - 32-битовая целая переменная со знаком.
                                                • SINGLE - 32-битовая переменная одинарной точности с плавающей запятой.
                                                • STRING * n% - строковая переменная фиксированной длины ( длина - n% байтов).
                                                • STRING - строковая переменная переменной длины.
                                                DRAW
                                                оператор
                                                СПРАВКА: Оператор DRAW
                                                Рисует объект.
                                                DRAW строка_команд$
                                                • строка_команд$ - строковое выражение, содержащее одну или несколько следующих команд DRAW.
                                                  Команды изображения линии и перемещения курсора:
                                                  D[n%]Перемещает курсор вниз на n% единиц.
                                                  E[n%]Перемещает курсор вправо-вверх на n% единиц.
                                                  F[n%]Перемещает курсор вправо-вниз на n% единиц.
                                                  G[n%]Перемещает курсор влево-вниз на n% единиц.
                                                  H[n%]Перемещает курсор влево-вверх на n% единиц.
                                                  L[n%]Перемещает курсор влево на n% единиц.
                                                  M[{+|-}]x%,y%Перемещает курсор в точку x%,y%. Если перед x% стоит + или -, перемещает относительно текущей точки.
                                                  R[n%]Перемещает курсор вправо на n% единиц.
                                                  U[n%]Перемещает курсор вверх на n% единиц.
                                                  [B]Необязательная приставка, которая перемещает курсор, не рисуя при этом.
                                                  [N]Необязательная приставка, которая рисует и возвращает курсор в первоначальную позицию.

                                                  Команды цвета, вращения и масштаба:
                                                  An%Поворачивает объект на n% * 90 градусов (n% можетбыть 0, 1, 2 или 3).
                                                  Cn%Устанавливает рисующий цвет (n% - атрибут цвета).
                                                  Pn1%,n2%Устанавливает цвет заполнения и границы объекта (n1% - атрибут цвета заполнения, n2% - атрибут цвета границы).
                                                  Sn%Определяет масштаб рисунка, устанавливая единицу длины перемещения курсора. По умолчанию n% равно 4, что эквивалентно 1 точке растра.
                                                  TAn%Поворачивает угол на n% градусов (от -360 до 360).

                                                • Если Вы опустили n% в командах изображения линии и перемещения курсора, курсор перемещается на 1 единицу.
                                                • Для выполнения подстроки команд DRAW из строки команд DRAW, используйте команду "X":

                                                  DRAW "X"+ VARPTR$(строка_команд$)
                                                Пример:
                                                SCREEN 1
                                                Triangle$ = "F60 L120 E60"
                                                DRAW "C2 X" + VARPTR$(Triangle$)
                                                DRAW "BD30 P1,2 C3 M-30,-30"
                                                  $DYNAMIC
                                                  $STATIC

                                                  метакоманды
                                                  СПРАВКА: Метакоманды $DYNAMIC, $STATIC
                                                  Устанавливают область хранения массивов по умолчанию.

                                                  {REM | '} $STATIC
                                                  {REM | '} $DYNAMIC
                                                  • {REM | '} - REM или символ апострофа (') должен стоять перед метакомандами.
                                                  • $STATIC - указывает, что массивы, описанные в последовательности операторов DIM, являются статическими массивами (если только они не были описаны в нестатических процедурах SUB или FUNCTION). Область хранения массива выделяется при запуске программы и остается постоянной.
                                                  • $DYNAMIC - указывает, что массивы, описанные в последовательности операторов DIM, являются динамическими массивами. Область хранения массива выделяется динамично при работе программы.
                                                  • Обычно DIM или REDIM предоставляют более удобный способ описания того, является ли массив динамическим или статическим.
                                                  END
                                                  оператор
                                                  СПРАВКА: Оператор END
                                                  Заканчивает программу, процедуру, блок или тип данных, определенный пользователем.
                                                  END [{DEF | FUNCTION | IF | SELECT | SUB | TYPE}]
                                                  • DEF - заканчивает, состоящее из нескольких строк, определение функции DEF FN.
                                                  • FUNCTION - заканчивает определение процедуры типа FUNCTION.
                                                  • IF - заканчивает блок оператора IF...THEN...ELSE.
                                                  • SELECT - заканчивает блок SELECT CASE.
                                                  • SUB - заканчивает процедуру типа SUB.
                                                  • TYPE - заканчивает определение типа данных, определенных пользователем.

                                                  • Если аргумент не указан, то END завершает программу и закрывает все файлы.
                                                  Пример:
                                                  PRINT "GAME OVER!"
                                                  END
                                                    ENVIRON
                                                    оператор

                                                    ENVIRON$
                                                    Функция
                                                    СПРАВКА: Функция ENVIRON$, Оператор ENVIRON
                                                    ENVIRON$ возвращает строку среды DOS.
                                                    ENVIRON изменяет или добавляет строку среды в таблицу среды DOS.

                                                    ENVIRON$ (переменная_среды$)
                                                    ENVIRON$ (n%)
                                                    ENVIRON строк_выражение$
                                                    • переменная_среды$ - имя переменной среды DOS.
                                                    • n% - указывает, что ENVIRON$ возвращает n строк из таблицы строк среды.
                                                    • строк_выражение$ - имя или установка переменной среды DOS (например, PATH или PROMPT) в одном из следующих форматов:
                                                      • переменная_среды$=строка_среды$
                                                      • переменная_среды$ строка_среды$

                                                    • Изменения, сделанные оператором ENVIRON, удаляются по окончании работы QBASIC.
                                                    Пример:
                                                    ENVIRON "PATH=TEST"
                                                    PRINT ENVIRON$("PATH")
                                                      EOF
                                                      функция
                                                      СПРАВКА: Функция EOF
                                                      Проверка конца файла. EOF возвращает "истинно" (не ноль) при достижении конца файла.
                                                      EOF(номер_файла%)
                                                      • номер_файла% - номер открытого файла.
                                                      Пример:
                                                      CLS
                                                      OPEN "ТЕСТ.ДАН" FOR OUTPUT AS #1
                                                      FOR i% = 1 TO 10
                                                           WRITE #1, i%, 2 * i%, 5 * i%
                                                      NEXT i%
                                                      CLOSE #1
                                                      OPEN "ТЕСТ.ДАН" FOR INPUT AS #1
                                                      DO
                                                           LINE INPUT #1, a$
                                                           PRINT a$
                                                      LOOP UNTIL (EOF(1))
                                                        ERASE
                                                        оператор
                                                        СПРАВКА: Оператор ERASE
                                                        Переинициализирует элементы массива или освобождает область хранения динамического массива.
                                                        ERASE имя_массива [,имя_массива]...
                                                        • имя_массива - имя массива.
                                                        • Для статических массивов, ERASE устанавливает каждый элемент числового массива в ноль, а каждый элемент строкового массива в строку нулевой длины.
                                                        • Для динамических массивов, ERASE освобождает память, используемую массивом. Вам придется заново описать размеры массива в REDIM или DIM прежде, чем использовать его.
                                                        Пример:
                                                        DIM a%(0)
                                                        a%(0) = 6
                                                        PRINT "До : "; a%(0)
                                                        ERASE a%
                                                        PRINT "После: "; a%(0)
                                                          ERDEV
                                                          ERDEV$

                                                          функции
                                                          СПРАВКА: Функции ERDEV, ERDEV$
                                                          ERDEV возвращает код ошибки от последнего устройства, выдавшего критическую ошибку.
                                                          ERDEV$ возвращает имя устройства, выдавшего эту ошибку.
                                                          ERDEV
                                                          ERDEV$
                                                          • Младший байт значения, возвращаемого ERDEV, содержит код ошибки DOS.Старший байт содержит информацию об устройстве.
                                                          Пример:
                                                          'Иллюстрирует использование ERDEV, ERDEV$, ERL, ERR, ERROR, ON ERROR и RESUME.
                                                          ON ERROR GOTO Handler
                                                          10 CHDIR "a:\" 'Обнаружение ОШ. 71 "Нет готовности диска," если нет диска в дисководе A
                                                          20 y% = 0
                                                          30 x% = 5 / y% 'ОШ. 11 "Деление на ноль"
                                                          40 PRINT "x% ="; x%
                                                          50 ERROR 57 'ОШ. 57 "Ошибка В/ВВ на устройстве"

                                                          Handler:
                                                          PRINT
                                                          PRINT "Ошибка "; ERR; " в строке "; ERL
                                                          SELECT CASE ERR
                                                               CASE 71
                                                                    PRINT "Используемое устройство "; ERDEV$;
                                                                    PRINT " Код ошибки устройства = "; ERDEV
                                                                    RESUME NEXT
                                                               CASE 11
                                                                    INPUT "Введите новое значение для делителя: "; y%
                                                                    RESUME ' Повторяет выполнение строки 30 с новым значением для y%

                                                               CASE ELSE
                                                                    PRINT "Нераспознанная ошибка, завершение программы"
                                                                    END
                                                          END SELECT
                                                            ERR
                                                            ERL

                                                            функции
                                                            СПРАВКА: Функции ERR, ERL
                                                            ERR возвращает код ошибки выполнения для последней ошибки.
                                                            ERL возвращает номер строки, в которой обнаружена ошибка, или последний установленный номер строки перед строкой, где была обнаружена ошибка.
                                                            ERR
                                                            ERL
                                                            • ERL не возвращает метку строки. Если нет номеров строк в программе, ERL возвращает 0.
                                                            Пример:
                                                            'Иллюстрирует использование ERDEV, ERDEV$, ERL, ERR, ERROR, ON ERROR и RESUME.
                                                            ON ERROR GOTO Handler
                                                            10 CHDIR "a:\" 'Обнаружение ОШ. 71 "Нет готовности диска," если нет диска в дисководе A
                                                            20 y% = 0
                                                            30 x% = 5 / y% 'ОШ. 11 "Деление на ноль"
                                                            40 PRINT "x% ="; x%
                                                            50 ERROR 57 'ОШ. 57 "Ошибка В/ВВ на устройстве"

                                                            Handler:
                                                            PRINT
                                                            PRINT "Ошибка "; ERR; " в строке "; ERL
                                                            SELECT CASE ERR
                                                                 CASE 71
                                                                      PRINT "Используемое устройство "; ERDEV$;
                                                                      PRINT " Код ошибки устройства = "; ERDEV
                                                                      RESUME NEXT
                                                                 CASE 11
                                                                      INPUT "Введите новое значение для делителя: "; y%
                                                                      RESUME ' Повторяет выполнение строки 30 с новым значением для y%

                                                                 CASE ELSE
                                                                      PRINT "Нераспознанная ошибка, завершение программы"
                                                                      END
                                                            END SELECT
                                                              ERROR
                                                              оператор
                                                              СПРАВКА: Оператор ERROR
                                                              Эмулирует ошибку Basic или ошибку, определенную пользователем.
                                                              ERROR выражение%
                                                              • выражение% - код ошибки Basic или ошибки, определенной пользователем; значение в интервале от 1 до 255. Для определения собственного кода ошибки используйте значения, которых нет в таблице "Коды ошибок выполнения":
                                                              1 - NEXT без FOR
                                                              2 - синтаксическая ошибка
                                                              3 - RETURN без GOSUB
                                                              4 - нет данных
                                                              5 - неверный вызов функции
                                                              6 - переполнение
                                                              7 - не хватает памяти
                                                              8 - метка не определена
                                                              9 - индекс вне режима
                                                              10 - повторяющееся определение
                                                              11 - деление на ноль
                                                              12 - ошибка в режиме управления
                                                              13 - ошибка ввода
                                                              14 - в строке нет места
                                                              16 - слишком сложная строковая формула
                                                              17 - невозможно продолжить
                                                              18 - функция не определена
                                                              19 - нет RESUME
                                                              20 - RESUME без ошибки
                                                              24 - устройство в тайм-ауте
                                                              25 - ошибка устройства
                                                              26 - FOR без NEXT
                                                              27 - нет бумаги
                                                              29 - WHILE без WEND
                                                              30 - WEND без WHILE
                                                              33 - повторяющаяся метка
                                                              35 - подпрограмма не определена
                                                              37 - ошибка счетчика аргументов
                                                              38 - массив не определен
                                                              40 - необходима переменная
                                                              50 - переполнение FIELD
                                                              51 - внутренняя ошибка
                                                              52 - плохое имя файла/плохой номер
                                                              53 - файл не найден
                                                              54 - плохой режим файла
                                                              55 - файл уже открыт
                                                              56 - оператор FIELD активен
                                                              57 - ошибка в/вв устройства
                                                              58 - файл уже существует
                                                              59 - неверная длина записи
                                                              61 - диск заполнен
                                                              62 - ошибка: введен конец файла
                                                              63 - неверный номер записи
                                                              64 - плохое имя файла
                                                              67 - слишком много файлов
                                                              68 - устройство недоступно
                                                              69 - переполнение буфера коммуникации
                                                              70 - нет разрешения
                                                              71 - ошибка формата диска
                                                              72 - ошибка диска
                                                              73 - недоступная возможность
                                                              74 - переименование через диски
                                                              75 - ошибка доступа к пути/файлу
                                                              76 - путь не найден
                                                              Пример:
                                                              'Иллюстрирует использование ERDEV, ERDEV$, ERL, ERR, ERROR, ON ERROR и RESUME.
                                                              ON ERROR GOTO Handler
                                                              10 CHDIR "a:\" 'Обнаружение ОШ. 71 "Нет готовности диска," если нет диска в дисководе A
                                                              20 y% = 0
                                                              30 x% = 5 / y% 'ОШ. 11 "Деление на ноль"
                                                              40 PRINT "x% ="; x%
                                                              50 ERROR 57 'ОШ. 57 "Ошибка В/ВВ на устройстве"

                                                              Handler:
                                                              PRINT
                                                              PRINT "Ошибка "; ERR; " в строке "; ERL
                                                              SELECT CASE ERR
                                                                   CASE 71
                                                                        PRINT "Используемое устройство "; ERDEV$;
                                                                        PRINT " Код ошибки устройства = "; ERDEV
                                                                        RESUME NEXT
                                                                   CASE 11
                                                                        INPUT "Введите новое значение для делителя: "; y%
                                                                        RESUME ' Повторяет выполнение строки 30 с новым значением для y%

                                                                   CASE ELSE
                                                                        PRINT "Нераспознанная ошибка, завершение программы"
                                                                        END
                                                              END SELECT
                                                                EXIT
                                                                оператор
                                                                СПРАВКА: Оператор EXIT
                                                                Выход из цикла DO или FOR, процедуры типа FUNCTION или SUB, или функции типа DEF FN.
                                                                EXIT {DEF | DO | FOR | FUNCTION | SUB}
                                                                • DEF - выход из функции типа DEF FN.
                                                                • DO - выход из цикла DO.
                                                                • FOR - выход из цикла FOR.
                                                                • FUNCTION - выход из процедуры типа FUNCTION.
                                                                • SUB - выход из процедуры типа SUB.
                                                                Пример:
                                                                i% = 0
                                                                DO
                                                                     i% = i% + 1
                                                                     IF i% = 500 THEN EXIT DO
                                                                LOOP
                                                                PRINT "ВЫХОД (EXIT) при"; i%
                                                                  EXP
                                                                  LOG

                                                                  функции
                                                                  СПРАВКА: Функции EXP, LOG
                                                                  EXP возвращает e, возведенное в указанную степень, где e - основание натурального логарифма.
                                                                  LOG возвращает натуральный логарифм числового выражения.
                                                                  EXP(числ_выражение)
                                                                  LOG(числ_выражение)
                                                                  • числ_выражение - для EXP - число меньшее или равное 88.02969.
                                                                    Для LOG - любое положительное числовое выражение.
                                                                  Пример:
                                                                  PRINT EXP(0), EXP(1) 'Вывод: 1 2.718282
                                                                  PRINT LOG(1), LOG(EXP(1)) 'Вывод: 0 1
                                                                    FIELD
                                                                    оператор
                                                                    СПРАВКА: Оператор FIELD
                                                                    Отводит место под переменные в буфере файлов прямого доступа.
                                                                    FIELD [#]номер_файла%, ширина_поля% AS переменная$[,ширина_поля% AS переменная$] ...
                                                                    • номер_файла% - номер открытого файла.
                                                                    • ширина_поля% - число символов в поле.
                                                                    • переменная$ - переменная, идентифицирующая поле и содержащая данные поля.

                                                                    • Запись переменных обычно обеспечивает лучший способ для управления записью данных.
                                                                    Пример:
                                                                    OPEN "ФАЙЛДАН.ДАН" FOR RANDOM AS #1 LEN = 80
                                                                    FIELD #1, 30 AS name$, 50 AS address$
                                                                      FILEATTR
                                                                      функция
                                                                      СПРАВКА: Функция FILEATTR
                                                                      Возвращает информацию об открытом файле.
                                                                      FILEATTR(номер_файла%,атрибут%)
                                                                      • номер_файла% - номер открытого файла.
                                                                      • атрибут% - указывает тип возвращаемой информации. Если атрибут% равен 1, FILEATTR возвращает значение, указывающее режим доступа к файлу:
                                                                        ЗначениеРежим
                                                                        1Ввод
                                                                        2Вывод
                                                                        4Прямой
                                                                        8Добавление
                                                                        32Двоичный

                                                                        Если атрибут% равен 2, FILEATTR возвращает указатель файла DOS.
                                                                      Пример:
                                                                      OPEN "ТЕСТ.ДАН" FOR BINARY AS #1
                                                                      PRINT FILEATTR(1, 1)
                                                                      CLOSE
                                                                        FIX
                                                                        INT

                                                                        функции
                                                                        СПРАВКА: Функции FIX, INT
                                                                        FIX округляет выражение с плавающей запятой до его целой части.
                                                                        INT возвращает наибольшее целое, меньшее или равное числовому выражению.
                                                                        FIX(числ_выражение)
                                                                        INT(числ_выражение)
                                                                        • числ_выражение - любое числовое выражение.
                                                                        Пример:
                                                                        PRINT FIX(12.49), FIX(12.54) 'Вывод: 12 12
                                                                        PRINT INT(12.54), INT(-99.4) 'Вывод: 12 -100
                                                                          FOR...NEXT
                                                                          оператор
                                                                          СПРАВКА: Оператор FOR...NEXT
                                                                          Повторяет блок операторов указанное число раз.
                                                                          FOR счетчик = начало TO конец [STEP приращение]      [блок_операторов]
                                                                          NEXT [счетчик [,счетчик]...]
                                                                          • счетчик - числовая переменная, используемая как счетчик цикла.
                                                                          • начало и конец - начальное и конечное значение счетчика.
                                                                          • приращение - приращение счетчика при каждом шаге цикла.
                                                                          Пример:
                                                                          FOR i% = 1 TO 15
                                                                               PRINT i%
                                                                          NEXT i%
                                                                          FOR i% = 7 to -6 STEP -3
                                                                               PRINT i%
                                                                          NEXT i%
                                                                            FRE
                                                                            функция
                                                                            СПРАВКА: Функция FRE
                                                                            Возвращает объем (в байтах) доступной или неиспользуемой памяти.
                                                                            FRE(числ_выражение)
                                                                            FRE(строк_выражение$)
                                                                            • числ_выражение - значение, указывающее тип памяти:
                                                                              ЗначениеFRE возвращает
                                                                              -1Размер наибольшего массива (нестрокового), который Вы можете создать.
                                                                              -2Неиспользуемое стековое пространство.
                                                                              Любое другое числоДоступное строковое пространство.

                                                                            • строк_выражение$ - любое строковое выражение. FRE сжимает свободное строковое пространство в один блок, а затем возвращает объем доступного строкового пространства.
                                                                            Пример:
                                                                            PRINT "Строковое пространство", FRE("")
                                                                            PRINT "Неиспользуемое стековое пространство", FRE(-2)
                                                                            PRINT "Пространство массива", FRE(-1)
                                                                              FREEFILE
                                                                              функция
                                                                              СПРАВКА: Функция FREEFILE
                                                                              Возвращает номер следующего доступного неиспользуемого файла.
                                                                              FREEFILE
                                                                              Пример:
                                                                              OPEN "ТЕСТ.ДАТ" FOR OUTPUT AS #1
                                                                              PRINT "Номер следующего файла: "; FREEFILE
                                                                              CLOSE
                                                                                FUNCTION
                                                                                оператор
                                                                                СПРАВКА: Оператор FUNCTION
                                                                                Определяет процедуру FUNCTION.
                                                                                FUNCTION имя [(параметры)] [STATIC]
                                                                                          [блок_операторов]
                                                                                     имя = выражение
                                                                                          [блок_операторов]
                                                                                END FUNCTION
                                                                                • имя - имя функции и возвращаемый ею тип данных, указанный суффиксом типа данных (%, &, !, # или $).
                                                                                • параметры - одна или несколько переменных, указывающих параметры, которые передаются в функцию при ее вызове:
                                                                                  • перемен[( )] [AS тип] [, перем[( )] [AS тип]]...
                                                                                  • переменная - имя переменной Basic.
                                                                                  • тип - тип данных переменной (INTEGER, LONG, SINGLE, DOUBLE, STRING или тип данных, определенный пользователем).
                                                                                • STATIC - указывает, что значения локальных переменных функции сохраняются между вызовами функции.
                                                                                • выражение - возвращаемое значение функции.

                                                                                • При вызове функции Вы можете указать, что значение аргумента не должно изменяться функцией. Для этого заключите аргумент в круглые скобки.
                                                                                GET (В/ВВ файлов)
                                                                                PUT (В/ВВ файлов)

                                                                                операторы
                                                                                СПРАВКА: Операторы GET, PUT (В/ВВ файлов)
                                                                                GET считывает из файла в буфер прямого доступа или в переменную.
                                                                                PUT записывает содержимое переменной или буфера прямого доступа в файл.

                                                                                GET [#]номер_файла%[,[номер_записи&][,переменная]]
                                                                                PUT [#]номер_файла%[,[номер_записи&][,переменная]]
                                                                                • номер_файла% - номер открытого файла.
                                                                                • номер_записи& - для файлов прямого доступа - номер записи для чтения или записи. Для двоичных файлов- позиция байта, где начинается чтение или запись.
                                                                                • переменная - для GET - переменная, используемая для приема ввода из файла. Для PUT - переменная, содержащая вывод для записи в файл. Переменной обычно является переменная определенного пользователем типа данных.
                                                                                Пример:
                                                                                TYPE TestRecord
                                                                                     Student AS STRING * 20
                                                                                     Score AS SINGLE
                                                                                END TYPE
                                                                                DIM MyClass AS TestRecord
                                                                                OPEN "FINAL.DAT" FOR RANDOM AS #1 LEN = LEN(MyClass)
                                                                                MyClass.Student = "Олег Дворченко"
                                                                                MyClass.Score = 99
                                                                                PUT #1, 1, MyClass
                                                                                CLOSE #1
                                                                                OPEN "FINAL.DAT" FOR RANDOM AS #1 LEN = LEN(MyClass)
                                                                                GET #1, 1, MyClass
                                                                                PRINT "СТУДЕНТ:", MyClass.Student
                                                                                PRINT "СЧЕТ:", MyClass.Score
                                                                                CLOSE #1
                                                                                KILL "FINAL.DAT"
                                                                                  GET (Графика)
                                                                                  PUT (Графика)

                                                                                  операторы
                                                                                  СПРАВКА: Операторы GET, PUT (Графика)
                                                                                  GET сохраняет графический образ экрана. PUT выводит на экран образ, сохраненный GET.

                                                                                  GET [STEP](x1!,y1!)-[STEP](x2!,y2!), имя_массива[(индекс%)]
                                                                                  PUT [STEP] (x1!,y1!), имя_массива[(index%)] [,ключ_словоb]
                                                                                  • STEP - указывает, что координаты задаются относительно текущей графической позиции курсора.
                                                                                  • (x1!,y1!) - координаты левого верхнего угла образа, сохраненного GET, или положение на экране, где PUT выводит образ.
                                                                                  • (x2!,y2!) - координаты правого нижнего угла сохраненного образа.
                                                                                  • имя_массива - имя массива, в котором хранится образ. Используйте число бит-на-пиксел-на-плоскость число плоскостей для определения необходимого размера массива, хранящего графический образ экрана. Кроме того, число бит-на-пиксел-на-плоскость и число плоскостей вместе с разрешением по горизонтали определяют какие режимы экрана являются совместимыми:
                                                                                    Режим экранаЧисло бит-на-пиксел-на-плоскостьЧисло плоскостейРазрешение по горизонт.
                                                                                    (в пикселах)
                                                                                    121320
                                                                                    2, 4, 1111640
                                                                                    311720
                                                                                    714320
                                                                                    8, 9(> 64K видеопамяти), 1214640
                                                                                    9(64K видеопамяти), 1012640
                                                                                    1381320

                                                                                    Следующая формула дает требуемый размер в байтах для массива, используемого для хранения образа:

                                                                                    size% = 4 + INT(((PMAP (x2!, 0) - PMAP (x1!, 0) + 1) *
                                                                                    (bits-per-pixel-per-plane%) + 7) / 8) * planes% *
                                                                                    (PMAP (y2!, 1) - PMAP (y1!, 1) + 1), где
                                                                                    • bits-per-pixel-per-plane% - число бит-на-пиксел-на-плоскость
                                                                                    • planes% - число плоскостей
                                                                                    Операции GET и PUT совместимы в режимах экрана, имеющих одинаковое разрешение по горизонтали и число бит-на-пиксель-на-плоскость и число плоскостей. Например, режимы экрана 2, 4 и 11 совместимы; режимы экрана 8 и 12 также совместимы.
                                                                                  • индекс% - индекс массива, где начинается хранение образа.
                                                                                  • ключ_слово - ключевое слово, обозначающее как отображается образ:
                                                                                    Ключевое словоДействие
                                                                                    ANDОбъединяет сохраненный образ с существующим образом.
                                                                                    ORНакладывает сохраненный образ на существующий образ.
                                                                                    PSETРисует сохраненный образ, стирая существующий образ.
                                                                                    PRESETРисует сохраненный образ в реверсивном цвете, стирая существующий образ.
                                                                                    XORРисует сохраненный образ или стирает ранее нарисованный образ, храня при этом фоновые эффекты мультипликации.
                                                                                  • Оператор PUT всегда должен выполняться в том же режиме экрана, в котором использовался оператор GET для сохранения образа или в совместимом режиме.
                                                                                  Пример:
                                                                                  SCREEN 1
                                                                                  DIM Box%(1 TO 200)
                                                                                  x1% = 0: x2% = 10: y1% = 0: y2% = 10
                                                                                  LINE (x1%, y1%)-(x2%, y2%), 2, BF
                                                                                  GET (x1%, y1%)-(x2%, y2%), Box%
                                                                                  DO
                                                                                       PUT (x1%, y1%), Box%, XOR
                                                                                       x1% = RND * 300
                                                                                       y1% = RND * 180
                                                                                       PUT (x1%, y1%), Box%
                                                                                  LOOP WHILE INKEY$ = ""
                                                                                    GOSUB...RETURN
                                                                                    оператор
                                                                                    СПРАВКА: Оператор GOSUB...RETURN
                                                                                    Переходит в подпрограмму и возвращается из нее.
                                                                                    GOSUB строка1
                                                                                    .
                                                                                    .
                                                                                    .
                                                                                    RETURN [строка2]
                                                                                    • строка1 - метка или номер первой строки подпрограммы.
                                                                                    • строка2 - метка или номер строки, в которую возвращается подпрограмма.
                                                                                    • Если Вы не указываете метку или номер строки для RETURN, то выполнение программы продолжится с оператора, стоящего за GOSUB (при вызове подпрограммы) или там, где произошло событие (при обработке событий). Смотрите ключевое слово ON для информации об операторах обработки событий.
                                                                                    • Операторы SUB и CALL представляют собой более удобную альтернативу для подпрограмм GOSUB.
                                                                                    Пример:
                                                                                    FOR i% = 1 TO 20
                                                                                         GOSUB Square
                                                                                    NEXT i%
                                                                                    END

                                                                                    Square:
                                                                                    PRINT i%, i% * i%
                                                                                    RETURN
                                                                                      GOTO
                                                                                      оператор
                                                                                      СПРАВКА: Оператор GOTO
                                                                                      Выполняет переход в указанную строку.
                                                                                      GOTO строка
                                                                                      • строка - метка или номер следующей выполняемой строки.
                                                                                      • DO...LOOP, SELECT CASE, IF...THEN...ELSE, SUB и FUNCTION предоставляют более удобный способ контроля хода Вашей программы.
                                                                                      • GOTO также используется в качестве ключевого слова в операторе ON ERROR.
                                                                                      Пример:
                                                                                      CLS
                                                                                      10 INPUT "Введите Ваш возраст:", i
                                                                                      IF i < 7 THEN PRINT "Подрастите и приходите..." GOTO 10
                                                                                      IF i > 100 THEN PRINT "Столько живут только крокодилы!": GOTO 10
                                                                                        HEX$
                                                                                        OCT$

                                                                                        функции
                                                                                        СПРАВКА: Функции HEX$, OCT$
                                                                                        HEX$ возвращает шестнадцатиричное представление числа.
                                                                                        OCT$ возвращает восьмеричное представление числа.
                                                                                        HEX$(числ_выражение&)
                                                                                        OCT$(числ_выражение&)
                                                                                        • числ_выражение& - любое числовое выражение. Выражение округляется до целого или длинного целого перед оценкой.
                                                                                        Пример:
                                                                                        INPUT x
                                                                                        a$ = HEX$ (x)
                                                                                        b$ = OCT$ (x)
                                                                                        PRINT x; " равно ";a$;" в шестнадцатеричной и "; b$;" в восьмеричной системах счисления."
                                                                                          IF...THEN...ELSE
                                                                                          оператор
                                                                                          СПРАВКА: Оператор IF...THEN...ELSE
                                                                                          Выполняет оператор или блок операторов в зависимости от указанных условий.
                                                                                          IF условие1 THEN
                                                                                                    [блок_операторов-1]
                                                                                          [ELSEIF условие2 THEN
                                                                                                    [блок_ операторов-2]]...
                                                                                          [ELSE
                                                                                                    [блок операторов-n]]
                                                                                          END IF

                                                                                          IF условие THEN операторы [ELSE операторы]
                                                                                          • условие1 - любое выражение, которое может быть оценено как истинное (не-ноль) или ложное (ноль).
                                                                                            условие2
                                                                                          • блок_операторов-1 - один или несколько операторов в одной или нескольких строках.
                                                                                            блок_операторов-2
                                                                                            блок_операторов-n
                                                                                          • операторы - один или несколько операторов, разделенных двоеточиями.
                                                                                          Пример:
                                                                                          INPUT "1 или 2? ", i%
                                                                                          IF i% = 1 OR i% = 2 THEN
                                                                                                    PRINT "OK"
                                                                                          ELSE
                                                                                                    PRINT "Вне диапазона"
                                                                                          END IF
                                                                                            INKEY$
                                                                                            функция
                                                                                            СПРАВКА: Функция INKEY$
                                                                                            Считывает символ с клавиатуры. INKEY$
                                                                                            • INKEY$ возвращает нулевую строку символов, если нет символа для возврата.
                                                                                            • Для стандартных клавиш INKEY$ возвращает 1-байтовую строку символов, содержащую считанный символ.
                                                                                            • Для расширенных клавиш INKEY$ возвращает 2-байтовую строку символов, состоящую из символа нуля (ASCII 0) и скан-кода клавиатуры.
                                                                                            Пример:
                                                                                            PRINT "Для выхода нажмите Esc..."
                                                                                            DO
                                                                                            LOOP UNTIL INKEY$ = CHR$(27) '27 - это ASCII код для Esc.

                                                                                            СПРАВКА: Скан-коды клавиатуры
                                                                                            КлавишаКодКлавишаКодКлавишаКод
                                                                                            Esc1A30Caps Lock58
                                                                                            ! или 12S31F159
                                                                                            @ или 23D32F260
                                                                                            # или 34F33F361
                                                                                            $ или 45G34F462
                                                                                            % или 56H35F563
                                                                                            ^ или 67J36F664
                                                                                            & или 78K37F765
                                                                                            * или 89L38F866
                                                                                            ( или 910: или ;39F967
                                                                                            ) или 011" или '40F1068
                                                                                            _ или -12~ или `41F11133
                                                                                            + или =13Левый Shift42F12134
                                                                                            Bksp14| или \43NumLock69
                                                                                            Tab15Z44Scroll Lock70
                                                                                            Q16X45Home или 771
                                                                                            W17C46? или 872
                                                                                            E18V47PgUp или 973
                                                                                            R19B48Серый -74
                                                                                            T20N49<- или 475
                                                                                            Y21M50Центр или 576
                                                                                            U22< или ,51-> или 677
                                                                                            I23> или .52Серый +78
                                                                                            O24? или /53End или 179
                                                                                            P25Правый Shift54? или 280
                                                                                            { или [26Prt Sc или *55PgDn или 381
                                                                                            } или ]27Alt56Ins или 082
                                                                                            Enter28Пробел57Del или .83
                                                                                            Ctrl29
                                                                                              INP
                                                                                              функция

                                                                                              OUT
                                                                                              оператор
                                                                                              СПРАВКА: Функция INP, Оператор OUT
                                                                                              INP возвращает байт, считанный с аппаратного порта ввода/вывода.
                                                                                              OUT посылает байт в аппаратный порт ввода/вывода.
                                                                                              INP(port%)
                                                                                              OUT port%, data%
                                                                                              • port% - число в пределах от 0 до 65535, определяющее порт.
                                                                                              • data% - числовое выражение в пределах от 0 до 255, посылаемое в порт.
                                                                                              Пример:
                                                                                              x% = INP(&H3FC) 'Считывает Управляющий Регистр Модема COM1.
                                                                                              OUT &H3FC, (x% XOR 1) 'Изменяет бит Готовности Данных Терминала.
                                                                                                INPUT
                                                                                                LINE INPUT

                                                                                                операторы
                                                                                                СПРАВКА: Операторы INPUT, LINE INPUT
                                                                                                INPUT считывает входные данные с клавиатуры или из файла. LINE INPUT считывает строку, содержащую до 255 символов, с клавиатуры или из файла.

                                                                                                INPUT [;] ["приглашение"{; | ,}] список переменных
                                                                                                LINE INPUT [;] ["приглашение";] переменная$
                                                                                                INPUT #номер файла%, список переменных
                                                                                                LINE INPUT #номер файла%, переменная$
                                                                                                • приглашение - необязательная строка, отображаемая на экране перед вводом пользователем данных. Точка с запятой, стоящая сразу после приглашения, добавляет знак вопроса в строку приглашения.
                                                                                                • список переменных - одна или несколько переменных, разделенных запятыми, в которых хранятся данные, введенные с клавиатуры или считанные из файла.
                                                                                                  Переменная может состоять из 40 символов и должна начинаться с буквы. Допустимыми являются символы A-Z, 0-9 и точка (.).
                                                                                                • переменная$ - хранит строку символов, введенных с клавиатуры или считанных из файла.
                                                                                                • номер файла% - номер открытого файла.
                                                                                                • INPUT использует запятую для разделения записей.
                                                                                                  LINE INPUT считывает все символы до символа возврата каретки.
                                                                                                • При вводе с клавиатуры точка с запятой, стоящая сразу после INPUT, оставляет курсор в той же строке по нажатии пользователем клавиши Enter.
                                                                                                Пример:
                                                                                                CLS
                                                                                                OPEN "СПИСОК" FOR OUTPUT AS #1
                                                                                                DO
                                                                                                     INPUT " ИМЯ: ", name$ 'Считывает ввод с клавиатуры.
                                                                                                     INPUT " ВОЗРАСТ: ", age$
                                                                                                     WRITE #1, name$, age$
                                                                                                     INPUT "Продолжить"; R$
                                                                                                LOOP WHILE UCASE$(R$) = "Д"
                                                                                                CLOSE #1
                                                                                                'Просмотр файла.
                                                                                                OPEN "СПИСОК" FOR INPUT AS #1
                                                                                                CLS
                                                                                                PRINT "Записи в файле:": PRINT
                                                                                                DO WHILE NOT EOF(1)
                                                                                                     LINE INPUT #1, REC$ 'Считывает записи из файла.
                                                                                                     PRINT REC$ 'Печатает записи на экране.
                                                                                                LOOP
                                                                                                CLOSE #1
                                                                                                KILL "СПИСОК"
                                                                                                  INPUT$
                                                                                                  функция
                                                                                                  СПРАВКА: Функция INPUT$
                                                                                                  Возвращает строку символов, считанных из указанного файла.
                                                                                                  INPUT$(n[,[#]номер_файла%])
                                                                                                  • n - число символов (байтов) для чтения.
                                                                                                  • номер_файла% - номер открытого файла. Если номер_файла% опущен, INPUT$ считывает с клавиатуры.
                                                                                                  Пример:
                                                                                                  OPEN "TEST.DAT" FOR OUTPUT AS #1
                                                                                                  PRINT #1, "Текст"
                                                                                                  CLOSE
                                                                                                  OPEN "TEST.DAT" FOR INPUT AS #1
                                                                                                  PRINT INPUT$(3, 1) 'Печатает первые три символа
                                                                                                  CLOSE
                                                                                                    INSTR
                                                                                                    функция
                                                                                                    СПРАВКА: Функция INSTR
                                                                                                    Возвращает позицию первого обнаружения строки в другой строке.
                                                                                                    INSTR([начало%,]строк_выражение1$,строк_выражение2$)
                                                                                                    • начало% - устанавливает позицию символа, откуда начинается поиск. Если начало% опущено, INSTR начинает поиск с позиции 1.
                                                                                                    • строк_выражение1$ - строка, которую ищут.
                                                                                                    • строк_выражение2$ - строка, в которой ищут.
                                                                                                    Пример:
                                                                                                    a$ = "m-qb.narod.ru"
                                                                                                    PRINT "Позиция строки ="; INSTR(1, a$, "narod")
                                                                                                      IOCTL
                                                                                                      оператор

                                                                                                      IOCTL$
                                                                                                      функция
                                                                                                      СПРАВКА: Оператор IOCTL, Функция IOCTL$
                                                                                                      IOCTL посылает управляющую строку драйверу устройства.
                                                                                                      IOCTL$ возвращает информацию о текущем состоянии драйвера устройства.
                                                                                                      IOCTL [#]номер_файла%, строка$
                                                                                                      IOCTL$([#]номер_файла%)
                                                                                                      • номер файла% - номер открытого устройства.
                                                                                                      • строка$ - управляющая строка, посылаемая в устройство.
                                                                                                      • Управляющая строка IOCTL и информация, возвращаемая IOCTL$, зависят от драйвера устройства. Информацию об управляющей строке IOCTL и том, что возвращает IOCTL$, смотрите в документации на драйвер устройства.
                                                                                                      KEY (Присваивание)
                                                                                                      оператор
                                                                                                      СПРАВКА: Оператор KEY (Присваивание)
                                                                                                      Присваивает клавише строку символов и может отображать значения клавиш.
                                                                                                      KEY key%, символьное_выражение$
                                                                                                      KEY LIST
                                                                                                      KEY ON
                                                                                                      KEY OFF
                                                                                                      • клавиша% - номер функциональной клавиши. Используйте цифры от 1 до 10 для функциональных клавиш от F1 до F10. Используйте 30 и 31 для функциональных клавиш F11 и F12 на расширенной клавиатуре.
                                                                                                      • символьное_выражение$ - строка длинной до 15 символов, которая отображается при нажатии функциональной клавиши.
                                                                                                      • LIST - отображает установки для каждой клавиши.
                                                                                                      • ON - включает строку отображения функциональных клавиш.
                                                                                                      • OFF - выключает строку отображения функциональных клавиш.
                                                                                                          Пример:
                                                                                                          KEY 4, "MENU" + CHR$ (13)
                                                                                                          KEY LIST
                                                                                                          KEY 4, ""
                                                                                                          KEY LIST
                                                                                                        KEY (Отслеживание событий)

                                                                                                        ON KEY


                                                                                                        операторы
                                                                                                        СПРАВКА: Операторы KEY, ON KEY (Отслеживание событий)
                                                                                                        KEY включает, выключает или приостанавливает отслеживание событий для клавиш. При включенном отслеживании событий ON KEY обращается к подпрограмме каждый раз при нажатии клавиши.
                                                                                                        KEY(n%) ON
                                                                                                        KEY(n%) OFF
                                                                                                        KEY(n%) STOP
                                                                                                        ON KEY(n%) GOSUB строка
                                                                                                        • n% - значение, указывающее на функциональную клавишу, клавишу направления или определенную пользователем клавишу.
                                                                                                          n%Клавиши
                                                                                                          0Все перечисленные здесь клавиши (KEY(0) ON, KEY(0) OFF и KEY(0) STOP).
                                                                                                          1-10Функциональные клавиши F1-F10.
                                                                                                          11Клавиша СТРЕЛКА ВВЕРХ.
                                                                                                          12Клавиша СТРЕЛКА ВЛЕВО.
                                                                                                          13Клавиша СТРЕЛКА ВПРАВО.
                                                                                                          14Клавиша СТРЕЛКА ВНИЗ.
                                                                                                          15-25Определенные пользователем клавиши.
                                                                                                          30, 31Функциональные клавиши F11 и F12.

                                                                                                        • KEY(n%) ON - включает отслеживание событий для указанной клавиши.
                                                                                                        • KEY(n%) OFF - выключает отслеживание событий для клавиш.
                                                                                                        • KEY(n%) STOP - приостанавливает отслеживание событий. Событие обрабатывается при включении KEY ON.
                                                                                                        • строка - метка или номер первой строки подпрограммы отслеживания событий.
                                                                                                        Для объявления определенных пользователем клавиш используйте следующие варианты оператора KEY:
                                                                                                        KEY n%, CHR$(флаг_клавиатуры%) + CHR$(скан-код%)
                                                                                                        • n% - значение в пределах от 15 до 25, идентифицирующее клавишу.
                                                                                                        • флаг_клавиатуры% - одно из следующих значений или сумма значений, указывающие, используются ли определенные пользователем клавиши в комбинации с клавишами Shift, Ctrl, Alt, NumLock или Caps Lock или же с клавишами расширенной клавиатуры:
                                                                                                          ЗначениеКлавиша
                                                                                                          0Нет флага клавиатуры
                                                                                                          1 до 3Любая клавиша Shift
                                                                                                          4Клавиша Ctrl
                                                                                                          8Клавиша Alt
                                                                                                          32Клавиша NumLock
                                                                                                          64Клавиша Caps Lock
                                                                                                          128Клавиши расширенной клавиатуры на клавиатурах со 101-ой клавишей
                                                                                                          Для указания совместного использования клавиш сложите соответствующие значения. Например, значение 12 указывает, что определенная пользователем клавиша используется в комбинации с клавишами Ctrl и Alt.

                                                                                                        • скан-код% - скан-код объявляемой клавиши.
                                                                                                          СПРАВКА: Скан-коды клавиатуры
                                                                                                          КлавишаКодКлавишаКодКлавишаКод
                                                                                                          Esc1A30Caps Lock58
                                                                                                          ! или 12S31F159
                                                                                                          @ или 23D32F260
                                                                                                          # или 34F33F361
                                                                                                          $ или 45G34F462
                                                                                                          % или 56H35F563
                                                                                                          ^ или 67J36F664
                                                                                                          & или 78K37F765
                                                                                                          * или 89L38F866
                                                                                                          ( или 910: или ;39F967
                                                                                                          ) или 011" или '40F1068
                                                                                                          _ или -12~ или `41F11133
                                                                                                          + или =13Левый Shift42F12134
                                                                                                          Bksp14| или \43NumLock69
                                                                                                          Tab15Z44Scroll Lock70
                                                                                                          Q16X45Home или 771
                                                                                                          W17C46? или 872
                                                                                                          E18V47PgUp или 973
                                                                                                          R19B48Серый -74
                                                                                                          T20N49<- или 475
                                                                                                          Y21M50Центр или 576
                                                                                                          U22< или ,51-> или 677
                                                                                                          I23> или .52Серый +78
                                                                                                          O24? или /53End или 179
                                                                                                          P25Правый Shift54? или 280
                                                                                                          { или [26Prt Sc или *55PgDn или 381
                                                                                                          } или ]27Alt56Ins или 082
                                                                                                          Enter28Пробел57Del или .83
                                                                                                          Ctrl29


                                                                                                          Пример:
                                                                                                          'В этом примере необходимо, чтобы клавиши Caps Lock и Num Lock были выключены.
                                                                                                          CONST ESC = 27
                                                                                                          KEY 15, CHR$(&H4) + CHR$(&H1F) 'Устанавливает Ctrl+S как KEY 15
                                                                                                          ON KEY(15) GOSUB PauseHandler
                                                                                                          KEY(15) ON
                                                                                                          WHILE INKEY$ <> CHR$(ESC)
                                                                                                               PRINT "Нажмите Esc для останова, Ctrl+S для паузы"
                                                                                                               PRINT
                                                                                                          WEND
                                                                                                          END

                                                                                                          PauseHandler:
                                                                                                               SLEEP 1
                                                                                                               RETURN
                                                                                                          KILL
                                                                                                          оператор
                                                                                                          СПРАВКА: Оператор KILL
                                                                                                          Удаляет файлы с диска.
                                                                                                          KILL файлы$
                                                                                                          • файлы$ - определяет файл или файлы для удаления. Может включать путь и подстановочные символы DOS (? и *).
                                                                                                          Пример:
                                                                                                          INPUT "Файлы для удаления: "; f$
                                                                                                          KILL f$
                                                                                                            LBOUND
                                                                                                            UBOUND

                                                                                                            функции
                                                                                                            СПРАВКА: Функции LBOUND, UBOUND
                                                                                                            Возвращает верхнюю или нижнюю границу (наименьший или наибольший доступный индекс) для указанного размера массива.
                                                                                                            LBOUND(массив[,размер%])
                                                                                                            UBOUND(массив[,размер%])
                                                                                                            • массив - имя массива.
                                                                                                            • размер% - указывает размер массива, верхняя или нижняя граница которого возвращаются. Используйте 1 для первого размера,2 - для второго размера и т.д. Значение по умолчанию равно 1.
                                                                                                            Пример:
                                                                                                            DIM a%(1 TO 3, 2 TO 7)
                                                                                                            PRINT LBOUND(a%, 1), UBOUND(a%, 2)
                                                                                                              LCASE$
                                                                                                              UCASE$

                                                                                                              функции
                                                                                                              СПРАВКА: Функции LCASE$, UCASE$
                                                                                                              Переводят все буквы строки в строчные или прописные буквы.
                                                                                                              LCASE$(строк_выражение$)
                                                                                                              UCASE$(строк_выражение$)
                                                                                                              • строк_выражение$ - любое строковое выражение.
                                                                                                              Пример:
                                                                                                              Test$ = "СТрокА"
                                                                                                              PRINT Test$
                                                                                                              PRINT LCASE$(Test$); " только со строчными буквами"
                                                                                                              PRINT UCASE$(Test$); " ТОЛЬКО С ПРОПИСНЫМИ БУКВАМИ"
                                                                                                                LEFT$
                                                                                                                RIGHT$

                                                                                                                функции
                                                                                                                СПРАВКА: Функции LEFT$, RIGHT$
                                                                                                                Возвращают указанное число символов, стоящих с левого или с правого конца строки.
                                                                                                                LEFT$(строк_выражение$,n%)
                                                                                                                RIGHT$(строк_выражение$,n%)
                                                                                                                • строк_выражения$ - любое строковое выражение.
                                                                                                                • n% - число возвращаемых символов, начиная с самого правого или левого символа строки.
                                                                                                                Пример:
                                                                                                                a$ = "http://m-qb.narod.ru/"
                                                                                                                PRINT LEFT$(a$, 4) 'Вывод: http
                                                                                                                PRINT RIGHT$(a$, 3) 'Вывод: .ru
                                                                                                                  LEN
                                                                                                                  функция
                                                                                                                  СПРАВКА: Функция LEN
                                                                                                                  Возвращает число символов в строке или число байтов, необходимых для хранения переменной.
                                                                                                                  LEN(строк_выражение$)
                                                                                                                  LEN(переменная)
                                                                                                                  • строк_выражение$ - любое строковое выражение.
                                                                                                                  • переменная - любая нестроковая переменная.
                                                                                                                  Пример:
                                                                                                                  a$ = "m-qb.narod.ru"
                                                                                                                  PRINT LEN(a$)
                                                                                                                    LET
                                                                                                                    оператор
                                                                                                                    СПРАВКА: Оператор LET
                                                                                                                    Присваивает значение выражения переменной.
                                                                                                                    [LET] переменная=выражение
                                                                                                                    • переменная - любая переменная. Имя переменной может быть длиной до 40 символов и должно начинаться с буквы. Допустимые символы: A-Z, 0-9 и точка (.).
                                                                                                                    • выражение - любое выражение, которое имеет присваиваемое значение.
                                                                                                                    • Использование необязательного ключевого слова LET не рекомендуется. Оператор присвоения переменная=выражение выполняет те же действия, как с LET, так и без него.
                                                                                                                    LINE (Графика)
                                                                                                                    оператор
                                                                                                                    СПРАВКА: Оператор LINE
                                                                                                                    Рисует на экране линию или прямоугольник.
                                                                                                                    LINE [[STEP](x1!,y1!)]-[STEP](x2!,y2!) [,[цвет%] [,[B | BF] [,стиль%]]]
                                                                                                                    • STEP - указывает, что координаты задаются относительно текущего графического положения курсора.
                                                                                                                    • (x1!,y1!) - координаты начала линии на экране.
                                                                                                                    • (x2!,y2!) - координаты конца линии на экране.
                                                                                                                    • цвет% - атрибут цвета, устанавливающий цвет линии или прямоугольника. Допустимые атрибуты цвета зависят от Вашего графического адаптера и режима экрана, установленного последним оператором SCREEN.
                                                                                                                    • B - рисует прямоугольник вместо линии.
                                                                                                                    • BF - рисует заполненный прямоугольник.
                                                                                                                    • стиль% - 16-битовое значение, биты которого устанавливают будут ли рисоваться точки растра. Используется для изображения прерывистых и пунктирных линий.
                                                                                                                    Пример:
                                                                                                                    SCREEN 1
                                                                                                                    LINE (110, 70)-(190, 120), , B
                                                                                                                    LINE (0, 0)-(320, 200), 3, , &HFF00
                                                                                                                      LOC
                                                                                                                      функция
                                                                                                                      СПРАВКА: Функция LOC
                                                                                                                      Возвращает текущую позицию в файле
                                                                                                                      LOC(номер_файла%)
                                                                                                                      • номер_файла% - номер открытого файла или устройства.
                                                                                                                      • Для бинарных файлов LOC возвращает позицию последнего считанного или записанного байта.
                                                                                                                      • Для файлов прямого доступа LOC возвращает номер последней записи, считанной из или записанной в файл.
                                                                                                                      • Для последовательных файлов LOC возвращает позицию текущего байта в этом файле, деленную на 128.
                                                                                                                      Пример:
                                                                                                                      OPEN "TEST.DAT" FOR RANDOM AS #1
                                                                                                                      FOR i% = 1 TO 10
                                                                                                                           PUT #1, , i%
                                                                                                                      NEXT i%
                                                                                                                      SEEK #1, 2
                                                                                                                      GET #1, , i%
                                                                                                                      PRINT "Данные: "; i%; " Текущая запись: "; LOC(1); " Следующая: "; SEEK(1)
                                                                                                                        LOCK...UNLOCK
                                                                                                                        операторы
                                                                                                                        СПРАВКА: Операторы LOCK, UNLOCK
                                                                                                                        LOCK ограничивает или закрывает доступ к файлу при работе в сети.
                                                                                                                        UNLOCK отменяет ограничения, наложенные последним оператором LOCK.

                                                                                                                        LOCK [#]номер_файла% [,{запись& | [начало&] TO конец&}]
                                                                                                                        UNLOCK [#]номер_файла% [,{запись& | [начало&] TO конец&}]
                                                                                                                        • номер_файла% - номер открытого файла.
                                                                                                                        • запись& - для файлов прямого доступа - номер закрываемой записи по отношению к первой записи в файле. Для бинарных файлов - номер закрываемого байта относительно первого байта в файле.
                                                                                                                        • начало& и конец& - номера первой и последней записи или байта в диапазоне закрываемых или открываемых записей или байтов.
                                                                                                                        • Для последовательных файлов LOCK и UNLOCK влияют на весь файл.
                                                                                                                        Пример:
                                                                                                                        'Этот пример работает только в сети.
                                                                                                                        OPEN "TEST.DAT" FOR RANDOM AS #1
                                                                                                                        FOR i% = 1 TO 10
                                                                                                                             PUT #1, , i%
                                                                                                                        NEXT i%
                                                                                                                        LOCK #1, 2 'Закрытие записи 2
                                                                                                                        GET #1, 2, i%
                                                                                                                        UNLOCK #1, 2 'Открытие записи 2
                                                                                                                          LOF
                                                                                                                          функция
                                                                                                                          СПРАВКА: Функция LOF
                                                                                                                          Возвращает длину файла в байтах.
                                                                                                                          LOF(номер_файла%)
                                                                                                                          • номер_файла% - номер открытого файла.
                                                                                                                          Пример:
                                                                                                                          INPUT "Введите имя файла: "; f$
                                                                                                                          OPEN f$ FOR BINARY AS #1
                                                                                                                          PRINT "Длина файла = "; LOF(1)
                                                                                                                          CLOSE
                                                                                                                            LPOS
                                                                                                                            функция
                                                                                                                            СПРАВКА: Функция LPOS
                                                                                                                            Возвращает число символов, посланных на печать после последнего символа возврата каретки.
                                                                                                                            LPOS(n%)
                                                                                                                            • n% - указывает один из портов принтера: 0 = LPT1, 1 = LPT1, 2 = LPT2, 3 = LPT3
                                                                                                                            Пример:
                                                                                                                            'Для выполнения этого примера нужен принтер.
                                                                                                                            LPRINT
                                                                                                                            FOR i% = 1 TO 20
                                                                                                                                 LPRINT i%;
                                                                                                                                 IF LPOS(1) >= 10 THEN LPRINT 'Начать новую строку.
                                                                                                                            NEXT i%
                                                                                                                              LSET
                                                                                                                              RSET

                                                                                                                              операторы
                                                                                                                              СПРАВКА: Операторы LSET, RSET
                                                                                                                              LSET и RSET перемещают данные в буфер файлов прямого доступа (подготавливая его к оператору PUT) и осуществляют правое или левое выравнивание значений строковой переменной. LSET также копирует содержимое одной записи переменной в другую.

                                                                                                                              LSET строк_переменная$=строк_выражение$
                                                                                                                              RSET строк_переменная$=строк_выражение$
                                                                                                                              LSET запись_переменной1=запись_переменной2
                                                                                                                              • строк_переменная$ - любая строковая переменная или поле файлов прямого доступа, определенные в операторе FIELD.
                                                                                                                              • строк_выражение$ - для LSET - версия строк_переменной$ для левого края. Для RSET, версия строк_переменной$ для правого края.
                                                                                                                              • запись_переменной1 - запись переменных любого определенного пользователем типа данных.
                                                                                                                                запись_переменной2 Используйте LSET для присвоения записи переменной одного типа данных другому типу данных, определенному пользователем.
                                                                                                                              Пример:
                                                                                                                              OPEN "FILEDAT.DAT" FOR RANDOM AS #1 LEN = 10
                                                                                                                              FIELD #1, 5 AS Ls1$, 5 AS Rs1$
                                                                                                                              LSET Ls1$ = "ЛSET"
                                                                                                                              RSET Rs1$ = "ПSET"
                                                                                                                              PUT #1, 1
                                                                                                                              CLOSE #1
                                                                                                                              OPEN "FILEDAT.DAT" FOR RANDOM AS #1 LEN = 10
                                                                                                                              FIELD #1, 5 AS Ls2$, 5 AS Rs2$
                                                                                                                              GET #1, 1
                                                                                                                              PRINT "*" + Ls2$ + "*", "*" + Rs2$ + "*"
                                                                                                                              CLOSE #1
                                                                                                                                LTRIM$
                                                                                                                                RTRIM$

                                                                                                                                функции
                                                                                                                                СПРАВКА: Функции LTRIM$, RTRIM$
                                                                                                                                Удаляют начальные или конечные пробелы из строки.
                                                                                                                                LTRIM$(строк_выражение$)
                                                                                                                                RTRIM$(строк_выражение$)
                                                                                                                                • строк_выражение$ - любое строковое выражение.
                                                                                                                                Пример:
                                                                                                                                a$ = "    Basic    "
                                                                                                                                PRINT "*" + a$ + "*" 'Вывод: *    Basic    *
                                                                                                                                PRINT "*" + LTRIM$(a$) + "*" 'Вывод: *Basic    *
                                                                                                                                PRINT "*" + RTRIM$(a$) + "*" 'Вывод: *    Basic*
                                                                                                                                  MID$
                                                                                                                                  функция/оператор
                                                                                                                                  СПРАВКА: Функция и Оператор MID$
                                                                                                                                  Функция MID$ возвращает часть строки (подстроку).
                                                                                                                                  Оператор MID$ замещает часть строковой переменной другой строкой.

                                                                                                                                  MID$(строк_выражение$,начало%[,длина%])
                                                                                                                                  MID$(строк_переменная$,начало%[,длина%])=строк_выражение$
                                                                                                                                  • строк_выражение$ - строка, из которой функция MID$ возвращает подстроку, или строка замещения, используемая в операторе MID$. Может быть любым строковым выражением.
                                                                                                                                  • начало% - позиция первого возвращаемого или замещаемого символа в строке.
                                                                                                                                  • длина% - число символов в подстроке. Если длина опущена, MID$ возвращает или замещает все символы справа от начальной позиции.
                                                                                                                                  • строк_переменная$ - строковая переменная, изменяемая оператором MID$.
                                                                                                                                  Пример:
                                                                                                                                  a$ = "Почему я никогда не был в Париже?"
                                                                                                                                  PRINT MID$(a$, 27, 5) 'Вывод: Париж
                                                                                                                                  Text$ = "Париж, Франция"
                                                                                                                                  PRINT Text$ 'Вывод: Париж, Франция
                                                                                                                                  MID$(Text$, 8) = "Сиэтл  "
                                                                                                                                  PRINT Text$ 'Вывод: Париж, Сиэтл
                                                                                                                                    MOD
                                                                                                                                    оператор
                                                                                                                                    СПРАВКА: Арифметический Оператор MOD
                                                                                                                                    Делит одно число на другое и возвращает остаток.
                                                                                                                                    числ_выражение1 MOD числ_выражение2
                                                                                                                                    • числ_выражение1 - любые числовые выражения. Действительные числа округляются до целых.
                                                                                                                                      числ_выражение2
                                                                                                                                    Пример:
                                                                                                                                    PRINT 19 MOD 6.7 'QBasic округляет 6.7 до 7, затем делит. Вывод: 5
                                                                                                                                      NAME
                                                                                                                                      оператор
                                                                                                                                      СПРАВКА: Оператор NAME
                                                                                                                                      Переименовывает файлы и каталоги.
                                                                                                                                      NAME старый$ AS новый$
                                                                                                                                      • старый$ и новый$ - существующее имя файла и новое имя файла. Каждое имя может включать путь.
                                                                                                                                      Пример:
                                                                                                                                      INPUT "Старое имя: "; OldFN$
                                                                                                                                      INPUT "Новое имя : "; NewFN$
                                                                                                                                      NAME OldFN$ AS NewFN$
                                                                                                                                        NEXT
                                                                                                                                        ключевое слово
                                                                                                                                        СПРАВКА: Ключевое слово NEXT
                                                                                                                                        Осуществляет приращение и проверку счетчика в цикле FOR...NEXT, или при использовании с RESUME продолжает выполнение, начиная с программы отслеживания ошибок.
                                                                                                                                          OFF
                                                                                                                                          ключевое слово
                                                                                                                                          СПРАВКА: Ключевое слово OFF - Различное использование
                                                                                                                                          Выключает отображение присвоений функциональных клавиш при использовании с оператором KEY (Присваивание) или выключает отслеживание события при использовании операторами события OFF (COM OFF, KEY OFF, PEN OFF, PLAY OFF, STRIG OFF и TIMER OFF).
                                                                                                                                            ON ERROR
                                                                                                                                            оператор
                                                                                                                                            СПРАВКА: Оператор ON ERROR
                                                                                                                                            Включает обработку ошибок при обнаружении ошибки во время выполнения программы, передавая управление на подпрограмму обработки ошибок, или возобновляет выполнение программы.
                                                                                                                                            ON ERROR GOTO строка
                                                                                                                                            • GOTO строка - метка или номер первой строки подпрограммы обработки ошибок. Для выключения обработки ошибок задайте: GOTO 0.
                                                                                                                                            • Если оператор ON ERROR не используется, любая ошибка выполнения завершает Вашу программу.
                                                                                                                                            Пример:
                                                                                                                                            'Иллюстрирует использование ERDEV, ERDEV$, ERL, ERR, ERROR, ON ERROR и RESUME.
                                                                                                                                            ON ERROR GOTO Handler
                                                                                                                                            10 CHDIR "a:\" 'Обнаружение ОШ. 71 "Нет готовности диска," если нет диска в дисководе A
                                                                                                                                            20 y% = 0
                                                                                                                                            30 x% = 5 / y% 'ОШ. 11 "Деление на ноль"
                                                                                                                                            40 PRINT "x% ="; x%
                                                                                                                                            50 ERROR 57 'ОШ. 57 "Ошибка В/ВВ на устройстве"

                                                                                                                                            Handler:
                                                                                                                                            PRINT
                                                                                                                                            PRINT "Ошибка "; ERR; " в строке "; ERL
                                                                                                                                            SELECT CASE ERR
                                                                                                                                                 CASE 71
                                                                                                                                                      PRINT "Используемое устройство "; ERDEV$;
                                                                                                                                                      PRINT " Код ошибки устройства = "; ERDEV
                                                                                                                                                      RESUME NEXT
                                                                                                                                                 CASE 11
                                                                                                                                                      INPUT "Введите новое значение для делителя: "; y%
                                                                                                                                                      RESUME ' Повторяет выполнение строки 30 с новым значением для y%

                                                                                                                                                 CASE ELSE
                                                                                                                                                      PRINT "Нераспознанная ошибка, завершение программы"
                                                                                                                                                      END
                                                                                                                                            END SELECT
                                                                                                                                              ON
                                                                                                                                              ключевое слово
                                                                                                                                              СПРАВКА: Ключевое слово ON
                                                                                                                                              • Включает отслеживание ошибки при использовании с оператором ON ERROR.
                                                                                                                                              • Включает отслеживание события при использовании с операторами события ON (COM ON, KEY ON, PEN ON, PLAY ON, STRIG ON и TIMER ON).
                                                                                                                                              • Указывает, какое событие отслеживать при использовании с ON-операторами события (ON COM, ON KEY, ON PEN, ON PLAY, ON STRING, and ON TIMER).
                                                                                                                                              • Указывает, какое выражение оценивать при использовании с операторами ON...GOSUB и ON...GOTO.
                                                                                                                                              TIMER
                                                                                                                                              ON TIMER

                                                                                                                                              операторы
                                                                                                                                              СПРАВКА: Операторы TIMER, ON TIMER
                                                                                                                                              TIMER включает, выключает или приостанавливает отслеживание события для таймера. При включенном отслеживании события ON TIMER обращается к подпрограмме, как только прошло указанное число секунд.
                                                                                                                                              TIMER ON
                                                                                                                                              TIMER OFF
                                                                                                                                              TIMER STOP
                                                                                                                                              ON TIMER(n%) GOSUB строка
                                                                                                                                              • TIMER ON - включает отслеживание события для таймера.
                                                                                                                                              • TIMER OFF - выключает отслеживание события для таймера.
                                                                                                                                              • TIMER STOP - приостанавливает отслеживание события. События обрабатываются при включении TIMER ON отслеживания события.
                                                                                                                                              • n% - число секунд, которые должны пройти, прежде чем ON TIMER обратится к подпрограмме отслеживания события; значения находятся в пределах от 1 до 86400 (24 часа).
                                                                                                                                              • строка - метка или номер первой строки подпрограммы отслеживания события.
                                                                                                                                              Пример:
                                                                                                                                              ON TIMER(1) GOSUB TimeUpdate
                                                                                                                                              TIMER ON
                                                                                                                                              CLS
                                                                                                                                              PRINT "Время: "; TIME$
                                                                                                                                              StartTime = TIMER
                                                                                                                                              WHILE TimePast < 10
                                                                                                                                                   TimePast = TIMER - StartTime
                                                                                                                                              WEND
                                                                                                                                              END

                                                                                                                                              TimeUpdate:
                                                                                                                                              LOCATE 1, 8: PRINT TIME$
                                                                                                                                              RETURN
                                                                                                                                                ON...GOSUB
                                                                                                                                                ON...GOTO

                                                                                                                                                операторы
                                                                                                                                                СПРАВКА: Операторы ON...GOSUB, ON...GOTO
                                                                                                                                                Выполняет переход в одно из нескольких положений в зависимости от значения выражения. ON выражение% GOSUB список_строк
                                                                                                                                                ON выражение% GOTO список_строк
                                                                                                                                                • выражение% - выражение в диапазоне от 0 до 255.
                                                                                                                                                • список_строк - набор меток или номеров строк. Если значение выражения равно 1, то программа переходит в первую строку из списка; если выражение равно 2, то программа переходит во вторую строку из списка и т.д.
                                                                                                                                                • SELECT CASE предоставляет более удобный путь для ветвления программы.
                                                                                                                                                Пример:
                                                                                                                                                FOR i% = 1 TO 2
                                                                                                                                                     ON i% GOSUB One, Two
                                                                                                                                                NEXT i%
                                                                                                                                                END

                                                                                                                                                One: PRINT "Один"
                                                                                                                                                RETURN
                                                                                                                                                Two: PRINT "Два"
                                                                                                                                                RETURN
                                                                                                                                                  OPEN
                                                                                                                                                  оператор
                                                                                                                                                  СПРАВКА: Оператор OPEN
                                                                                                                                                  Открывает файл или устройство.

                                                                                                                                                  OPEN файл$ [FOR режим] [ACCESS доступ] [закр] AS [#]номер_файла% [LEN=д_зап%]
                                                                                                                                                  • файл$ - имя файла или устройства. Имя файла может включать устройство и путь.
                                                                                                                                                  • режим - один из следующих режимов файла: APPEND, BINARY, INPUT, OUTPUT или RANDOM.

                                                                                                                                                    СПРАВКА: Оператор OPEN Режимы Файла
                                                                                                                                                    Ключевые слова APPEND, BINARY, INPUT, OUTPUT и RANDOM используются в операторе OPEN для указания режимов. Кроме того, INPUT, OUTPUT и RANDOM используются в операторе OPEN COM.
                                                                                                                                                    • APPEND указывает, что файл должен быть открыт для последовательного вывода, и устанавливает указатель файла в конец файла. В этом случае операторы PRINT # или WRITE # дополняют файл.
                                                                                                                                                    • BINARY указывает бинарный режим файла. В бинарном режиме Вы можете считывать или записывать информацию в позицию любого байта, используя операторы GET и PUT.
                                                                                                                                                    • INPUT указывает, что файл открыт для последовательного ввода.
                                                                                                                                                    • OUTPUT указывает, что файл открыт для последовательного вывода.
                                                                                                                                                    • RANDOM указывает, что файл открыт в режиме прямого доступа к файлу. Этот режим устанавливается по умолчанию.
                                                                                                                                                  • доступ - при работе в сети указывает, открыт ли файл для READ (чтения), WRITE (записи) или READ WRITE (чтения-записи).

                                                                                                                                                    СПРАВКА: Оператор OPEN Предложение ACCESS
                                                                                                                                                    Указывает тип доступа, который получает пользователь к открытому файлу.
                                                                                                                                                    ACCESS {READ | WRITE | READ WRITE}
                                                                                                                                                    • READ - открывает файл только для чтения.
                                                                                                                                                    • WRITE - открывает файл только для записи.
                                                                                                                                                    • READ WRITE - открывает файл как для чтения, так и для записи. Режим READ WRITE действителен только для бинарных и файлов прямого доступа, а также для файлов, открытых с APPEND (последовательный доступ).

                                                                                                                                                  • закр - показывает, как файл закрыт для сетевого доступа: SHARED (общий), LOCK READ (закрыт для чтения), LOCK WRITE (закрыт для записи), LOCK READ WRITE (закрыт для чтения-записи).
                                                                                                                                                  • номер_файла% - номер в пределах от 1 до 255, идентифицирующий открытый файл.
                                                                                                                                                  • д_зап% - для файлов прямого доступа - длина записи (по умолчанию 128 байт). Для последовательных файлов - число буферированных символов (по умолчанию 512 байт).
                                                                                                                                                  Пример:
                                                                                                                                                  INPUT "Введите имя файла: "; n$
                                                                                                                                                  OPEN n$ FOR OUTPUT AS #1
                                                                                                                                                  PRINT #1, "Это хранится в файле"
                                                                                                                                                  CLOSE
                                                                                                                                                  OPEN n$ FOR INPUT AS #1
                                                                                                                                                  INPUT #1, a$
                                                                                                                                                  PRINT "Чтение из файла: "; a$
                                                                                                                                                  CLOSE
                                                                                                                                                    OPEN COM
                                                                                                                                                    оператор
                                                                                                                                                    СПРАВКА: Оператор OPEN COM
                                                                                                                                                    Открывает и инициализирует канал связи для ввода или вывода (В/ВВ). Оператор OPEN COM должен быть выполнен до начала работы с устройством, использующим для связи интерфейс RS232.
                                                                                                                                                    OPEN "COMn: параметры1 параметры2" [FOR режим] AS [#]filenum% [LEN=reclen%]
                                                                                                                                                    • n - открываемый порт связи (1 = COM1, 2 = COM2).
                                                                                                                                                    • параметры1 - наиболее часто используемые параметры связи:
                                                                                                                                                      [бод] [,[паритет] [,[данные] [,[стоп]]]]
                                                                                                                                                      • бод - скорость передачи данных (в бодах) открываемого устройства: 75, 110, 150, 300, 600, 1200, 2400, 4800, 9600
                                                                                                                                                      • паритет - вариант контроля паритета: N (отсутствует), E (по четности), O (по нечетности), S (с промежутком), M (с маркером), PE (включение проверки ошибок)
                                                                                                                                                      • данные - число битов данных в байте: 5, 6, 7, 8
                                                                                                                                                      • стоп - число стоповых битов: 1, 1.5, 2
                                                                                                                                                      • По умолчанию: 300 бод, по четности, 7 битов данных, 1 стоповый бит.
                                                                                                                                                    • параметры2 - список реже используемых параметров, разделяемых запятыми:
                                                                                                                                                      • ASC - открывает устройство в режиме ASCII.
                                                                                                                                                      • BIN - открывает устройство в двоичном режиме.
                                                                                                                                                      • CD[m] - устанавливает тайм-аут (в миллисекундах) для линии DCD (Data Carrier Detect).
                                                                                                                                                      • CS[m] - устанавливает тайм-аут (в миллисекундах) для линии CTS (Clear to Send).
                                                                                                                                                      • DS[m] - устанавливает тайм-аут (в миллисекундах) для линии DS (Data Set Ready).
                                                                                                                                                      • LF - посылает символ перевода строки после символа возврата каретки.
                                                                                                                                                      • OP[m] - задает время ожидания (в миллисекундах) OPEN COM открытия каналов связи.
                                                                                                                                                      • RB[n] - устанавливает размер (в байтах) принимающего буфера.
                                                                                                                                                      • RS - подавляет обнаружение сигнала "Запрос на передачу" (RTS).
                                                                                                                                                      • TB[n] - устанавливает размер (в байтах) передающего буфера.
                                                                                                                                                    • режим - INPUT, OUTPUT, или RANDOM (по умолчанию).

                                                                                                                                                      СПРАВКА: Оператор OPEN Режимы Файла
                                                                                                                                                      Ключевые слова APPEND, BINARY, INPUT, OUTPUT и RANDOM используются в операторе OPEN для указания режимов. Кроме того, INPUT, OUTPUT и RANDOM используются в операторе OPEN COM.
                                                                                                                                                      • APPEND указывает, что файл должен быть открыт для последовательного вывода, и устанавливает указатель файла в конец файла. В этом случае операторы PRINT # или WRITE # дополняют файл.
                                                                                                                                                      • BINARY указывает бинарный режим файла. В бинарном режиме Вы можете считывать или записывать информацию в позицию любого байта, используя операторы GET и PUT.
                                                                                                                                                      • INPUT указывает, что файл открыт для последовательного ввода.
                                                                                                                                                      • OUTPUT указывает, что файл открыт для последовательного вывода.
                                                                                                                                                      • RANDOM указывает, что файл открыт в режиме прямого доступа к файлу. Этот режим устанавливается по умолчанию.

                                                                                                                                                    • filenum% - число в пределах от 1 до 255, идентифицирующее канал связи, пока он открыт.
                                                                                                                                                    • reclen% - размер буфера режима прямого доступа (по умолчанию 128 байтов).
                                                                                                                                                    Пример:
                                                                                                                                                    'Используйте данный пример при проблемах с коммуникациями через последовательный порт.
                                                                                                                                                    OPEN "COM1:300,N,8,1,CD0,CS0,DS0,OP0,RS,TB2048,RB2048" FOR RANDOM AS #1
                                                                                                                                                      OPTION BASE
                                                                                                                                                      оператор
                                                                                                                                                      СПРАВКА: Оператор OPTION BASE
                                                                                                                                                      Устанавливает нижнюю границу индекса массива, принимаемую по умолчанию.
                                                                                                                                                      OPTION BASE {0 | 1}
                                                                                                                                                      • Предложение TO в операторе DIM предоставляет более удобный способ установки нижней границы.
                                                                                                                                                      PAINT
                                                                                                                                                      оператор
                                                                                                                                                      СПРАВКА: Оператор PAINT
                                                                                                                                                      Заполняет графическую область указанным цветом или образцом.
                                                                                                                                                      PAINT [STEP] (x!,y!)[,[{цвет% | образец$}] [,[цвет_границ%] [,фон$]]]
                                                                                                                                                      • STEP - указывает, что координаты задаются относительно текущей графической позиции курсора.
                                                                                                                                                      • (x!,y!) - координаты экрана начала зарисовки.
                                                                                                                                                      • color% - атрибут цвета, устанавливающий заполняющий цвет.
                                                                                                                                                      • образец$ - образец заполнения шириной 8 бит и длиной до 64 байт, определяемый следующим образом:
                                                                                                                                                        образец$ = CHR$(arg1) + CHR$(arg2) + ... + CHR$(argn%)
                                                                                                                                                        Аргументы CHR$ - числа в пределах от 0 до 255.
                                                                                                                                                        Каждый CHR$(argn%) определяет 1-байт, участок в 8 пикселов образца, основанного на бинарной форме числа.
                                                                                                                                                      • цвет_границ% - атрибут цвета, указывающий цвет границы заполняемой области. PAINT прекращает заполнение области, когда он наталкивается на границу указанного цвета.
                                                                                                                                                      • фон$ - 1 байт, фон участка в 8 пикселов образца. Указание фона участка образца позволяет Вам зарисовывать уже зарисованную область.
                                                                                                                                                      • Допустимые атрибуты цвета зависят от Вашего графического адаптера и режима экрана, установленного последним оператором SCREEN.
                                                                                                                                                      Пример:
                                                                                                                                                      SCREEN 1
                                                                                                                                                      CIRCLE (106, 100), 75, 1
                                                                                                                                                      LINE (138, 35)-(288, 165), 1, B
                                                                                                                                                      PAINT (160, 100), 2, 1
                                                                                                                                                        PALETTE
                                                                                                                                                        PALETTE USING

                                                                                                                                                        операторы
                                                                                                                                                        СПРАВКА: Операторы PALETTE, PALETTE USING
                                                                                                                                                        Изменяет установки атрибутов цвета в текущем режиме экрана. PALETTE и PALETTE USING работают только в системах с адаптерами EGA, VGA или MCGA.

                                                                                                                                                        PALETTE [атрибут%,цвет&]
                                                                                                                                                        PALETTE USING имя_массива#[(индекс%)]
                                                                                                                                                        • атрибут% - изменяемый атрибут цвета.
                                                                                                                                                        • цвет& - значение цвета, присвоенное атрибуту.
                                                                                                                                                        • имя_массива# - массив значений цвета, который присваивается текущей группе атрибутов цвета экрана. Массив должен быть достаточно большим для присвоения цветов всем атрибутам.
                                                                                                                                                        • индекс% - индекс первого элемента массива, который присваивается атрибуту.
                                                                                                                                                        • Допустимые атрибуты и значения цвета зависят от Вашего графического адаптера и режима экрана, установленного последним оператором SCREEN.
                                                                                                                                                        Пример:
                                                                                                                                                        PALETTE 0, 1
                                                                                                                                                        SCREEN 1
                                                                                                                                                        FOR i% = 0 TO 3: a%(i%) = i%: NEXT i%
                                                                                                                                                        LINE (138, 35)-(288, 165), 3, BF
                                                                                                                                                        LINE (20, 10)-(160, 100), 2, BF
                                                                                                                                                        DO
                                                                                                                                                             FOR i% = 0 TO 3
                                                                                                                                                                  a%(i%) = (a%(i%) + 1) MOD 16
                                                                                                                                                             NEXT i%
                                                                                                                                                             PALETTE USING a%(0)
                                                                                                                                                        LOOP WHILE INKEY$ = ""
                                                                                                                                                          PCOPY
                                                                                                                                                          оператор
                                                                                                                                                          СПРАВКА: Оператор PCOPY
                                                                                                                                                          Копирует одну страницу видеопамяти в другую.
                                                                                                                                                          PCOPY исх_страница%,приним_страница%
                                                                                                                                                          • исх_страница% - номер копируемой страницы видеопамяти.
                                                                                                                                                          • приним_страница% - номер страницы видеопамяти, в которую копируют.
                                                                                                                                                          • Значение, идентифицирующее видеостраницу, определяется размером видеопамяти и текущим режимом экрана.
                                                                                                                                                          Пример:
                                                                                                                                                          PCOPY 1, 3
                                                                                                                                                            PEEK
                                                                                                                                                            функция

                                                                                                                                                            POKE
                                                                                                                                                            оператор
                                                                                                                                                            СПРАВКА: Функция PEEK, Оператор POKE
                                                                                                                                                            PEEK возвращает значение байта, хранящегося в указанном месте памяти.
                                                                                                                                                            POKE записывает значение байта в указанное место памяти.

                                                                                                                                                            PEEK(адрес)
                                                                                                                                                            POKE адрес,байт%
                                                                                                                                                            • адрес - позиция байта относительно адреса текущего сегмента, установленного DEF SEG; значения в пределах от 0 до 65535.
                                                                                                                                                            • байт% - значение байта для записи в указанное место памяти; значения в пределах от 0 до 255.
                                                                                                                                                            Пример:
                                                                                                                                                            DEF SEG = 0
                                                                                                                                                            Status% = PEEK(&H417) 'Считывает статус клавиатуры.
                                                                                                                                                            POKE &H417, (Status% XOR &H40) 'Изменяет состояние Caps Lock, бит 6.
                                                                                                                                                              PEN
                                                                                                                                                              функция
                                                                                                                                                              СПРАВКА: Функция PEN
                                                                                                                                                              Возвращает статус светового пера.
                                                                                                                                                              PEN(n%)
                                                                                                                                                              • n% - указывает информацию, которая должна быть возвращена о статусе светового пера:
                                                                                                                                                                n%Возвращает
                                                                                                                                                                0Использовалось ли световое перо после последнего вызова (-1 если да, 0 если нет).
                                                                                                                                                                1Координату X последнего нажатия пера.
                                                                                                                                                                2Координату Y последнего нажатия пера.
                                                                                                                                                                3Текущий статус переключателя пера (-1 если вниз, 0 если вверх)
                                                                                                                                                                4Координату Х места, где последний раз использовалось перо.
                                                                                                                                                                5Координату Y места, где последний раз использовалось перо.
                                                                                                                                                                6Символ строки последнего нажатия пера.
                                                                                                                                                                7Символ столбца последнего нажатия пера.
                                                                                                                                                                8Символ строки, где последний раз использовалось перо.
                                                                                                                                                                9Символ столбца, где последний раз использовалось перо.
                                                                                                                                                              Пример:
                                                                                                                                                              DO
                                                                                                                                                                   P = PEN(3)
                                                                                                                                                                   LOCATE 1, 1: PRINT "Перо находится "
                                                                                                                                                                   IF P THEN PRINT "вверху" ELSE PRINT "внизу "
                                                                                                                                                                   PRINT "X ="; PEN(4), " Y ="; PEN(5); " "
                                                                                                                                                              LOOP
                                                                                                                                                                PEN
                                                                                                                                                                ON PEN

                                                                                                                                                                операторы
                                                                                                                                                                СПРАВКА: Операторы PEN, ON PEN
                                                                                                                                                                PEN включает, выключает или приостанавливает отслеживание события для светового пера. При включенном отслеживании события ON PEN обращается к подпрограмме при каждой активизации светового пера.
                                                                                                                                                                PEN ON
                                                                                                                                                                PEN OFF
                                                                                                                                                                PEN STOP
                                                                                                                                                                ON PEN GOSUB строка
                                                                                                                                                                • PEN ON - включает отслеживание события для светового пера.
                                                                                                                                                                • PEN OFF - выключает отслеживание события для светового пера.
                                                                                                                                                                • PEN STOP - приостанавливает отслеживание события для светового пера. События обрабатываются при включении PEN ON отслеживания события.
                                                                                                                                                                • строка - метка или номер первой строки подпрограммы отслеживания события.
                                                                                                                                                                Пример:
                                                                                                                                                                'Для выполнения этого примера нужно световое перо.
                                                                                                                                                                ON PEN GOSUB Handler
                                                                                                                                                                PEN ON
                                                                                                                                                                PRINT "Для выхода нажмите Esc"
                                                                                                                                                                DO UNTIL INKEY$ = CHR$(27): LOOP
                                                                                                                                                                END

                                                                                                                                                                Handler:
                                                                                                                                                                PRINT "Перо - в строке"; PEN(6); ", столбце"; PEN(7)
                                                                                                                                                                RETURN
                                                                                                                                                                  PLAY
                                                                                                                                                                  функция
                                                                                                                                                                  СПРАВКА: Функция PLAY
                                                                                                                                                                  Возвращает число музыкальных нот в фоновой очереди.
                                                                                                                                                                  PLAY(n)
                                                                                                                                                                  • n -любое числовое выражение.
                                                                                                                                                                  Пример:
                                                                                                                                                                  Music$ = "MBT180o2P2P8L8GGGL2E-P24P8L8FFFL2D"
                                                                                                                                                                  PLAY Music$
                                                                                                                                                                  WHILE PLAY(0) > 5: WEND
                                                                                                                                                                  PRINT "Почти закончили!"
                                                                                                                                                                    PLAY (Музыка)
                                                                                                                                                                    оператор
                                                                                                                                                                    СПРАВКА: Оператор PLAY (Музыка)
                                                                                                                                                                    Играет музыкальные ноты.
                                                                                                                                                                    PLAY строка_команд$
                                                                                                                                                                    • строка_команд$ - выражение, состоящее из одной или нескольких следующих команд PLAY:

                                                                                                                                                                      Команды октавы и тона:
                                                                                                                                                                      OоктаваЗадает текущую октаву (0 - 6).
                                                                                                                                                                      < или >Переходит на одну октаву вверх или вниз.
                                                                                                                                                                      A - GИграет определенную ноту текущей октавы.
                                                                                                                                                                      NнотаИграет определенную ноту (0 - 84) в диапазоне семи октав (0 - сброс).

                                                                                                                                                                      Команды длительности и темпа:
                                                                                                                                                                      LразмерЗадает длительность каждой ноты (1 - 64). L1 - целая нота, L2 - 1/2 ноты и т.д.
                                                                                                                                                                      MLВид исполнения legato.
                                                                                                                                                                      MNВид исполнения normal.
                                                                                                                                                                      MSВид исполнения staccato.
                                                                                                                                                                      PпаузаЗадает паузу (1 - 64). P1 - пауза в целую ноту, P2 - пауза в 1/2 ноты и т.д.
                                                                                                                                                                      TтемпЗадает темп исполнения в четвертях в минуту (32-255).

                                                                                                                                                                      Команды режима:
                                                                                                                                                                      MFОсновное звучание.
                                                                                                                                                                      MBФоновое звучание.

                                                                                                                                                                      Команды изменения ноты:
                                                                                                                                                                      # или +Диез.
                                                                                                                                                                      -Бемоль.
                                                                                                                                                                      .Длительность 3/2 от размера ноты.

                                                                                                                                                                    • Для выполнения подстрок команды PLAY из строки команды PLAY используйте команду "X":
                                                                                                                                                                      PLAY "X"+ VARPTR$(строка_команд$)
                                                                                                                                                                    Пример:
                                                                                                                                                                    'Последовательно проигрывает все ноты в 7 октавах
                                                                                                                                                                    scale$ = "CDEFGAB"
                                                                                                                                                                    PLAY "L16"
                                                                                                                                                                    FOR i% = 0 TO 6
                                                                                                                                                                         PLAY "O" + STR$(i%)
                                                                                                                                                                         PLAY "X" + VARPTR$(scale$)
                                                                                                                                                                    NEXT i%
                                                                                                                                                                      PMAP
                                                                                                                                                                      функция
                                                                                                                                                                      СПРАВКА: Функция PMAP
                                                                                                                                                                      Возвращает координату окна эквивалентную координате области просмотра, определенную оператором WINDOW, или наоборот.
                                                                                                                                                                      PMAP (начальная_координата#, n%)
                                                                                                                                                                      • начальная_координата# - координата окна или области просмотра.
                                                                                                                                                                      • n% - значение, определяющее какую координату возвратить:
                                                                                                                                                                        начальная_координатаn%Возвращает
                                                                                                                                                                        Координата Х окна0Координату Х области просмотра
                                                                                                                                                                        Координата Y окна1Координату Y области просмотра
                                                                                                                                                                        Координата Х области просмотра2Координату Х окна
                                                                                                                                                                        Координата Y области просмотра3Координату Y окна

                                                                                                                                                                        Пример:
                                                                                                                                                                        SCREEN 1
                                                                                                                                                                        WINDOW SCREEN (0, 0)-(100, 100)
                                                                                                                                                                        PRINT "Логическая x=50, физическая x="; PMAP(50, 0)
                                                                                                                                                                        PRINT "Логическая y=50, физическая y="; PMAP(50, 1)
                                                                                                                                                                        PLAY
                                                                                                                                                                        ON PLAY
                                                                                                                                                                        (Отслеживание событий)

                                                                                                                                                                        операторы
                                                                                                                                                                        СПРАВКА: Операторы PLAY, ON PLAY (Отслеживание событий)
                                                                                                                                                                        PLAY включает, выключает или приостанавливает отслеживание события при игре музыки. При включенном отслеживании события ON PLAY обращается к подпрограмме каждый раз, когда в музыкальном буфере содержится число нот, меньшее указанного числа.
                                                                                                                                                                        PLAY ON
                                                                                                                                                                        PLAY OFF
                                                                                                                                                                        PLAY STOP
                                                                                                                                                                        ON PLAY(лимит_очереди%) GOSUB строка
                                                                                                                                                                        • PLAY ON - включает отслеживание события при игре музыки.
                                                                                                                                                                        • PLAY OFF - выключает отслеживание события при игре музыки.
                                                                                                                                                                        • PLAY STOP - приостанавливает отслеживание события при игре музыки. События обрабатываются при включении PLAY ON отслеживания события.
                                                                                                                                                                        • лимит_очереди% - число в пределах от 1 до 32. ON PLAY обращается к подпрограмме, когда число нот в музыкальном буфере меньше числа лимит_очереди%.
                                                                                                                                                                        • строка - метка или номер первой строки подпрограммы отслеживания события.
                                                                                                                                                                        Пример:
                                                                                                                                                                        ON PLAY(3) GOSUB Background
                                                                                                                                                                        PLAY ON
                                                                                                                                                                        Music$ = "MBo3L8ED+ED+Eo2Bo3DCL2o2A"
                                                                                                                                                                        PLAY Music$
                                                                                                                                                                        LOCATE 2, 1: PRINT "Для останова нажмите любую клавишу";
                                                                                                                                                                        DO WHILE INKEY$ = "": LOOP
                                                                                                                                                                        END

                                                                                                                                                                        Background:
                                                                                                                                                                        i% = i% + 1
                                                                                                                                                                        LOCATE 1, 1: PRINT "Фон был вызван "; i%; "раз(а)";
                                                                                                                                                                        PLAY Music$
                                                                                                                                                                        RETURN
                                                                                                                                                                          POINT
                                                                                                                                                                          функция
                                                                                                                                                                          СПРАВКА: Функция POINT
                                                                                                                                                                          Возвращает текущие графические координаты курсора и атрибут цвета заданной точки растра (элемента растра).
                                                                                                                                                                          POINT {(n%) | (x%,y%)}
                                                                                                                                                                          • (n%) - указывает тип возвращаемых координат:
                                                                                                                                                                            n%Возвращает
                                                                                                                                                                            0Текущую координату Х области просмотра
                                                                                                                                                                            1Текущую координату Y области просмотра
                                                                                                                                                                            2Текущую координату Х окна
                                                                                                                                                                            3Текущую координату Y окна

                                                                                                                                                                          • (x%,y%) - координаты точки растра, которую POINT проверяет на цвет. Если координаты находятся за пределами текущей области просмотра, POINT возвращает -1.
                                                                                                                                                                          Пример:
                                                                                                                                                                          SCREEN 1
                                                                                                                                                                          LINE (0, 0)-(100, 100), 2
                                                                                                                                                                          LOCATE 14, 1
                                                                                                                                                                          FOR y% = 1 TO 10
                                                                                                                                                                               FOR x% = 1 TO 10
                                                                                                                                                                                    PRINT POINT(x%, y%);
                                                                                                                                                                               NEXT x%
                                                                                                                                                                               PRINT
                                                                                                                                                                          NEXT y%
                                                                                                                                                                            PRESET
                                                                                                                                                                            PSET

                                                                                                                                                                            операторы
                                                                                                                                                                            СПРАВКА: Операторы PRESET, PSET
                                                                                                                                                                            Рисует заданную точку на экране.
                                                                                                                                                                            PRESET [STEP] (x!,y!) [,color%]
                                                                                                                                                                            PSET [STEP] (x!,y!) [,color%]
                                                                                                                                                                            • STEP - указывает, что x! и y! заданы относительно текущего графического положения курсора.
                                                                                                                                                                            • (x!,y!) - координаты экрана устанавливаемой точки растра.
                                                                                                                                                                            • color% - атрибут цвета, устанавливаемый для точки растра. Если color% опущен, PRESET использует текущий цвет фона, а PSET использует текущий цвет переднего плана.
                                                                                                                                                                            • Доступные атрибуты цвета зависят от Вашего графического видеоадаптера и режима экрана. Значения координат зависят от графического видеоадаптера, режима экрана и последних установок в операторах VIEW и WINDOW.
                                                                                                                                                                            Пример:
                                                                                                                                                                            SCREEN 1
                                                                                                                                                                            FOR i% = 0 TO 320
                                                                                                                                                                                 PSET (i%, 100)
                                                                                                                                                                                 FOR delay% = 1 TO 100: NEXT delay%
                                                                                                                                                                                 PRESET (i%, 100)
                                                                                                                                                                            NEXT i%
                                                                                                                                                                              PRINT
                                                                                                                                                                              LPRINT

                                                                                                                                                                              операторы
                                                                                                                                                                              СПРАВКА: Операторы PRINT, LPRINT
                                                                                                                                                                              PRINT выводит данные на экран или записывает их в файл.
                                                                                                                                                                              LPRINT печатает данные на принтере LPT1.
                                                                                                                                                                              PRINT [#номер_файла%,] [выражения] [{; | ,}]
                                                                                                                                                                              LPRINT [выражения] [{; | ,}]
                                                                                                                                                                              • номер_файла% - номер открытого файла. Если номер файла не указан, PRINT выводит данные на экран.
                                                                                                                                                                              • выражения - одно или несколько числовых или символьных выражений для печати.
                                                                                                                                                                              • {; | ,} - определяет, где начинается следующий вывод:
                                                                                                                                                                                • ; - печать сразу после последнего значения.
                                                                                                                                                                                • , - печать в начале следующей зоны печати.
                                                                                                                                                                                • Ширина зоны печати - 14 символов.
                                                                                                                                                                              Пример:
                                                                                                                                                                              OPEN "ТЕСТ.ДАН" FOR OUTPUT AS #1
                                                                                                                                                                              PRINT #1, USING "##.### "; 12.12345
                                                                                                                                                                              CLOSE
                                                                                                                                                                              OPEN "ТЕСТ.ДАН" FOR INPUT AS #1
                                                                                                                                                                              INPUT #1, a$
                                                                                                                                                                              PRINT a$
                                                                                                                                                                              LPRINT "Это строка "; 1
                                                                                                                                                                              LPRINT "Это строка ",
                                                                                                                                                                              LPRINT 2
                                                                                                                                                                                PRINT USING
                                                                                                                                                                                LPRINT USING

                                                                                                                                                                                операторы
                                                                                                                                                                                СПРАВКА: Операторы PRINT USING, LPRINT USING
                                                                                                                                                                                PRINT USING записывает отформатированный вывод на экран или в файл.
                                                                                                                                                                                LPRINT USING печатает отформатированный вывод на принтере LPT1.
                                                                                                                                                                                PRINT [#номер_файла%,] USING символы_формата$; выражения [{; | ,}]
                                                                                                                                                                                LPRINT USING символы_формата$; выражения [{; | ,}]
                                                                                                                                                                                • номер_файла% - номер следующего открытого файла.
                                                                                                                                                                                • символы_формата$; - символьное выражение, содержащее один и более определителей формата.
                                                                                                                                                                                • выражения - одно или несколько числовых или символьных выражений, разделенных запятыми, точкой с запятой, пробелами или табуляцией.
                                                                                                                                                                                • {; | ,} - определяет, где начинается следующий вывод:
                                                                                                                                                                                  • ; - печать сразу после последнего значения.
                                                                                                                                                                                  • , - печать в начале следующей зоны печати.
                                                                                                                                                                                  • Ширина зоны печати - 14 символов.
                                                                                                                                                                                СПРАВКА: Определители формата
                                                                                                                                                                                Символы, форматирующие числовые выражения
                                                                                                                                                                                #Позиция цифры
                                                                                                                                                                                .Позиция десятичной точки
                                                                                                                                                                                ,Слева от десятичной точки печатает запятую после каждой третьей цифры
                                                                                                                                                                                +Позиция знака числа
                                                                                                                                                                                ^^^^Печать в степенном формате
                                                                                                                                                                                -После цифры печатает конечный знак для отрицательных чисел
                                                                                                                                                                                $$Печать предшествующего $
                                                                                                                                                                                **Заполняет места впереди *
                                                                                                                                                                                **$Совмещает ** и $$
                                                                                                                                                                                Символы, форматирующие символьные выражения
                                                                                                                                                                                &Печать целого выражения
                                                                                                                                                                                !Печать только первого символа выражения
                                                                                                                                                                                \ \Печать первых n символов, где n - число пробелов между косыми чертами + 2
                                                                                                                                                                                Символы, используемые для печати символьных констант
                                                                                                                                                                                _Печать следующего форматируемого символа как литерала
                                                                                                                                                                                Все не перечисленные здесь символы печатаются как литералы
                                                                                                                                                                                Пример:
                                                                                                                                                                                a = 123.4567
                                                                                                                                                                                PRINT USING "###.##"; a
                                                                                                                                                                                LPRINT USING "+###.####"; a
                                                                                                                                                                                a$ = "ABCDEFG"
                                                                                                                                                                                PRINT USING "!"; a$
                                                                                                                                                                                LPRINT USING "\ \"; a$
                                                                                                                                                                                  RANDOMIZE
                                                                                                                                                                                  оператор

                                                                                                                                                                                  RND
                                                                                                                                                                                  функция
                                                                                                                                                                                  СПРАВКА: Оператор RANDOMIZE, Функция RND
                                                                                                                                                                                  RANDOMIZE инициализирует генератор случайных чисел.
                                                                                                                                                                                  RND возвращает случайное число одинарной точности между 0 и 1.

                                                                                                                                                                                  RANDOMIZE [число%]
                                                                                                                                                                                  RND[(n#)]
                                                                                                                                                                                  • число% - число, используемое для инициализации генератора случайных чисел. Если опущено, то RANDOMIZE запрашивает его.
                                                                                                                                                                                  • n# - значение, устанавливающее то, как RND генерирует следующее случайное число:
                                                                                                                                                                                    n#RND возвращает
                                                                                                                                                                                    Меньше 0То же самое число для любых n#
                                                                                                                                                                                    Больше 0 (или опущено)Следующее случайное число
                                                                                                                                                                                    0Последнее сгенерированное число
                                                                                                                                                                                  Пример:
                                                                                                                                                                                  RANDOMIZE TIMER
                                                                                                                                                                                  x% = INT(RND * 6) + 1
                                                                                                                                                                                  y% = INT(RND * 6) + 1
                                                                                                                                                                                  PRINT "Координаты экрана: x ="; x%; "и y ="; y%
                                                                                                                                                                                    REM
                                                                                                                                                                                    оператор
                                                                                                                                                                                    СПРАВКА: Оператор REM
                                                                                                                                                                                    Позволяет вставлять комментарии в программы.
                                                                                                                                                                                    REM комментарий
                                                                                                                                                                                    ' комментарий
                                                                                                                                                                                    • комментарий - любой текст.
                                                                                                                                                                                    • При работе программы комментарии игнорируются, если только они не содержат метакоманды.
                                                                                                                                                                                    • Комментарий может быть вставлен в строке после выполняемого оператора, если перед комментарием стоит символ апострофа (') или перед REM стоит двоеточие (:).
                                                                                                                                                                                    Пример:
                                                                                                                                                                                    REM Это комментарий.
                                                                                                                                                                                    ' Это тоже комментарий.
                                                                                                                                                                                    PRINT "Тест1" 'Это комментарий после оператора PRINT.
                                                                                                                                                                                    PRINT "Тест2" : REM Это тоже комментарий после оператора PRINT.
                                                                                                                                                                                      RESET
                                                                                                                                                                                      оператор
                                                                                                                                                                                      СПРАВКА: Оператор RESET
                                                                                                                                                                                      Закрывает все открытые файлы и устройства.
                                                                                                                                                                                      RESET
                                                                                                                                                                                        RESUME
                                                                                                                                                                                        оператор
                                                                                                                                                                                        СПРАВКА: Оператор RESUME
                                                                                                                                                                                        Продолжает выполнение программы после подпрограммы обработки ошибок.
                                                                                                                                                                                        RESUME [{строка | NEXT}]
                                                                                                                                                                                        • строка - метка или номер строки для продолжения программы. Если метка равна 0 или отсутствует, выполнение продолжается с оператора, в котором была обнаружена ошибка.
                                                                                                                                                                                        • NEXT - продолжает выполнение программы со следующего оператора за оператором, в котором была обнаружена ошибка.
                                                                                                                                                                                        Пример:
                                                                                                                                                                                        'Иллюстрирует использование ERDEV, ERDEV$, ERL, ERR, ERROR, ON ERROR и RESUME.
                                                                                                                                                                                        ON ERROR GOTO Handler
                                                                                                                                                                                        10 CHDIR "a:\" 'Обнаружение ОШ. 71 "Нет готовности диска," если нет диска в дисководе A
                                                                                                                                                                                        20 y% = 0
                                                                                                                                                                                        30 x% = 5 / y% 'ОШ. 11 "Деление на ноль"
                                                                                                                                                                                        40 PRINT "x% ="; x%
                                                                                                                                                                                        50 ERROR 57 'ОШ. 57 "Ошибка В/ВВ на устройстве"

                                                                                                                                                                                        Handler:
                                                                                                                                                                                        PRINT
                                                                                                                                                                                        PRINT "Ошибка "; ERR; " в строке "; ERL
                                                                                                                                                                                        SELECT CASE ERR
                                                                                                                                                                                             CASE 71
                                                                                                                                                                                                  PRINT "Используемое устройство "; ERDEV$;
                                                                                                                                                                                                  PRINT " Код ошибки устройства = "; ERDEV
                                                                                                                                                                                                  RESUME NEXT
                                                                                                                                                                                             CASE 11
                                                                                                                                                                                                  INPUT "Введите новое значение для делителя: "; y%
                                                                                                                                                                                                  RESUME ' Повторяет выполнение строки 30 с новым значением для y%

                                                                                                                                                                                             CASE ELSE
                                                                                                                                                                                                  PRINT "Нераспознанная ошибка, завершение программы"
                                                                                                                                                                                                  END
                                                                                                                                                                                        END SELECT
                                                                                                                                                                                          RUN
                                                                                                                                                                                          оператор
                                                                                                                                                                                          СПРАВКА: Оператор RUN
                                                                                                                                                                                          Выполняет текущую или указанную программу.
                                                                                                                                                                                          RUN [{номер_строки | файл$}]
                                                                                                                                                                                          • номер_строки - номер строки в текущей программе, где должно начинаться выполнение программы. Если номер строки не указан, то выполнение программы начнется с первой выполняемой строки.
                                                                                                                                                                                          • файл$ - имя исходного файла Basic. QBasic ожидает расширение .BAS.
                                                                                                                                                                                          • Перед загрузкой программы, RUN закрывает все файлы и очищает память. Используйте оператор CHAIN для запуска программы, не закрывая при этом открытых файлов.
                                                                                                                                                                                          Пример:
                                                                                                                                                                                          'Предполагается, что программа TEST.BAS находится в каталоге \DOS.
                                                                                                                                                                                          RUN "C:\DOS\TEST.BAS"
                                                                                                                                                                                            SCREEN
                                                                                                                                                                                            функция
                                                                                                                                                                                            СПРАВКА: Функция SCREEN
                                                                                                                                                                                            Возвращает ASCII значение или атрибут цвета символа, находящегося в указанном месте экрана.
                                                                                                                                                                                            SCREEN (строка%,столбец% [,флаг_цвета%])
                                                                                                                                                                                            • строка% - координата строки символа.
                                                                                                                                                                                            • столбец% - координата столбца символа.
                                                                                                                                                                                            • флаг_цвета% - значение (0 или 1), указывающее что возвращать.
                                                                                                                                                                                              ЗначениеВозвращает
                                                                                                                                                                                              0 (или опущен)ASCII код символа
                                                                                                                                                                                              1Атрибут цвета символа
                                                                                                                                                                                            Пример:
                                                                                                                                                                                            CLS
                                                                                                                                                                                            PRINT "Привет"
                                                                                                                                                                                            PRINT "Значение кода ASCII символа в позиции 1,1 равно"; SCREEN(1, 1)
                                                                                                                                                                                            PRINT "Hello"
                                                                                                                                                                                            PRINT "Значение кода ASCII символа в позиции 3,1 равно"; SCREEN(3, 1)
                                                                                                                                                                                              SCREEN
                                                                                                                                                                                              оператор
                                                                                                                                                                                              СПРАВКА: Оператор SCREEN
                                                                                                                                                                                              Устанавливает режим и другие характеристики экрана.
                                                                                                                                                                                              SCREEN режим% [,[перекл_цвета%] [,[актив_стр%] [,видим_стр%]]]
                                                                                                                                                                                              • режим% - устанавливает режим экрана. СПРАВКА: Режимы Экрана
                                                                                                                                                                                                В следующей таблице дана обобщенная информация по режимам экрана:
                                                                                                                                                                                                SCREEN 0: Текстовый режим
                                                                                                                                                                                                • 40 x 25, 40 x 43, 40 x 50, 80 x 25, 80 x 43 или 80 x 50 формат текста 8 x 8 формат символа (8 x 14, 9 x 14 или 9 x 16 с EGA или VGA)
                                                                                                                                                                                                • 16 цветов назначаются любому из 16 атрибутов (с CGA или EGA)
                                                                                                                                                                                                • 64 цвета назначаются любому из 16 атрибутов (с EGA или VGA)
                                                                                                                                                                                                • В зависимости от разрешения текста и адаптера, 8 страниц видеопамяти (0-7), 4 страницы (0-3), 2 страницы (0-1) или 1 страница (0)
                                                                                                                                                                                                SCREEN 1: 320 x 200 графический режим
                                                                                                                                                                                                • 40 x 25 формат текста, 8 x 8 формат символа
                                                                                                                                                                                                • 16 фоновых цветов и один из двух наборов 3 цветов переднего плана, присвоенных с использованием оператора COLOR с CGA
                                                                                                                                                                                                • 16 цветов назначаются 4 атрибутам с EGA или VGA
                                                                                                                                                                                                • 1 страница видеопамяти (0)
                                                                                                                                                                                                SCREEN 2: 640 x 200 графический режим
                                                                                                                                                                                                • 80 x 25 формат текста, 8 x 8 формат символа
                                                                                                                                                                                                • 16 цветов назначаются 2 атрибутам с EGA или VGA
                                                                                                                                                                                                • 1 страница видеопамяти (0)
                                                                                                                                                                                                SCREEN 3: Нужен адаптер Hercules, только монохромный монитор
                                                                                                                                                                                                • 720 x 348 графический
                                                                                                                                                                                                • 80 x 25 формат текста, 9 x 14 формат символа
                                                                                                                                                                                                • Обычно 2 страницы видеопамяти (0-1); 1 страница (0), если установлен второй цветной видеоадаптер
                                                                                                                                                                                                • Оператор PALETTE не поддерживается
                                                                                                                                                                                                • Вызовите Hercules драйвер MSHERC.COM перед использованием режима экрана 3
                                                                                                                                                                                                SCREEN 4:
                                                                                                                                                                                                • Поддерживает персональные компьютеры фирмы Olivetti моделей M24, M240, M28, M280, M380, M380/C и M380/T, а также персональные компьютеры фирмы AT&T серии 6300
                                                                                                                                                                                                • 640 x 400 графический режим
                                                                                                                                                                                                • 80 x 25 формат текста, 8 x 16 формат символа
                                                                                                                                                                                                • 1 из 16 цветов присвоен цвету переднего плана (выбранный оператором COLOR); фон - неизменно черный
                                                                                                                                                                                                • 1 страница видеопамяти (0)
                                                                                                                                                                                                • Оператор PALETTE не поддерживается
                                                                                                                                                                                                SCREEN 7: 320 x 200 графический режим
                                                                                                                                                                                                • 40 x 25 формат текста, 8 x 8 формат символа
                                                                                                                                                                                                • Присвоение 16 цветов любому из 16 атрибутов
                                                                                                                                                                                                • При 64K памяти EGA адаптера - 2 страницы видеопамяти (0-1); в других случаях - 8 страниц (0-7)
                                                                                                                                                                                                SCREEN 8: 640 x 200 графический режим
                                                                                                                                                                                                • 80 x 25 формат текста, 8 x 8 формат символа
                                                                                                                                                                                                • Присвоение 16 цветов любому из 16 атрибутов
                                                                                                                                                                                                • При 64K памяти EGA адаптера - 1 страница видеопамяти (0); в других случаях, 4 страницы (0-3)
                                                                                                                                                                                                SCREEN 9: 640 x 350 графический режим
                                                                                                                                                                                                • 80 x 25 или 80 x 43 формат текста, 8 x 14 или 8 x 8 формат символа
                                                                                                                                                                                                • 16 цветов назначаются 4 атрибутам (память адаптера 64K) или 64 цвета назначаются 16 атрибутам (память адаптера более 64K)
                                                                                                                                                                                                • При 64K памяти EGA адаптера - 1 страница видеопамяти (0); в других случаях, 2 страницы (0-1)
                                                                                                                                                                                                SCREEN 10: 640 x 350 графический режим, только монохромные мониторы
                                                                                                                                                                                                • 80 x 25 или 80 x 43 формат текста, 8 x 14 или 8 x 8 формат символа
                                                                                                                                                                                                • Вплоть до 9 псевдоцветов назначаются 4 атрибутам
                                                                                                                                                                                                • 2 страницы видеопамяти (0-1), нужен адаптер с 256K памяти
                                                                                                                                                                                                Screen 11 (VGA или MCGA)
                                                                                                                                                                                                • 640 x 480 графический режим
                                                                                                                                                                                                • 80 x 30 или 80 x 60 формат текста, 8 x 16 или 8 x 8 формат символа
                                                                                                                                                                                                • Присвоение вплоть до 256K цветов 2 атрибутам
                                                                                                                                                                                                • 1 страница видеопамяти (0)
                                                                                                                                                                                                Screen 12 (VGA)
                                                                                                                                                                                                • 640 x 480 графический режим
                                                                                                                                                                                                • 80 x 30 или 80 x 60 формат текста, 8 x 16 или 8 x 8 формат символа
                                                                                                                                                                                                • Присвоение вплоть до 256K цветов 16 атрибутам
                                                                                                                                                                                                • 1 страница видеопамяти (0)
                                                                                                                                                                                                Screen 13 (VGA или MCGA)
                                                                                                                                                                                                • 320 x 200 графический режим
                                                                                                                                                                                                • 40 x 25 формат текста, 8 x 8 формат символа
                                                                                                                                                                                                • Присвоение вплоть до 256K цветов 256 атрибутам
                                                                                                                                                                                                • 1 страница видеопамяти (0)
                                                                                                                                                                                              • перекл_цвета% - значение (0 или 1), которое переключает между цветным и монохромным изображением (только в режимах 0 и 1):
                                                                                                                                                                                                РежимЗначениеДействие
                                                                                                                                                                                                00Отключает цвет
                                                                                                                                                                                                0Не нольВключает цвет
                                                                                                                                                                                                10Включает цвет
                                                                                                                                                                                                1Не нольОтключает цвет
                                                                                                                                                                                              • актив_стр% - страница экрана, в которую записывается вывод текста или графики.
                                                                                                                                                                                              • видим_стр% - страница экрана, отображаемая на экране в данный момент.
                                                                                                                                                                                              Пример:
                                                                                                                                                                                              SCREEN 1 '320 x 200 graphics
                                                                                                                                                                                              LINE (110, 70)-(190, 120), , B
                                                                                                                                                                                              LINE (0, 0)-(320, 200), 3, , &HFF00
                                                                                                                                                                                                SEEK
                                                                                                                                                                                                функция/оператор
                                                                                                                                                                                                СПРАВКА: Функция и Оператор SEEK
                                                                                                                                                                                                Функция SEEK возвращает текущую позицию файла.
                                                                                                                                                                                                Оператор SEEK устанавливает позицию файла для следующей записи или чтения.
                                                                                                                                                                                                SEEK(номер_файла%)
                                                                                                                                                                                                SEEK [#]номер_файла%, позиция&
                                                                                                                                                                                                • номер_файла% - номер открытого файла.
                                                                                                                                                                                                • позиция - позиция, в которой будет осуществляться следующее чтение или запись. Для файлов прямого доступа, номер записи. Для других файлов, позиция байта по отношению к началу файла. Первый байт находится в позиции 1.
                                                                                                                                                                                                Пример:
                                                                                                                                                                                                OPEN "TEST.DAT" FOR RANDOM AS #1
                                                                                                                                                                                                FOR i% = 1 TO 10
                                                                                                                                                                                                     PUT #1, , i%
                                                                                                                                                                                                NEXT i%
                                                                                                                                                                                                SEEK #1, 2
                                                                                                                                                                                                GET #1, , i%
                                                                                                                                                                                                PRINT "Данные: "; i%; " Текущая запись: "; LOC(1); " Следующая: "; SEEK(1)
                                                                                                                                                                                                  SELECT CASE
                                                                                                                                                                                                  оператор
                                                                                                                                                                                                  СПРАВКА: Оператор SELECT CASE
                                                                                                                                                                                                  Выполняет один из нескольких блоков операторов в зависимости от значения выражения.
                                                                                                                                                                                                  SELECT CASE тест_выражение
                                                                                                                                                                                                  CASE список_выражений1
                                                                                                                                                                                                       [блок_операторов-1]
                                                                                                                                                                                                  [CASE список_выражений2
                                                                                                                                                                                                       [блок_операторов-2]]...
                                                                                                                                                                                                  [CASE ELSE
                                                                                                                                                                                                       [блок_операторов-n]]
                                                                                                                                                                                                  END SELECT
                                                                                                                                                                                                  • тест_выражение - любое числовое или строковое выражение.
                                                                                                                                                                                                  • список_выражений1 - одно или несколько выражений для сравнения с тест_выражением. В выражении ключевое слово IS должно стоять перед любым знаком отношения.
                                                                                                                                                                                                    список_выражений2
                                                                                                                                                                                                  • блок_операторов-1 - один или несколько операторов в одной или нескольких строках. блок_операторов-2
                                                                                                                                                                                                    блок_операторов-n
                                                                                                                                                                                                  • Аргументы списка выражений могут могут принимать любую из следующих форм или их комбинацию и должны разделяться запятыми:
                                                                                                                                                                                                    выражение[,выражение]...
                                                                                                                                                                                                    выражение TO выражение
                                                                                                                                                                                                    IS оператор_отношения выражение
                                                                                                                                                                                                    • выражение - любое числовое или строковое выражение, совместимое с тест_выражением.
                                                                                                                                                                                                    • знак_отношения - один из следующих знаков отношения: <, <=, >, >=, <> или =.
                                                                                                                                                                                                  Пример:
                                                                                                                                                                                                  INPUT "Введите уровень риска (1-5): ", Total
                                                                                                                                                                                                  SELECT CASE Total
                                                                                                                                                                                                  CASE IS >= 5
                                                                                                                                                                                                       PRINT "Максимальный риск, шансов на возвращение практически нет."
                                                                                                                                                                                                       PRINT "Сходите в нотариальную контору."
                                                                                                                                                                                                  CASE 2 TO 4
                                                                                                                                                                                                       PRINT "Высокий риск, шансов на возвращение немного."
                                                                                                                                                                                                       PRINT "Проверьте снаряжение и припасы."
                                                                                                                                                                                                  CASE 1
                                                                                                                                                                                                       PRINT "Риск отсутствует, возврат гарантирован."
                                                                                                                                                                                                       PRINT "В Вас отсутствует дух авантюризма."
                                                                                                                                                                                                  END SELECT
                                                                                                                                                                                                    SHARED
                                                                                                                                                                                                    STATIC

                                                                                                                                                                                                    операторы
                                                                                                                                                                                                    СПРАВКА: Операторы SHARED, STATIC
                                                                                                                                                                                                    SHARED предоставляет процедурам доступ к переменным уровня модуля.
                                                                                                                                                                                                    STATIC делает переменную локальной для функции или процедуры и сохраняет ее значение между вызовами. SHARED переменная[()] [AS тип] [,переменная[()] [AS тип]]...
                                                                                                                                                                                                    STATIC переменная[()] [AS тип] [,переменная[()] [AS тип]]...
                                                                                                                                                                                                    • переменная - имя переменной уровня модуля или статической переменной. Имя переменной может быть длиной до 40 символов и должно начинаться с буквы. Допустимые символы: A-Z, 0-9 и точка (.).
                                                                                                                                                                                                    • AS тип - описывает тип данных переменной (INTEGER, LONG, SINGLE, DOUBLE, STRING или тип данных, определенный пользователем).
                                                                                                                                                                                                    SHELL
                                                                                                                                                                                                    оператор
                                                                                                                                                                                                    СПРАВКА: Оператор SHELL
                                                                                                                                                                                                    Приостанавливает выполнение программ Basic для запуска команд DOS или командного файла.
                                                                                                                                                                                                    SHELL [строка_команд$]
                                                                                                                                                                                                    • строка_команд$ - имя команды DOS или командного файла.
                                                                                                                                                                                                    • Выполнение Вашей программы возобновляется по завершении выполнения команды DOS или командного файла.
                                                                                                                                                                                                    • Если Вы опустили строку команд, SHELL вызывает COMMAND.COM и выводит на экран командное приглашение DOS. Для возобновления выполнения Вашей программы используйте команду EXIT.
                                                                                                                                                                                                    Пример:
                                                                                                                                                                                                    SHELL "DIR"
                                                                                                                                                                                                      SLEEP
                                                                                                                                                                                                      оператор
                                                                                                                                                                                                      СПРАВКА: Оператор SLEEP
                                                                                                                                                                                                      Приостанавливает выполнение программы.
                                                                                                                                                                                                      SLEEP [секунды&]
                                                                                                                                                                                                      • секунды& - число секунд приостановки программы.
                                                                                                                                                                                                      • Если секунды& равны 0 или опущены, программа будет приостановлена до тех пор, пока Вы не нажмете клавишу или не произойдет событие.
                                                                                                                                                                                                      Пример:
                                                                                                                                                                                                      PRINT "Вздремните 10 секунд..."
                                                                                                                                                                                                      SLEEP 10
                                                                                                                                                                                                      PRINT "Проснитесь!"
                                                                                                                                                                                                        SOUND
                                                                                                                                                                                                        оператор
                                                                                                                                                                                                        СПРАВКА: Оператор SOUND
                                                                                                                                                                                                        Генерирует звук через динамик Вашего компьютера.
                                                                                                                                                                                                        SOUND частота, длительность
                                                                                                                                                                                                        • частота - частота звука в Гц; значения находятся в пределах от 37 до 32767.
                                                                                                                                                                                                        • длительность - число тактов системных часов, в течение которых длится звук; значения - в диапазоне от 0 до 65535. Каждую секунду происходит 18.2 такта.
                                                                                                                                                                                                        Пример:
                                                                                                                                                                                                        FOR i% = 440 TO 1000 STEP 5
                                                                                                                                                                                                        SOUND i%, i% / 1000
                                                                                                                                                                                                        NEXT i%
                                                                                                                                                                                                          SPACE$
                                                                                                                                                                                                          функция
                                                                                                                                                                                                          СПРАВКА: Функция SPACE$
                                                                                                                                                                                                          Возвращает строку пробелов.
                                                                                                                                                                                                          SPACE$(n%)
                                                                                                                                                                                                          • n% - нужное число пробелов в строке.
                                                                                                                                                                                                          Пример:
                                                                                                                                                                                                          FOR i% = 1 TO 5
                                                                                                                                                                                                               x$ = SPACE$ (i%)
                                                                                                                                                                                                               PRINT x$; i%
                                                                                                                                                                                                          NEXT i%
                                                                                                                                                                                                            SPC
                                                                                                                                                                                                            функция
                                                                                                                                                                                                            СПРАВКА: Функция SPC
                                                                                                                                                                                                            Оставляет заданное число пробелов в операторах PRINT или LPRINT.
                                                                                                                                                                                                            SPC(n%)
                                                                                                                                                                                                            • n% - число пробелов; значения в диапазоне от 0 до 32767.
                                                                                                                                                                                                            Пример:
                                                                                                                                                                                                            PRINT "Текст1"; SPC(10); "Текст2"
                                                                                                                                                                                                              SQR
                                                                                                                                                                                                              функция
                                                                                                                                                                                                              СПРАВКА: Функция SQR
                                                                                                                                                                                                              Возвращает квадратный корень числового выражения.
                                                                                                                                                                                                              SQR(числ_выражение)
                                                                                                                                                                                                              • числ_выражение - значение большее или равное нулю.
                                                                                                                                                                                                              Пример:
                                                                                                                                                                                                              PRINT SQR(25), SQR(2) 'Вывод: 5 1.414214
                                                                                                                                                                                                                STEP
                                                                                                                                                                                                                ключевое слово
                                                                                                                                                                                                                СПРАВКА: Ключевое слово STEP
                                                                                                                                                                                                                В цикле FOR...NEXT указывает насколько увеличивать значение счетчика при каждой итерации. В графических операторах указывает, что координаты точки растра заданы относительно текущего графического положения курсора.
                                                                                                                                                                                                                  STICK
                                                                                                                                                                                                                  функция
                                                                                                                                                                                                                  СПРАВКА: Функция STICK
                                                                                                                                                                                                                  Возвращает координаты джойстика.
                                                                                                                                                                                                                  STICK(n%)
                                                                                                                                                                                                                  • n% - указывает возвращаемые координаты:
                                                                                                                                                                                                                    n%Возвращает
                                                                                                                                                                                                                    0Координату Х джойстика A
                                                                                                                                                                                                                    1Координату Y джойстика A
                                                                                                                                                                                                                    2Координату Х джойстика B
                                                                                                                                                                                                                    3Координату Y джойстика B
                                                                                                                                                                                                                  • Вы должны вызвать STICK(0) перед STICK(1), STICK (2), или STICK(3).
                                                                                                                                                                                                                    STICK(0) записывает текущие координаты в память.
                                                                                                                                                                                                                  Пример:
                                                                                                                                                                                                                  Temp% = STICK(0)
                                                                                                                                                                                                                  PRINT STICK(2), STICK(3)
                                                                                                                                                                                                                    STOP
                                                                                                                                                                                                                    оператор
                                                                                                                                                                                                                    СПРАВКА: Оператор STOP
                                                                                                                                                                                                                    Останавливает программу.
                                                                                                                                                                                                                    STOP
                                                                                                                                                                                                                    • Ключевое слово STOP также приостанавливает отслеживание событий в следующих операторах: COM, ON COM, KEY, ON KEY, PEN, ON PEN, PLAY, ON PLAY, STRIG, ON STRIG, TIMER, ON TIMER
                                                                                                                                                                                                                    Пример:
                                                                                                                                                                                                                    FOR i% = 1 TO 10
                                                                                                                                                                                                                         PRINT i%
                                                                                                                                                                                                                         IF i% = 5 THEN STOP 'STOP - пауза; F5 - продолжение.
                                                                                                                                                                                                                    NEXT i%
                                                                                                                                                                                                                      STR$
                                                                                                                                                                                                                      VAL

                                                                                                                                                                                                                      функция
                                                                                                                                                                                                                      СПРАВКА: Функции STR$, VAL
                                                                                                                                                                                                                      STR$ возвращает строковое представление числа.
                                                                                                                                                                                                                      VAL переводит строковое представление числа в число.
                                                                                                                                                                                                                      STR$(числ_выражение)
                                                                                                                                                                                                                      VAL(строк_выражение$)
                                                                                                                                                                                                                      • числ_выражение - любое числовое выражение.
                                                                                                                                                                                                                      • строк_выражение$ - строковое представление числа.
                                                                                                                                                                                                                      Пример:
                                                                                                                                                                                                                      PRINT "Десятичное 65 представляется в шестнадцатиричной системе как ";
                                                                                                                                                                                                                      PRINT "&H" + LTRIM$(STR$(41))
                                                                                                                                                                                                                      PRINT VAL(RIGHT$("IBM 1991", 4))
                                                                                                                                                                                                                        STRIG
                                                                                                                                                                                                                        функция
                                                                                                                                                                                                                        СПРАВКА: Функция STRIG
                                                                                                                                                                                                                        Возвращает состояние триггера джойстика. STRIG(n%)
                                                                                                                                                                                                                        • n% - значение, указывающее условие состояния джойстика:
                                                                                                                                                                                                                          n%Условие
                                                                                                                                                                                                                          0Нижний триггер джойстика A был нажат с момента последнего STRIG(0)
                                                                                                                                                                                                                          1Нижний триггер джойстика A нажат в данный момент
                                                                                                                                                                                                                          2Нижний триггер джойстика В был нажат с момента последнего STRIG(2)
                                                                                                                                                                                                                          3Нижний триггер джойстика В нажат в данный момент
                                                                                                                                                                                                                          4Верхний триггер джойстика A был нажат с момента последнего STRIG(4)
                                                                                                                                                                                                                          5Верхний триггер джойстика A нажат в данный момент
                                                                                                                                                                                                                          6Верхний триггер джойстика В был нажат с момента последнего STRIG(6)
                                                                                                                                                                                                                          7Верхний триггер джойстика В нажат в данный момент
                                                                                                                                                                                                                        • STRIG возвращает -1 если условие истинно и 0 в противном случае.
                                                                                                                                                                                                                        Пример:
                                                                                                                                                                                                                        'Для выполнения этого примера нужен джойстик.
                                                                                                                                                                                                                        PRINT "Для выхода нажмите Esc или кнопку джойстика"
                                                                                                                                                                                                                        DO
                                                                                                                                                                                                                             IF STRIG(0) OR INKEY$ = CHR$(27) THEN EXIT DO
                                                                                                                                                                                                                        LOOP
                                                                                                                                                                                                                        DO
                                                                                                                                                                                                                             BEEP 'Подает сигнал (BEEP) при нажатом триггере A.
                                                                                                                                                                                                                        LOOP WHILE STRIG(1)
                                                                                                                                                                                                                          STRIG
                                                                                                                                                                                                                          ON STRIG

                                                                                                                                                                                                                          операторы
                                                                                                                                                                                                                          СПРАВКА: Операторы STRIG, ON STRIG
                                                                                                                                                                                                                          STRIG включает, выключает или приостанавливает отслеживание события для джойстика. При включенном отслеживании события, ON STRIG обращается к подпрограмме при каждом нажатии указанного триггера.
                                                                                                                                                                                                                          STRIG(n%) ON
                                                                                                                                                                                                                          STRIG(n%) OFF
                                                                                                                                                                                                                          STRIG(n%) STOP
                                                                                                                                                                                                                          ON STRIG(n%) GOSUB строка
                                                                                                                                                                                                                          • n% - значение, указывающее тригер джойстика:
                                                                                                                                                                                                                            n%Тригер
                                                                                                                                                                                                                            0Нижний тригер, джойстик A
                                                                                                                                                                                                                            2Нижний тригер, джойстик В
                                                                                                                                                                                                                            4Верхний тригер, джойстик A
                                                                                                                                                                                                                            6Верхний тригер, джойстик В
                                                                                                                                                                                                                          • STRIG(n%) ON - включает отслеживание события для джойстика.
                                                                                                                                                                                                                          • STRIG(n%) OFF - выключает отслеживание события для джойстика.
                                                                                                                                                                                                                          • STRIG(n%) STOP - приостанавливает отслеживание события. События обрабатываются при включении STRIG ON отслеживания события.
                                                                                                                                                                                                                          • строка - метка или номер первой строки подпрограммы отслеживания события. Пример:
                                                                                                                                                                                                                            'Для выполнения этого примера нужен джойстик.
                                                                                                                                                                                                                            ON STRIG(0) GOSUB Handler
                                                                                                                                                                                                                            STRIG(0) ON
                                                                                                                                                                                                                            PRINT "Для выхода нажмите Esc"
                                                                                                                                                                                                                            DO UNTIL INKEY$ = CHR$(27): LOOP
                                                                                                                                                                                                                            END

                                                                                                                                                                                                                            Handler:
                                                                                                                                                                                                                            PRINT "Тригер джойстика отжат"
                                                                                                                                                                                                                            RETURN
                                                                                                                                                                                                                            STRING$
                                                                                                                                                                                                                            функция
                                                                                                                                                                                                                            СПРАВКА: Функция STRING$
                                                                                                                                                                                                                            Возвращает строку указанной длины, состоящую из повторяющегося символа.
                                                                                                                                                                                                                            STRING$(длина%,{ascii-код% | строк_выражение$})
                                                                                                                                                                                                                            • длина% - длина строки.
                                                                                                                                                                                                                            • ascii-код% - ASCII код повторяемого символа.
                                                                                                                                                                                                                            • строк_выражение$ - любое строковое выражение. STRING$ заполняет строку первым символом из строк_выражения$.
                                                                                                                                                                                                                            Пример:
                                                                                                                                                                                                                            PRINT STRING$(5, "-");
                                                                                                                                                                                                                            PRINT "Привет";
                                                                                                                                                                                                                            PRINT STRING$(5, "-")
                                                                                                                                                                                                                              SUB
                                                                                                                                                                                                                              оператор
                                                                                                                                                                                                                              СПРАВКА: Оператор SUB
                                                                                                                                                                                                                              Определяет процедуру SUB.
                                                                                                                                                                                                                              SUB имя[(параметры)] [STATIC]
                                                                                                                                                                                                                                   [блок_операторов]
                                                                                                                                                                                                                              END SUB
                                                                                                                                                                                                                              • имя - имя процедуры SUB, длиной до 40 символов, без суффикса типа данных.
                                                                                                                                                                                                                              • параметры - одна или несколько переменных, указывающих параметры, которые передаются в процедуру SUB при ее вызове:
                                                                                                                                                                                                                                • перемен[( )] [AS тип] [, перемен[( )] [AS тип]]...
                                                                                                                                                                                                                                • перемен - имя переменной Basic.
                                                                                                                                                                                                                                • тип - тип данных переменной (INTEGER, LONG, SINGLE, DOUBLE, STRING или тип данных, определенный пользователем).

                                                                                                                                                                                                                              • STATIC - указывает, что значения локальных переменных процедуры SUB сохраняются между вызовами функции.
                                                                                                                                                                                                                              • При вызове процедуры SUB Вы можете указать, что значение аргумента не должно изменяться процедурой. Для этого заключите аргумент в круглые скобки.
                                                                                                                                                                                                                              SWAP
                                                                                                                                                                                                                              оператор
                                                                                                                                                                                                                              СПРАВКА: Оператор SWAP
                                                                                                                                                                                                                              Обменивает значения двух переменных.
                                                                                                                                                                                                                              SWAP переменная1, переменная2
                                                                                                                                                                                                                              • переменная1 и переменная2 - две переменные одного и того же типа данных.
                                                                                                                                                                                                                              Пример:
                                                                                                                                                                                                                              a% = 1: b% = 2
                                                                                                                                                                                                                              PRINT "До : "; a%, b%
                                                                                                                                                                                                                              SWAP a%, b%
                                                                                                                                                                                                                              PRINT "После: "; a%, b%
                                                                                                                                                                                                                                SYSTEM
                                                                                                                                                                                                                                оператор
                                                                                                                                                                                                                                СПРАВКА: Оператор SYSTEM
                                                                                                                                                                                                                                Закрывает все открытые файлы и возвращает управление в операционную систему. SYSTEM
                                                                                                                                                                                                                                  TAB
                                                                                                                                                                                                                                  функция
                                                                                                                                                                                                                                  СПРАВКА: Функция TAB
                                                                                                                                                                                                                                  Перемещает курсор текста в указанную позицию печати.
                                                                                                                                                                                                                                  TAB(столбец%)
                                                                                                                                                                                                                                  • столбец% - номер столбца новой позиции печати.
                                                                                                                                                                                                                                  Пример:
                                                                                                                                                                                                                                  PRINT TAB(25); "Текст"
                                                                                                                                                                                                                                    TIME$
                                                                                                                                                                                                                                    функция
                                                                                                                                                                                                                                    СПРАВКА: Функция и Оператор TIME$
                                                                                                                                                                                                                                    Функция TIME$ возвращает текущее системное время компьютера.
                                                                                                                                                                                                                                    Оператор TIME$ устанавливает текущее системное время в Вашем компьютере.
                                                                                                                                                                                                                                    TIME$
                                                                                                                                                                                                                                    TIME$ = строк_выражение$
                                                                                                                                                                                                                                    • строк_выражение$ - время в одном из следующих форматов:
                                                                                                                                                                                                                                      ччУстанавливает часы; минуты и секунды по умолчанию равны 00.
                                                                                                                                                                                                                                      чч:ммУстанавливает часы и минуты; секунды по умолчанию равны 00.
                                                                                                                                                                                                                                      чч:мм:ссУстанавливает часы, минуты и секунды.
                                                                                                                                                                                                                                    • Функция TIME$ возвращает строку в формате чч:мм:сс.
                                                                                                                                                                                                                                    Пример:
                                                                                                                                                                                                                                    PRINT TIME$
                                                                                                                                                                                                                                    TIME$ = "08:00:58" 'Замечание: Новое системное время остается в силе, пока Вы снова не измените его.
                                                                                                                                                                                                                                    PRINT "Установленное время "; TIME$
                                                                                                                                                                                                                                      TIMER
                                                                                                                                                                                                                                      функция
                                                                                                                                                                                                                                      СПРАВКА: Функция TIMER
                                                                                                                                                                                                                                      Возвращает число секунд, прошедших с полуночи и до текущего момента.
                                                                                                                                                                                                                                      TIMER
                                                                                                                                                                                                                                      • Используйте TIMER для хронометража программ или частей программ, или с оператором RANDOMIZE для запуска генератора случайных чисел.
                                                                                                                                                                                                                                      Пример:
                                                                                                                                                                                                                                      RANDOMIZE TIMER
                                                                                                                                                                                                                                        TYPE
                                                                                                                                                                                                                                        оператор
                                                                                                                                                                                                                                        СПРАВКА: Оператор TYPE
                                                                                                                                                                                                                                        Определяет тип данных, содержащий один или несколько элементов.
                                                                                                                                                                                                                                        TYPE тип_пользов
                                                                                                                                                                                                                                             имя_элемента AS тип
                                                                                                                                                                                                                                                  [имя_элемента AS тип] .
                                                                                                                                                                                                                                        .
                                                                                                                                                                                                                                        .
                                                                                                                                                                                                                                        END TYPE
                                                                                                                                                                                                                                        • тип_пользов - имя определяемого типа данных. Имя может быть длиной до 40 символов и должно начинаться с буквы. Допустимые символы: A-Z, 0-9 и точка (.).
                                                                                                                                                                                                                                        • имя_элемента - элемент типа данных, определенного пользователем.
                                                                                                                                                                                                                                        • тип - тип элемента (INTEGER, LONG, SINGLE, DOUBLE, STRING или тип данных, определенный пользователем).
                                                                                                                                                                                                                                        • Используйте DIM, REDIM, COMMON, STATIC или SHARED для создания переменной определенного пользователем типа данных.
                                                                                                                                                                                                                                        Пример:
                                                                                                                                                                                                                                        TYPE Card
                                                                                                                                                                                                                                             Suit AS STRING * 9
                                                                                                                                                                                                                                             Value AS INTEGER
                                                                                                                                                                                                                                        END TYPE
                                                                                                                                                                                                                                        DIM Deck(1 TO 52) AS Card
                                                                                                                                                                                                                                        Deck(1).Suit = "Клуб"
                                                                                                                                                                                                                                        Deck(1).Value = 2
                                                                                                                                                                                                                                        PRINT Deck(1).Suit, Deck(1).Value
                                                                                                                                                                                                                                          VARPTR
                                                                                                                                                                                                                                          функция
                                                                                                                                                                                                                                          СПРАВКА: Функции VARPTR, VARSEG
                                                                                                                                                                                                                                          VARPTR возвращает адрес смещения переменной.
                                                                                                                                                                                                                                          VARSEG возвращает адрес сегмента переменной.
                                                                                                                                                                                                                                          VARPTR(имя_переменной)
                                                                                                                                                                                                                                          VARSEG(имя_переменной)
                                                                                                                                                                                                                                          • имя_переменной - любая переменная Basic.
                                                                                                                                                                                                                                          VARPTR$
                                                                                                                                                                                                                                          функция
                                                                                                                                                                                                                                          СПРАВКА: Функция VARPTR$
                                                                                                                                                                                                                                          Возвращает строковое представление адреса переменной для использования с операторами DRAW и PLAY.
                                                                                                                                                                                                                                          VARPTR$(строка_команд$)
                                                                                                                                                                                                                                          • строка_команд$ - cтроковая переменная, содержащая команды DRAW или PLAY.
                                                                                                                                                                                                                                          Пример:
                                                                                                                                                                                                                                          Scale$ = "CDEFGAB"
                                                                                                                                                                                                                                          PLAY "L16"
                                                                                                                                                                                                                                          FOR i% = 0 TO 6
                                                                                                                                                                                                                                               PLAY "O" + STR$(i%)
                                                                                                                                                                                                                                               PLAY "X" + VARPTR$(Scale$)
                                                                                                                                                                                                                                          NEXT i%
                                                                                                                                                                                                                                            VIEW
                                                                                                                                                                                                                                            оператор
                                                                                                                                                                                                                                            СПРАВКА: Оператор VIEW
                                                                                                                                                                                                                                            Определяет размер и положение области просмотра, где графика может быть выведена на экран.
                                                                                                                                                                                                                                            VIEW [[SCREEN] (x1!,y1!)-(x2!,y2!) [,[цвет%] [,граница%]]]
                                                                                                                                                                                                                                            • SCREEN - указывает, что координаты задаются относительно экрана, а не области просмотра.
                                                                                                                                                                                                                                            • (x1!,y1!)-(x2!,y2!) - координаты диагонали противоположных углов области просмотра.
                                                                                                                                                                                                                                            • цвет% - атрибут цвета, устанавливающий заполняющий цвет области просмотра.
                                                                                                                                                                                                                                            • граница% - атрибут цвета, устанавливающий цвет границы области просмотра.
                                                                                                                                                                                                                                            • Если все аргументы опущены, область просмотра - весь экран.
                                                                                                                                                                                                                                            • Допустимые атрибуты цвета зависят от Вашего графического адаптера и режима экрана, установленного последним оператором SCREEN.
                                                                                                                                                                                                                                            Пример:
                                                                                                                                                                                                                                            SCREEN 1
                                                                                                                                                                                                                                            VIEW (10, 10)-(300, 180), , 1
                                                                                                                                                                                                                                            LOCATE 1, 11: PRINT "Большая область просмотра графики";
                                                                                                                                                                                                                                            VIEW SCREEN (80, 80)-(200, 125), , 1
                                                                                                                                                                                                                                            LOCATE 11, 11: PRINT "Маленькая область просмотра графики";
                                                                                                                                                                                                                                              VIEW PRINT
                                                                                                                                                                                                                                              оператор
                                                                                                                                                                                                                                              СПРАВКА: Оператор VIEW PRINT
                                                                                                                                                                                                                                              Устанавливает на экране границы области просмотра текста.
                                                                                                                                                                                                                                              VIEW PRINT [верх% TO низ%]
                                                                                                                                                                                                                                              • верх% - номер верхней строки области просмотра текста.
                                                                                                                                                                                                                                              • низ% - номер нижней строки области просмотра текста.
                                                                                                                                                                                                                                              • Если Вы опустили аргументы верх% и низ%, то VIEW PRINT отводит весь экран под область просмотра текста.
                                                                                                                                                                                                                                              • Диапазон для верх% и низ% зависит от режима экрана.
                                                                                                                                                                                                                                              Пример:
                                                                                                                                                                                                                                              VIEW PRINT 10 TO 15
                                                                                                                                                                                                                                              FOR i% = 1 TO 100 'Вывод будет прокручиваться между 10 и 15 строкой
                                                                                                                                                                                                                                                   PRINT i%
                                                                                                                                                                                                                                              NEXT i%
                                                                                                                                                                                                                                                WAIT
                                                                                                                                                                                                                                                оператор
                                                                                                                                                                                                                                                СПРАВКА: Оператор WAIT
                                                                                                                                                                                                                                                Приостанавливает выполнение программы до ввода двоичного кода из порта ввода. WAIT номер_порта%, AND-выражение% [,XOR-выражение%]
                                                                                                                                                                                                                                                • номер_порта% - номер порта ввода.
                                                                                                                                                                                                                                                • AND-выражение% - целое выражение, которое WAIT объединяет со значением двоичного кода, используя оператор AND. Если результат не равен нулю, WAIT останавливает использование порта.
                                                                                                                                                                                                                                                • XOR-выражение% - может быть использовано для включения/выключения битов линии в двоичном коде перед использованием AND.
                                                                                                                                                                                                                                                Пример:
                                                                                                                                                                                                                                                'Читает порт контроллера прерываний с адресом &H20.
                                                                                                                                                                                                                                                'Для продолжения нажмите любую клавишу.
                                                                                                                                                                                                                                                WAIT &H20, 1
                                                                                                                                                                                                                                                  WHILE...WEND
                                                                                                                                                                                                                                                  оператор
                                                                                                                                                                                                                                                  СПРАВКА: Оператор WHILE...WEND
                                                                                                                                                                                                                                                  Выполняет серию операторов, пока указанное условие верно.
                                                                                                                                                                                                                                                  WHILE условие
                                                                                                                                                                                                                                                  .
                                                                                                                                                                                                                                                  .
                                                                                                                                                                                                                                                  .
                                                                                                                                                                                                                                                  WEND
                                                                                                                                                                                                                                                  • условие - числовое выражение, которое Basic оценивает как истинное (не-ноль) или ложное (ноль).

                                                                                                                                                                                                                                                  • DO...LOOP предоставляет более удобный способ для выполнения операторов в программном цикле.
                                                                                                                                                                                                                                                  WIDTH
                                                                                                                                                                                                                                                  операторы
                                                                                                                                                                                                                                                  СПРАВКА: Операторы WIDTH
                                                                                                                                                                                                                                                  Устанавливает ширину строк вывода устройства (например, принтера) или файла, а также изменяет число строк и столбцов, отображаемых на экране.
                                                                                                                                                                                                                                                  WIDTH [столбцы%] [,строки%]
                                                                                                                                                                                                                                                  WIDTH {#номер_файла% | устройство$}, столбцы%
                                                                                                                                                                                                                                                  WIDTH LPRINT columns%
                                                                                                                                                                                                                                                  • столбцы% - нужная ширина в столбцах. Ширина экрана должна быть 40 или 80 столбцов.
                                                                                                                                                                                                                                                  • строки% - нужная высота экрана в строках. Допустимые значения - 25, 30, 43, 50 или 60, в зависимости от типа видеоадаптера и режима экрана.
                                                                                                                                                                                                                                                  • #номер_файла% - номер открытого файла или устройства.
                                                                                                                                                                                                                                                  • устройство$ - имя устройства: SCRN:, COM1:, COM2:, LPT1:, LPT2:, LPT3:
                                                                                                                                                                                                                                                  Пример:
                                                                                                                                                                                                                                                  OPEN "LPT1:" FOR OUTPUT AS #1
                                                                                                                                                                                                                                                  WIDTH #1, 132
                                                                                                                                                                                                                                                    WINDOW
                                                                                                                                                                                                                                                    оператор
                                                                                                                                                                                                                                                    СПРАВКА: Оператор WINDOW
                                                                                                                                                                                                                                                    Определяет логическое пространство для текущей графической области просмотра. Используйте оператор WINDOW для задания своей собственной системы координат в области просмотра.
                                                                                                                                                                                                                                                    WINDOW [[SCREEN] (x1!,y1!)-(x2!,y2!)]
                                                                                                                                                                                                                                                    • SCREEN - инвертирует обычное направление декартовых координат Y на экране так, что значения Y увеличиваются сверху вниз на экране.
                                                                                                                                                                                                                                                    • (x1!,y1!) - логические координаты, соответствующие координатам верхнего левого экрана области просмотра.
                                                                                                                                                                                                                                                    • (x2!,y2!) - логические координаты, соответствующие координатам нижнего правого экрана области просмотра.
                                                                                                                                                                                                                                                    • WINDOW без аргументов выключает логическую систему координат.
                                                                                                                                                                                                                                                    • Используйте оператор VIEW для изменения размера области просмотра.
                                                                                                                                                                                                                                                    Пример:
                                                                                                                                                                                                                                                    SCREEN 1
                                                                                                                                                                                                                                                    FOR i% = 1 TO 10 STEP 2
                                                                                                                                                                                                                                                         WINDOW (-160 / i%, -100 / i%)-(160 / i%, 100 / i%)
                                                                                                                                                                                                                                                         CIRCLE (0, 0), 10
                                                                                                                                                                                                                                                    NEXT i%
                                                                                                                                                                                                                                                      WRITE
                                                                                                                                                                                                                                                      оператор
                                                                                                                                                                                                                                                      СПРАВКА: Оператор WRITE
                                                                                                                                                                                                                                                      Записывает данные на экран или в последовательный файл.
                                                                                                                                                                                                                                                      WRITE [[#]номер_файла%,] выражение
                                                                                                                                                                                                                                                      • номер_файла% - номер открытого последовательного файла. Если номер файла опущен, WRITE выводит данные на экран.
                                                                                                                                                                                                                                                      • выражение - одна или несколько переменных или выражений, разделенных запятыми, значения которых записываются на экран или в файл.
                                                                                                                                                                                                                                                      • WRITE вставляет запятые между объектами и заключает в кавычки строки в той последовательности, в которой они написаны. WRITE записывает значения в файл в той форме, которая может быть считана оператором INPUT.
                                                                                                                                                                                                                                                      Пример:
                                                                                                                                                                                                                                                      CLS
                                                                                                                                                                                                                                                      OPEN "LIST" FOR OUTPUT AS #1
                                                                                                                                                                                                                                                      DO
                                                                                                                                                                                                                                                           INPUT "   ИМЯ    :        ", Name$
                                                                                                                                                                                                                                                           INPUT "   ВОЗРАСТ:        ", Age$
                                                                                                                                                                                                                                                           WRITE #1, Name$, Age$
                                                                                                                                                                                                                                                           INPUT "Добавить еще"; R$
                                                                                                                                                                                                                                                      LOOP WHILE UCASE$(R$) = "Д"
                                                                                                                                                                                                                                                      CLOSE #1
                                                                                                                                                                                                                                                      'Печать файла на экране.
                                                                                                                                                                                                                                                      OPEN "LIST" FOR INPUT AS #1
                                                                                                                                                                                                                                                      CLS
                                                                                                                                                                                                                                                      PRINT "Записи в файле:": PRINT
                                                                                                                                                                                                                                                      DO WHILE NOT EOF(1)
                                                                                                                                                                                                                                                           INPUT #1, Rec1$, Rec2$ 'Считывает записи из файла
                                                                                                                                                                                                                                                           PRINT Rec1$, Rec2$ 'Печатает записи на экране
                                                                                                                                                                                                                                                      LOOP
                                                                                                                                                                                                                                                      CLOSE #1
                                                                                                                                                                                                                                                      KILL "LIST"
                                                                                                                                                                                                                                                        Hosted by uCoz