Языки Бейсик
.pdfГлава XII. Бейсик-HELP |
181 |
RIGHT$-оператор
Возвращает указанное число символов, стоящих с правого конца строки. См. LEFT$.
См. также MID$
RMDIR-оператор
CHDIR изменяет каталог устройства, принимаемый по умолчанию. MKDIR создает подкаталог. MRDIR удаляет подкаталог. FILES отображает содержимое текущего каталога или указанного каталога. См. CHDIR.
RND-оператор
RANDOMIZE инициализирует генератор случайных чисел.
RND возвращает случайное число одинарной точности между 0 и 1. См. RANDOMIZE.
RSET-оператор
LSET и RSET перемещают данные в буфер файлов прямого доступа (подготавливая его к оператору PUT) и осуществляют правое или левое выравнивание значений строковой переменной. LSET также копирует содержимое одной записи переменной в другую. См. LSET.
См. также FIELD, GET, PUT
RTRIM$-функция
удаляет конечные пробелы из строки.
Ñì. LTRIM$.
RUN-оператор
Выполняет текущую или указанную программу. Формат записи:
RUN [{номер_строки | файл$}]
ãäå
номер_строки номер строки в текущей программе, где должно начинаться выполнение программы. Если номер строки не указан, то выполнение программы начнется с первой выполняемой строки.
файл$ имя исходного файла Basic. Basic ожидает расширение BAS. Перед загрузкой программы, RUN закрывает все файлы и очи- щает память.
Используйте оператор CHAIN для запуска программы, не закрывая при этом открытых файлов.
Пример:
182 |
Языки Бейсик |
'Предполагается, что программа TEST.BAS находится в 'каталоге \DOS. RUN “C:\DOS\TEST.BAS”
См. также CHAIN
SCREEN-функция
Возвращает ASCII значение или атрибут цвета символа, находящегося в указанном месте экрана.
Формат записи:
SCREEN (строка%,столбец% [,флаг])
ãäå |
|
|
|
строка% |
координата строки символа. |
||
столбец% |
координата столбца символа. |
||
ôëàã: |
|
|
|
|
|
|
|
Значение |
|
Возвращает |
|
|
|
|
|
0 (или опущен) |
ASCII код символа |
|
|
|
|
|
|
1 |
|
Атрибут цвета символа |
|
|
|
|
|
|
|
|
|
Пример:
CLS
PRINT “Привет”
PRINT “Значение кода ASCII символа в позиции 1,1 равно”;
SCREEN(1, 1)
PRINT “Hello”
PRINT “Значение кода ASCII символа в позиции 3,1 равно”;
SCREEN(3, 1)
См. также POINT, Оператор SCREEN, ASCII Коды символов, Атрибуты и Значения Цвета
SCREEN-оператор
Устанавливает режим и другие характеристики экрана.
Формат записи:
SCREEN режим% [,[перекл_цвета%] [,[актив_стр%] [,видим_стр%]]]
ãäå |
|
|
|
|
|
режим% |
устанавливает режим экрана. См.Режимы Экрана |
||||
перекл_цвета% |
значение (0 или 1), которое переключает между цветным и |
||||
|
|
монохромным изображением (только в режимах 0 и 1): |
|||
|
|
|
|
|
|
|
|
Режим |
Значение |
Действие |
|
|
|
|
|
|
|
|
|
0 |
0 |
Отключает цвет |
|
|
|
|
|
|
|
|
|
0 |
Íå íîëü |
Включает цвет |
|
|
|
|
|
|
|
|
|
1 |
0 |
Включает цвет |
|
|
|
|
|
|
|
|
|
|
|
|
|
Глава XII. Бейсик-HELP |
|
183 |
|||
|
|
|
|
|
|
|
|
Режим |
Значение |
Действие |
|
|
|
|
|
|
|
|
|
1 |
Íå íîëü |
Отключает цвет |
|
|
|
|
|
|
|
|
|
|
|
|
|
актив_стр% |
Страница экрана, в которую записывается вывод текста или |
||||
|
графики. |
|
|
|
|
видим_стр% |
Страница экрана, отображаемая на экране в данный момент. |
||||
Пример:
'Для выполнения этого примера нужен цветной графический адаптер. SCREEN 1 '320 x 200 графический
LINE (110, 70)-(190, 120), , B
LINE (0, 0)-(320, 200), 3, , &HFF00
См. также CIRCLE, COLOR, DRAW, LINE, PAINT, SCREEN Функция,
VIEW, WINDOW, Режимы Экрана
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)
См. также GET, PUT, OPEN
SEEK-оператор
Оператор SEEK устанавливает позицию файла для следующей записи или чтения. См. функцию SEEK.
184 |
Языки Бейсик |
SELECT CASE-оператор
Выполняет один из нескольких блоков операторов в зависимости от значения выражения.
Формат записи:
SELECT CASE тест_выражение CASE список_выражений1 [блок_операторов-1] [CASE список_выражений2 [блок_операторов-2]]...
[CASE ELSE [блок_операторов-n]] END SELECT
ãäå |
|
тест_выражение |
любое числовое или строковое выражение. |
список_выражений1 |
одно или несколько выражений для сравнения с |
список_выражений2 |
тест_выражением. |
|
В выражении ключевое слово IS должно стоять перед лю- |
|
бым знаком отношения. |
блок_операторов-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
См. также IF...THEN...ELSE
Глава XII. Бейсик-HELP |
185 |
SGN-оператор
SGN возвращает значение, указывающее знак числового выражения (1 — если выражениеположительно;0—еслионоравнонулю;и—1,еслионоотрицатель- но). См.ABS.
SHARED-оператор
предоставляет процедурам доступ к переменным уровня модуля.
STATICделаетпеременнуюлокальнойдляфункцииилипроцедурыисохраняет ее значение между вызовами.
Формат записи:
SHARED перемен.[()] [AS тип] [,перемен.[()] [AS тип]]. STATIC перемен.[()] [AS тип] [,перемен.[()] [AS тип]].
ãäå
перемен. имя переменной уровня модуля или статической переменной. Имя переменнойможетбытьдлинойдо40символовидолжноначинаться с буквы. Допустимые символы: A-Z, 0-9 и точка (.).
ASтип описываеттипданныхпеременной(INTEGER,LONG,SINGLE,DOUBLE, STRING или тип данных, определенный пользователем).
См. также COMMON, DIM, REDIM
SHELL-оператор
Приостанавливает выполнение программ Basic для запуска команд DOS или командного файла.
Формат записи:
SHELL [строка_команд$]
ãäå
строка_команд$ имя команды DOS или командного файла.
Выполнение Вашей программы возобновляется по завершении выполнения команды DOS или командного файла.
Если Вы опустили строку команд, SHELL вызывает COMMAND.COM и выводит на экран командное приглашение DOS. Для возобновления выполнения Вашей программы используйте команду EXIT.
Пример:
SHELL “DIR”
SIN-функция
ATN возвращает арктангенс указанного числового выражения.
COS, SIN и TAN возвращают косинус, синус и тангенс указанного угла.
Ñì. ATN
186 |
Языки Бейсик |
SINGLE-ключевое слово
Указывают тип данных для переменных в операторах описания и в списке параметров.
Ñì. DOUBLE.
См. также AS, Набор основных символов, COMMON, DECLARE, DEF FN, DIM, REDIM, FUNCTION, SHARED, STATIC, SUB, TYPE
SLEEP-оператор
Приостанавливает выполнение программы. Формат записи:
SLEEP [секунды&]
ãäå
секунды& число секунд приостановки программы.
Если секунды& равны 0 или опущены, программа будет приостановлена до тех пор, пока Вы не нажмете клавишу или не произойдет событие.
Пример:
PRINT “Вздремните 10 секунд...”
SLEEP 10
PRINT “Проснитесь!”
См. также WAIT
SOUND-оператор
Генерирует звук через динамик Вашего компьютера. Формат записи:
SOUND частота, длительность
ãäå |
|
частота |
частота звука в Гц; значения находятся в пределах от 37 до 32 767. |
длительность |
число тактов системных часов, в течение которых длится звук; |
|
значения — в диапазоне от 0 до 65 535. Каждую секунду проис- |
|
ходит 18.2 такта. |
Пример:
FOR i% = 440 TO 1000 STEP 5
SOUND i%, i% / 1000
NEXT i%
См.также PLAY
SPACE$-функция
Возвращает строку пробелов. Формат записи:
SPACE$(n%)
Глава XII. Бейсик-HELP |
187 |
ãäå
n% Нужное число пробелов в строке.
Пример:
FOR i% = 1 TO 5 x$ = SPACE$ (i%) PRINT x$; i% NEXT i%
См. также SPC, STRING$
SPC-функция
Оставляет заданное число пробелов в операторах PRINT или LPRINT.
Формат записи:
SPC(n%)
ãäå
n% число пробелов; значения в диапазоне от 0 до 32 767.
Пример:
PRINT “Текст1”; SPC(10); “Текст2”
См.также PRINT, LPRINT, PRINT USING, LPRINT USING, SPACE$, TAB
SQR-функция
Возвращает квадратный корень числового выражения.
Формат записи:
SQR(числ_выражение)
ãäå
числ_выражение значение большее или равное нулю.
Пример:
PRINT SQR(25), SQR(2) 'Вывод: 5 1.414214
STATIC-функция
STATIC делает переменную локальной для функции или процедуры и сохраняет ее значение между вызовами.
Ñì.SHARED.
$STATIC-метафункция
Устанавливает область хранения массивов по умолчанию.
Ñì. $DYNAMIC.
188 |
Языки Бейсик |
STEP-ключевое слово
В цикле FOR...NEXT указывает, насколько увеличивать значение счетчика при каждой итерации. В графических операторах указывает, что координаты точки растра заданы относительно текущего графического положения курсора.
См. также CIRCLE, FOR...NEXT, GET, PUT, LINE,PAINT, PRESET, PSET
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)
См.также STRIG Функция, STRIG, ON STRIG Операторы
STOP-оператор
Останавливает программу.
Формат записи:
STOP
Ключевое слово STOP также приостанавливает отслеживание событий в следующих операторах:
COM, ON COM, KEY, ON KEY, PEN, ON PEN, PLAY, ON PLAY, STRIG, ON TRIG, TIMER, ON TIMER
Пример:
FOR i% = 1 TO 10 PRINT i%
IF i% = 5 THEN STOP 'STOP — пауза; F5 — продолжение. NEXT i%
См. также END, SYSTEM
Глава XII. Бейсик-HELP |
189 |
STR$-функция
возвращает строковое представление числа.
VAL переводит строковое представление числа в число.
Формат записи:
STR$(числ_выражение)
VAL(строк_выражение$)
ãäå
числ_выражение Любое числовое выражение. строк_выражение$ Строковое представление числа.
Пример:
PRINT “Десятичное 65 представляется в шестнадцатеричной системе как “;
PRINT “&H” + LTRIM$(STR$(41)) PRINT VAL(RIGHT$(“IBM 1991”, 4))
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
190 |
Языки Бейсик |
DO
BEEP 'Подает сигнал (BEEP) при нажатом триггере A.
LOOP WHILE STRIG(1)
См. также STICK, STRIG, ON STRIG Операторы
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
См. также STICK, STRIG Функция
STRING-ключевое слово
Указываеттипданныхдляпеременныхвоператорахописанияивспискепараметров.
Ñì. DOUBLE.
