Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Языки Бейсик

.pdf
Скачиваний:
0
Добавлен:
11.08.2026
Размер:
622 Кб
Скачать

Глава 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!) координаты экрана начала зарисовки.

Цвет% атрибут цвета, устанавливающий заполняющий цвет.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]