Языки Бейсик
.pdfГлава XII. Бейсик-HELP |
191 |
STRING$-функция
Возвращает строку указанной длины, состоящую из повторяющегося символа.
Формат записи:
STRING$(длина%,{ascii-код% | строк_выражение$})
ãäå |
|
длина% |
длина строки. |
ascii-êîä% |
ASCII код повторяемого символа. |
строк_выражение$ любое строковое выражение. STRING$ заполняет строку первым символом из строк_выражения$.
Пример:
PRINT STRING$(5, “-”);
PRINT “Привет”;
PRINT STRING$(5, “-”)
См. также ASCII Коды символов
SUB-оператор
Определяет процедуру SUB. Формат записи:
SUB имя[(параметры)] [STATIC] [блок_операторов]
END SUB
ãäå |
|
|
èìÿ |
имя процедуры SUB, длиной до 40, без суффикса типа данных. |
|
параметры |
одна или несколько переменных, указывающих параметры, кото- |
|
|
рые передаются в процедуру SUB при ее вызове в виде: |
|
|
перемен[( )] [AS тип] [, перемен[( )] [AS тип]]... |
|
ãäå |
|
|
|
перемен имя переменной Basic. |
|
|
òèï |
тип данных переменной (INTEGER, LONG, SINGLE, |
|
|
DOUBLE, STRING или тип данных, определенный поль- |
|
|
зователем). |
STATIC |
указывает, что значения локальных переменных процедуры SUB |
|
|
сохраняются между вызовами функции. |
|
При вызове процедуры SUB Вы можете указать, что значение аргумента не должно изменяться процедурой. Для этого заключите аргумент в круглые скобки.
См. также CALL, DECLARE. EXIT, FUNCTION, SHARED, STATIC
SWAP-оператор
Обменивает значения двух переменных.
192 Языки Бейсик
Формат записи:
SWAP переменная1, переменная2
где переменная1 и переменная2 две переменные одного и того же типа данных.
Пример:
a% = 1: b% = 2
PRINT “Äî : “; a%, b%
SWAP a%, b%
PRINT “После: “; a%, b%
SYSTEM-оператор
Закрывает все открытые файлы и возвращает управление в операционную систему. Формат оператора:
SYSTEM
См. также END, STOP
TAB-функция
Перемещает курсор текста в указанную позицию печати. Формат записи:
TAB(столбец%)
ãäå |
|
столбец% |
номер столбца новой позиции печати. |
Пример:
PRINT TAB(25); “Текст”
См.также PRINT, LPRINT, PRINT USING, LPRINT USING, SPC, SPACE$
TAN-функция
TAN возвращает тангенс указанного числового выражения.
COS, SIN и TAN возвращают косинус, синус и тангенс указанного угла. См. ATAN.
THEN-ключевое слово
Используется в операторе IF...THEN...ELSE См. IF.
TIME$-оператор TIME$-функция
Функция TIME$ возвращает текущее системное время компьютера. Оператор TIME$ устанавливает текущее системное время в Вашем компьютере.
Глава XII. Бейсик-HELP |
193 |
Формат записи:
TIME$
TIME$ = строк_выражение$
где строк_выражение$ Время в одном из следующих форматов:
÷÷ |
устанавливает часы; минуты и секунды по умолчанию равны 00. |
÷÷:ìì |
устанавливает часы и минуты; секунды по умолчанию равны 00. |
÷÷:ìì:ññ |
устанавливает часы, минуты и секунды. |
Функция TIME$ возвращает строку в формате чч:мм:сс.
Пример:
PRINT TIME$
TIME$ = “08:00:58” 'Замечание: Новое системное время остается в
силе, 'пока Вы снова не измените его.
PRINT “Установленное время “; TIME$
См. также DATE$
TIMER-функция
Возвращает число секунд, прошедших с полуночи и до текущего момента.
Формат записи:
TIMER
Используйте TIMER для хронометража программ или частей программ, или с оператором RANDOMIZE для запуска генератора случайных чисел.
Пример:
RANDOMIZE TIMER
См. также RANDOMIZE, RND , TIMER, ON TIMER Операторы
TIMER-оператор
TIMER включает, выключает или приостанавливает отслеживание события для таймера. При включенном отслеживании события ON TIMER обращается к подпрограмме, как только прошло указанное число секунд.
Формат записи:
TIMER ON
TIMER OFF
TIMER STOP
ON TIMER(n%) GOSUB строка
ãäå: |
|
TIMER ON |
включает отслеживание события для таймера. |
TIMER OFF |
выключает отслеживание события для таймера. |
194 |
Языки Бейсик |
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
См. также TIMER Функция
TO-ключевое слово
Определяет диапазон для:
Предложения CASE в операторе SELECT CASE.
Счетчика цикла в цикле FOR...NEXT.
Закрываемых и открываемых записей в операторе LOCK...UNLOCK.
Верхней и нижней границы в операторе DIM или REDIM.
См. также DIM, REDIM, FOR...NEXT, LOCK, UNLOCK, SELECT CASE
TRON, TROF-операторы
TRON и TROFF включают и выключают слежение за операторами программы.
Формат записи:
TRON
TROFF
При отладке в современных системах Basic отпадает необходимость в этих операторах.
См. также Клавиши запуска и отладки
TYPE-оператор
Определяет тип данных, содержащий один или несколько элементов.
Формат записи:
Глава XII. Бейсик-HELP |
195 |
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
См. также COMMON, DIM, REDIM, SHARED, STATIC
UBOUND-функция
Возвращает верхнюю или нижнюю границу (наименьший или наибольший доступный индекс) для указанного размера массива.
Ñì. LBOUND
См. также DIM, REDIM
UCASE$-функция
Переводит все буквы строки в прописные буквы.
Ñì. LCASE$
UNLOCK-оператор
LOCK ограничивает или закрывает доступ к файлу при работе в сети.
UNLOCK отменяет ограничения, наложенные последним оператором LOCK.
Ñì. LOCK.
196 |
Языки Бейсик |
UNTIL-ключевое слово
Повторяет блок операторов, пока условие верно(WHILE), или до тех пор, пока условие не станет верным(UNTIL).
Формат записи:
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%
См. также EXIT, FOR...NEXT, WHILE...WEND
USING-ключевое слово
Указывает форматирование для операторов PRINT USING и LPRINT USING, а также назначения палитры в операторе PALETTE USING.
Ñì. PALETTE, PALETTE USING, PRINT USING, LPRINT USING
VAL-функция
STR$ возвращает строковое представление числа.
VAL переводит строковое представление числа в число. См. STR$
VARPTR-функция
VARPTR возвращает адрес смещения переменной. VARSEG возвращает адрес сегмента переменной. Формат записи:
VARPTR(имя_переменной)
VARSEG(имя_переменной)
ãäå
имя_переменной любая переменная Basic.
См. также CALL ABSOLUTE, DEF SEG, PEEK, POKE, VARPTR$
Глава XII. Бейсик-HELP |
197 |
VARPTR$-функция
Возвращает строковое представление адреса переменной для использования с операторами DRAW и PLAY.
Формат записи:
VARPTR$(строка_команд$)
ãäå
строка_команд$ строковая переменная, содержащая команды DRAW или PLAY.
Пример:
Scale$ = |
“CDEFGAB” |
|
PLAY “L16” |
|
|
FOR i% = |
0 |
TO 6 |
PLAY “O” |
+ |
STR$(i%) |
PLAY “X” |
+ |
VARPTR$(Scale$) |
NEXT i% |
|
|
См. также DRAW, PLAY (Музыка), VARPTR, VARSEG
VARSEG-функция
VARPTR возвращает адрес смещения переменной.
VARSEG возвращает адрес сегмента переменной.
Ñì. VARPTR
VIEW-оператор
Определяет размер и положение области просмотра, где графика может быть выведена на экран.
Формат записи:
VIEW [[SCREEN] (x1!,y1!)-(x2!,y2!) [,[цвет%] [,граница%]]]
ãäå |
|
SCREEN |
указывает, что координаты задаются относительно экрана, |
|
а не области просмотра. |
(x1!,y1!)-(x2!,y2!) |
координаты диагонали противоположных углов области |
|
просмотра. |
öâåò% |
атрибут цвета, устанавливающий заполняющий цвет облас- |
|
ти просмотра. |
граница% |
атрибут цвета, устанавливающий цвет границы области |
|
просмотра. |
Если все аргументы опущены, область просмотра — весь экран.
Допустимые атрибуты цвета зависят от Вашего графического адаптера и режима экрана, установленного последним оператором SCREEN.
198 Языки Бейсик
Пример:
'Для выполнения этого примера нужен цветной графический адаптер. SCREEN 1
VIEW (10, 10)-(300, 180), , 1
LOCATE 1, 11: PRINT “Большая область просмотра графики”; VIEW SCREEN (80, 80)-(200, 125), , 1
LOCATE 11, 11: PRINT “Маленькая область просмотра графики”;
См. также CLS, SCREEN, VIEW PRINT, WINDOW, Атрибуты и Значения Цвета, Режимы Экрана
VIEW PRINT-оператор
Устанавливает на экране границы области просмотра текста.
Формат записи:
VIEW PRINT [âåðõ% TO íèç%]
ãäå |
|
âåðõ% |
номер верхней строки области просмотра текста. |
íèç% |
номер нижней строки области просмотра текста. |
Если Вы опустили аргументы верх% и низ%, то VIEW PRINT отводит весь экран под область просмотра текста.
Диапазон для верх% и низ% зависит от режима экрана.
Пример:
VIEW PRINT 10 TO 15
FOR i% = 1 TO 100 'Вывод будет прокручиваться между 10 и 15 PRINT i% 'строкой
NEXT i%
См.также CLS, LOCATE, PRINT, LPRINT, SCREEN, WIDTH, Режимы экрана
WAIT-оператор
Приостанавливает выполнение программы до ввода двоичного кода из порта ввода.
Формат записи:
WAIT номер_порта%, AND-выражение% [,XOR-выражение%]
ãäå |
|
номер_порта% |
номер порта ввода. |
AND-выражение% целое выражение, которое WAIT объединяет со значением |
|
|
двоичного кода, используя оператор AND. Если резуль- |
|
тат не равен нулю, WAIT останавливает использование |
|
порта. |
XOR-выражение% |
может быть использовано для включения или выключения |
|
битов линии в двоичном коде перед использованием AND. |
Глава XII. Бейсик-HELP |
199 |
Пример:
'Читает порт контроллера прерываний с адресом &H20.
'Для продолжения нажмите любую клавишу.
WAIT &H20, 1
См.также INP, OUT, Булевы операции
WEND-ключевое слово
Выполняет серию операторов, пока указанное условие верно.
Формат записи:
WHILE условие
.
.
.
WEND
ãäå
условие числовое выражение, которое Basic оценивает как истинное (не-ноль) или ложное (ноль).
DO...LOOP предоставляет более удобный способ для выполнения операторов в программном цикле. См. также DO...LOOP, FOR...NEX
WHILE-WEND-оператор
Выполняет серию операторов, пока указанное условие верно.
Формат записи:
WHILE условие
.
.
.
WEND
ãäå
условие числовое выражение, которое Basic оценивает как истинное (не-ноль) или ложное (ноль).
DO...LOOP предоставляет более удобный способ для выполнения операторов в программном цикле.
См. также DO...LOOP, FOR...NEXT
WIDTH-оператор
Устанавливает ширину строк вывода устройства (например, принтера) или файла, а также изменяет число строк и столбцов, отображаемых на экране.
Формат записи:
200 Языки Бейсик
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
См.также PRINT, LPRINT, SCREEN, VIEW PRINT
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%
См.также CLS, PMAP, POINT, SCREEN, VIEW, WIDTH
WRITE-оператор
