Языки Бейсик
.pdfГлава XII. Бейсик-HELP |
161 |
MKSMBF$-функция
MKSMBF$ и MKDMBF$ переводят числа в формате IEEE в числовые строки бинарного формата (Microsoft-Binary-format), которые могут храниться в операторе строковых переменных FIELD.
CVSMBF и CVDMBF переводят эти строки обратно в числа в формате IEEE. См.CVDMBF
MOD-оператор
Делит одно число на другое и возвращает остаток.
Формат записи:
числ_выражение1 MOD числ_выражение2
ãäå
числ_выражение1 Любые числовые выражения. Действительные числа числ_выражение2 округляются до целых.
Пример:
PRINT 19 MOD 6.7 'QBasic округляет 6.7 до 7, 'затем делит.
'Вывод: 5
NAME-оператор
Переименовывает файлы и каталоги.
Формат записи:
NAME старый$ AS новый$
ãäå
старый$ и новый$ Существующее имя файла и новое имя файла. Каждое имя может включать путь.
Пример:
INPUT “Старое имя: “; OldFN$
INPUT “Новое имя : “; NewFN$
NAME OldFN$ AS NewFN$
См. также FILES
NEXT-ключевое слово
Осуществляет приращение и проверку счетчика в цикле FOR...NEXT, или при использовании с RESUME продолжает выполнение, начиная с программы отслеживания ошибок.
См. также FOR...NEXT, RESUME
162 |
Языки Бейсик |
NOT оператор
Знаки булевых операций выполняют манипуляции битами, булевы операции или проверку многократных отношений. Они возвращают значение “истина” (не-ноль) или “ложь” (ноль), которое используется при принятии решения. См. AND
NOT Отрицание
OCT$-оператор
HEX$ возвращает шестнадцатеричное представление числа.
OCT$ возвращает восьмеричное представление числа. См.HEX$.
OFF-ключевое слово
Выключает отображение присвоения функциональных клавиш при использовании с оператором KEY (Присваивание) или выключает отслеживание события при использовании операторами события OFF (COM OFF, KEY OFF, PEN OFF, PLAY OFF, STRIG OFF и TIMER OFF).
См. также COM, ON COM, KEY, ON KEY, KEY (Присваивание) PEN, ON PEN, PLAY, ON PLAY, STRIG, ON STRIG, TIMER, ON TIMER
ON COM-оператор
COM включает, выключает или приостанавливает отслеживание событий в коммуникационном порту. При включенном отслеживании событий ON COM обращается к подпрограмме каждый раз, как только порт получает символы.
Ñì. COM
ON ERROR-оператор
Включает обработку ошибок при обнаружении ошибки во время выполнения программы, передавая управление на подпрограмму обработки ошибок, или возобновляет выполнение программы.
Формат записи:
ON ERROR GOTO строка
ãäå
GOTO строка метка или номер первой строки подпрограммы обработки ошибок. Для выключения обработки ошибок задайте: GOTO 0.
Если оператор ON ERROR не используется, любая ошибка выполнения завершает Вашу программу.
Пример cм. ERROR
См. также ERDEV, ERDEV$, ERR, ERL, ERROR, GOTO, RESUME
Глава XII. Бейсик-HELP |
163 |
ON-ключевоеслово
Выполняетразличныедействиявкачествечастинекоторыхоператоров:
—ВключаетотслеживаниеошибкиприиспользованиисоператоромONERROR.
—ВключаетотслеживаниесобытияприиспользованиисоператорамисобытияON (COMON,KEYON,PENON,PLAYON,STRIGONиTIMERON).
—Указывает,какоесобытиеотслеживатьприиспользованиисON-операторамисо- бытия(ONCOM,ONKEY,ONPEN,ONPLAY,ONSTRING,ONTIMER).
—Указывает, какое выражение оценивать при использовании с операторами ON…GOSUBиON...GOTO.
См.такжеCOM,ONCOM,KEY,ONKEY,ONERROR,ON...GOSUB,ON...GOTO, PEN,ONPEN,PLAY,ONPLAY,STRIG,ONSTRIG,TIMER,ONTIMER
ONKEY-оператор
KEYвключает,выключаетилиприостанавливаетотслеживаниесобытийдляклавиш.
ПривключенномотслеживаниисобытийONKEYобращаетсякподпрограммекаждыйразпринажатииклавиши.
См.KEY(отслеживаниесобытий)
ONPEN-оператор
PENвключает,выключаетилиприостанавливаетотслеживаниесобытиядлясветовогопера.ПривключенномотслеживаниисобытияONPENобращаетсякподпрограммеприкаждойактивизациисветовогопера.
Форматзаписи:
PEN ON
PEN OFF
PEN STOP
ON PEN GOSUB строка
ãäå
PENON Включаетотслеживаниесобытиядлясветовогопера. PENOFF Выключаетотслеживаниесобытиядлясветовогопера.
PENSTOP Приостанавливаетотслеживаниесобытиядлясветовогопера.События обрабатываютсяпривключенииPENONотслеживаниясобытия.
Строка меткаилиномерпервойстрокиподпрограммыотслеживаниясобытия.
Пример:
'Для выполнения этого примера нужно световое перо. ON PEN GOSUB Handler
PEN ON
PRINT “Для выхода нажмите Esc” DO UNTIL INKEY$ = CHR$(27): LOOP
END
Handler:
PRINT “Перо — в строке”; PEN(6); “, столбце”; PEN(7)
RETURN
См. также PEN Функция
164 |
Языки Бейсик |
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
См. также PLAY (Музыка), PLAY Функция
ON STRING-оператор
STRIG включает, выключает или приостанавливает отслеживание события для джойстика. При включенном отслеживании события, ON STRIG обращается к подпрограмме при каждом нажатии указанного триггера.
Формат записи:
STRIG(n%) ON
STRIG(n%) OFF
Глава XII. Бейсик-HELP |
165 |
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
См. также STICK, STRIG Функция
ON TIMER-оператор
TIMER включает, выключает или приостанавливает отслеживание события для таймера. При включенном отслеживании события ON TIMER обращается к подпрограмме, как только прошло указанное число секунд.
Формат записи:
TIMER ON
TIMER OFF
TIMER STOP
ON TIMER(n%) GOSUB строка
ãäå
166 Языки Бейсик
TIMER ON включает отслеживание события для таймера. TIMEROFF выключаетотслеживаниесобытиядлятаймера.
TIMER STOP приостанавливает отслеживание события. События обрабатыва-
|
ютсяпривключенииTIMERONотслеживаниясобытия. |
n% |
числосекунд,которыедолжныпройти,преждечемONTIMERобра- |
|
титсякподпрограммеотслеживаниясобытия;значениянаходятсяв |
|
пределахот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
См.такжеTIMERФункция
ONGOSUB-оператор
Выполняетпереходводноизнесколькихположенийвзависимостиотзначенияпеременной.
Форматзаписи:
ON выражение% GOSUB список_строк ON выражение% GOTO список_строк
ãäå
выражение% |
целочисленнаяпеременнаявдиапазонеот0до255. |
список_строк |
набор меток или номеров строк. Если значение переменной рав- |
|
но1,топрограммапереходитвпервуюстрокуизсписка;еслизначе- |
|
ниепеременнойравно2,топрограммапереходитвовторуюстроку |
|
изспискаит.д. |
SELECTCASE |
предоставляетболееудобныйпутьдляветвленияпрограммы. |
Пример:
FOR i% = 1 TO 2
ON i% GOSUB One, Two
NEXT i%
END
One: PRINT “Îäèí”
RETURN
Two: PRINT “Äâà”
RETURN
См.также ON Ключевое слово, SELECT CASE
Глава XII. Бейсик-HELP |
167 |
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
См. также ON Ключевое слово, SELECT CASE
OPEN-оператор
Открывает файл или устройство.
Формат записи:
OPEN файл$ [FOR режим] [ACCESS доступ] [закр] AS[#]номер_файла% [,LEN=д_зап%]
ãäå |
|
ôàéë$ |
имя файла или устройства. Имя файла может включать |
|
устройство и путь. |
режим |
Один из следующих режимов файла: |
|
APPEND, BINARY, INPUT, OUTPUT èëè RANDOM. |
доступ |
при работе в сети указывает, открыт ли файл для READ (чте- |
|
ния), WRITE (записи) или READ WRITE (чтения-записи). |
çàêð |
указывает, как файл закрыт для сетевого доступа: |
|
SHARED (общий), |
|
LOCK READ (закрыт для чтения), |
|
LOCK WRITE (закрыт для записи), |
|
LOCK READ WRITE (закрыт для чтения-записи). |
168 |
Языки Бейсик |
номер_файла% номер в пределах от 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
альтернативный синтаксис
OPEN режим2$,[#]н_файла%,файл$[,д_записи%]
ãäå
режим2$ строковое выражение, начинающееся с одного из следующих символов и указывающее режим открытия файла:
Oрежим последовательного вывода.
Iрежим последовательного ввода.
Rрежим ввода/вывода файлов прямого доступа.
Bбинарный режим.
Îрежим последовательного вывода. Устанавливает указатель файла в конец файла, а номер записи — в номер последней записи в файле. Операторы PRINT # или WRITE # дополняют файл.
н_файла% Число в пределах от 1 до 255, идентифицирующее открытый файл. файл$ имя файла (может включать устройство и путь).
д_записи% для файлов прямого доступа — длина записи в байтах. Для последовательных файлов — число буферированных символов.
QBasic поддерживает этот синтаксис для совместимости с программами, написанными на предыдущих версиях BASIC.
См. также CLOSE, FREEFILE, OPEN COM, TYPE,
OPEN COM-оператор
Открывает и инициализирует канал связи для ввода или вывода (В/ВВ).
Оператор OPEN COM должен быть выполнен до начала работы с устройством, использующим для связи интерфейс RS232.
Формат записи:
OPEN “COMn: параметры1 параметры2” [FOR режим] AS [#]filenum% [LEN=reclen%]
Глава XII. Бейсик-HELP |
169 |
|
ãäå |
|
|
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). |
|
|
|
|
0CS[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 режимы файлов. |
|
filenum% |
число в пределах от 1 до 255, идентифицирующее канал связи, пока он |
|
|
открыт. |
|
reclen% |
размер буфера режима прямого доступа (по умолчанию 128 байтов). |
|
Пример:
'Используйте данный пример при проблемах с коммуникациями через 'последовательный порт.
OPEN_ “COM1:300,N,8,1,CD0,CS0,DS0,OP0,RS,TB2048,RB2048”_ FOR RANDOM AS #1
См.также OPEN
170 |
Языки Бейсик |
OPTION BASE-оператор
Устанавливает нижнюю границу индекса массива, принимаемую по умолчанию.
Формат записи:
OPTION BASE {0 | 1}
Предложение TO в операторе DIM предоставляет более удобный способ установки нижней границы.
См. также DIM, REDIM, LBOUND, UBOUND
OR-оператор
Знаки булевых операций выполняют манипуляции битами, булевы операции или проверку многократных отношений. Они возвращают значение “истина” (не-ноль) или “ложь” (ноль), которое используется при принятии решения.
OR Дизъюнкция (включающее “или”)
Ñì. AND
OUT-оператор
INP возвращает байт, считанный с аппаратного порта ввода/вывода.
OUT посылает байт в аппаратный порт ввода/вывода.
Ñì. INP.
См.также WAIT
OUTPUT-ключевое слово
Ключевые слова APPEND, BINARY, INPUT, OUTPUT и RANDOM используются в операторе OPEN для указания режимов. Кроме того, INPUT, OUTPUT и RANDOM используются в операторе OPEN COM. См. APPEND.
См. также OPEN, OPEN COM, PRINT, LPRINT, WRITE
PAINT-оператор
Заполняет графическую область указанным цветом или образцом.
Формат записи:
PAINT [STEP] (x!,y!)[,[{цвет% | образец$}] [,[цвет_границ%] [,фон$]]]
ãäå
STEP указывает, что координаты задаются относительно текущей графиче- ской позиции курсора.
(x!,y!) координаты экрана начала зарисовки.
Цвет% атрибут цвета, устанавливающий заполняющий цвет.
