Языки Бейсик
.pdfГлава XII. Бейсик-HELP |
171 |
|
образец$ |
образец заполнения шириной 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
См. также ASC, CHR$, CIRCLE, DRAW, LINE, SCREEN,
Атрибуты и Значения Цвета, Режимы Экрана
PALETTE-оператор
Изменяет установки атрибутов цвета в текущем режиме экрана. PALETTE и PALETTE USING работают только в системах с адаптерами EGA, VGA или MCGA.
Формат записи:
PALETTE [атрибут%,цвет&]
PALETTE USING имя_массива#[(индекс%)]
ãäå
атрибут% |
изменяемый атрибут цвета. |
öâåò& |
значение цвета, присвоенное атрибуту. |
имя_массива# массив значений цвета, который присваивается текущей группе атрибутов цвета экрана. Массив должен быть достаточно боль-
|
шим для присвоения цветов всем атрибутам. |
индекс% |
Индекс первого элемента массива, который присваивается |
|
атрибуту. |
Допустимые атрибуты и значения цвета зависят от Вашего графического адаптера и режима экрана, установленного последним оператором SCREEN.
172 Языки Бейсик
Пример:
'Для выполнения этого примера нужен цветной графический адаптер. 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$ = ““
См. также COLOR, SCREEN, Атрибуты и Значения Цвета, Режимы Экрана
PCOPY-оператор
Копирует одну страницу видеопамяти в другую.
Формат записи:
PCOPY исх_страница%,приним_страница%
ãäå
исх_страница% номер копируемой страницы видеопамяти. приним_страница% номер страницы видеопамяти, в которую копируют. Зна-
чение, идентифицирующее видеостраницу, определяется размером видеопамяти и текущим режимом экрана.
Пример:
PCOPY 1, 3
См. также SCREEN, Режимы Экрана
PEEK-функция
PEEK возвращает значение байта, хранящегося в указанном месте памяти.
POKE записывает значение байта в указанное место памяти.
Формат записи:
PEEK(адрес)
POKE адрес,байт%
ãäå |
|
адрес |
позиция байта относительно адреса текущего сегмента, установлен- |
|
ного DEF SEG; значения в пределах от 0 до 65 535. |
áàéò% |
значение байта для записи в указанное место памяти; значение в пре- |
|
делах от 0 до 255. |
Глава XII. Бейсик-HELP |
173 |
|
Пример: |
|
|
DEF SEG = 0 |
|
|
Status% = PEEK(&H417) 'Считывает статус клавиатуры. |
|
|
POKE &H417, (Status% XOR &H40) 'Изменяет |
|
|
'состояние Caps Lock, бит 6. |
|
|
См. также DEF SEG |
|
|
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 Операторы, SCREEN, Режимы экрана
PEN-оператор
PEN включает, выключает или приостанавливает отслеживание события для светового пера. При включенном отслеживании события ON PEN обращается к подпрограмме при каждой активизации светового пера. См. ON PEN.
См. также PEN Функция
174 |
Языки Бейсик |
PLAY-функция
Возвращает число музыкальных нот в фоновой очереди.
Формат записи:
PLAY(n)
ãäå
nЛюбое числовое выражение.
Пример:
Music$ = “MBT180o2P2P8L8GGGL2E-P24P8L8FFFL2D”
PLAY Music$
WHILE PLAY(0) > 5: WEND
PRINT “Почти закончили!”
См. также PLAY (Музыка), PLAY, ON PLAY (Отслеживание события)
PLAY-оператор
Играет музыкальные ноты.
Формат записи:
PLAY строка_команд$
ãäå
строка_команд$ выражение, состоящее из одной или нескольких следующих команд PLAY:
Команды октавы и тона:
Oктава Задает текущую октаву (0 — 6).
< or > Переходит на одну октаву вверх или вниз. 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 |
Фоновое звучание. |
Глава XII. Бейсик-HELP |
175 |
Команды изменения ноты:
# èëè + Äèåç.
-Бемоль.
.Длительность 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%
См.также BEEP, PLAY Функция
PLAY, ON PLAY (Отслеживание событий) SOUND, VARPTR$
PLAY-отслеживание событий
PLAY включает, выключает или приостанавливает отслеживание события при игре музыки. При включенном отслеживании события ON PLAY обращается к подпрограмме каждый раз, когда в музыкальном буфере содержится число нот, меньшее указанного числа. См. ON PLAY.
См. также PLAY (Музыка), PLAY Функция
PMAP-функция
Возвращает координату окна эквивалентную координате области просмотра, определенную оператором WINDOW, или наоборот.
Формат записи:
PMAP (начальная_координата#, n%)
ãäå |
|
|
|
|
начальная_координата# |
координата окна или области просмотра. |
|||
n% |
Значение, определяющее какую координату возвратить: |
|||
См. таблицу |
|
|
|
|
|
|
|
|
|
начальная_координата |
|
n % |
Возвращает |
|
|
|
|
|
|
Координата Х окна |
|
|
0 |
Координату Х области просмотра |
|
|
|
|
|
Координата Y окна |
|
|
1 |
Координату Y области просмотра |
|
|
|
||
Координата Х области просмотра |
2 |
Координату Х окна |
||
|
|
|
||
Координата Y области просмотра |
3 |
Координату Y окна |
||
|
|
|
|
|
|
|
|
|
|
176 |
Языки Бейсик |
Пример:
'Для выполнения этого примера нужен графический 'адаптер, поддерживающий режим экрана 1.
SCREEN 1
WINDOW SCREEN (0, 0)-(100, 100)
PRINT “Логическая x=50, физическая x=“; PMAP(50, 0) PRINT “Логическая y=50, физическая y=“; PMAP(50, 1)
См.также POINT, VIEW, WINDOW
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%
См.также COLOR, PMAP, SCREEN, VIEW, WINDOW, Атрибуты и значения цвета
POKE-функция
PEEK возвращает значение байта, хранящегося в указанном месте памяти.
Глава XII. Бейсик-HELP |
177 |
POKEзаписываетзначениебайтавуказанноеместопамяти.См.PEEK
См.такжеDEFSEG
POS-функция
LOCATE перемещает курсор на экране в указанную позицию.
CSRLIN возвращает текущую позицию строки курсора.
POS возвращает текущую позицию столбца курсора.
Ñì. CSRLIN
PRESET-оператор
Рисует заданную точку на экране.
Формат записи:
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%
См.также SCREEN, VIEW, WINDOW, Атрибуты и значения цвета, Режимы экрана
PRINT-оператор
PRINT выводит данные на экран или записывает их в файл.
LPRINT печатает данные на принтере LPT1.
Ñì. LPRINT
См.также PRINT USING, LPRINT USING, WIDTH, WRITE
178 |
Языки Бейсик |
PRINT USING-оператор
PRINT USING записывает отформатированный вывод на экран или в файл. LPRINT USING печатает отформатированный вывод на принтере LPT1. См. LPRINT USING
См.также PRINT, LPRINT, WIDTH
PSET-оператор
Рисует заданную точку на экране. См. PRESET
См.также SCREEN, VIEW, WINDOW, Атрибуты и значения цвета, Режимы экрана
PUT(В/ВВ файлов)-оператор
GET считывает из файла прямого доступа в буфер или в переменную.
PUT записывает содержимое переменной или буфера в файл прямого доступа. См. GET
См. также FIELD, GET, PUT (Графика), LSET, RSET, MKn$, CVn функции, TYPE.
PUT(графика)-оператор
GET сохраняет графический образ экрана. PUT выводит на экран образ, сохраненный GET.
См. GET(графика)
См. также SCREEN, Режимы Экрана
RANDOM-ключевое слово
Ключевые слова APPEND, BINARY, INPUT, OUTPUT и RANDOM используются в операторе OPEN для указания режимов. Кроме того, INPUT, OUTPUT и RANDOM используются в операторе
OPEN COM.
Cì.Append.
RANDOM указывает, что файл открыт в режиме прямого доступа к файлу. Этот режим устанавливается по умолчанию.
См. также OPEN, OPEN COM, PRINT, LPRINT, WRITE
RANDOMIZE-оператор
Инициализирует генератор случайных чисел.
RND возвращает случайное число одинарной точности между 0 и 1. Формат записи:
RANDOMIZE [число%]
RND[(n#)]
Глава XII. Бейсик-HELP |
179 |
ãäå
число% число, используемое для инициализации генератора случайных чи- сел. Если опущено, то 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%
READ-оператор
Оператор DATA указывает значения для чтения последующими операторами READ.
READ считывает эти значения и присваивает их переменным.
RESTORE позволяет READ заново считать значения в указанном операторе DATA.
Cì. DATA
REDIM-оператор
DIM описывает массив или указывает тип данных для переменных не массива.
REDIM описывает или изменяет размер динамического массива, стирая все предыдущие значения. См. DIM.
См. также COMMON, ERASE, OPTION BASE, SHARED, STATIC, $STATIC,
$DYNAMIC
REM-оператор
Позволяет вставлять комментарии в программы.
Формат записи:
REM комментарий или ' комментарий
ãäå
комментарий любой текст.
При работе программы комментарии игнорируются, если только они не содержат метакоманды. См. $DINAMIC, $STATIC.
180 |
Языки Бейсик |
Комментарий может быть вставлен в строке после выполняемого оператора, если перед комментарием стоит символ апострофа (') или перед REM стоит двоеточие (:).
Пример:
REM Это комментарий.
' Это тоже комментарий.
PRINT “Тест1” 'Это комментарий после оператора PRINT.
PRINT “Тест2”:REM Это тоже комментарий после оператора PRINT.
RESET-оператор
Закрывает все открытые файлы и устройства.
Формат записи:
RESET
См. также CLOSE, END, OPEN, STOP
RESTORE-оператор
DATA указывает значения для чтения последующими операторами READ.
READ считывает эти значения и присваивает их переменным.
RESTORE позволяет READ заново считать значения в указанном операторе DATA.
Ñì. DATA.
RESUME-оператор
Продолжает выполнение программы после подпрограммы обработки ошибок.
Формат записи:
RESUME [{строка | NEXT}]
ãäå
строка метка или номер строки для продолжения программы. Если метка равна 0 или отсутствует, выполнение продолжается с оператора, в котором была обнаружена ошибка.
NEXT продолжает выполнение программы со следующего оператора за оператором, в котором была обнаружена ошибка.
См. также ERROR, ON ERROR
RETURN-оператор
Операторы GOSUB и RETURN обеспечивают переход в подпрограмму и возврат из нее.
Cì. GOSUB.
См. также CALL, ON Ключевое слово, ON...GOSUB, SUB
