Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Key(10) stop




NEXT

...

DIM a(100)

KEY(10) ON

CLS

DO

a$ = INKEY$

LOOP WHILE a$ = ""

Здесь цикл DO повторяется до тех пор, пока переменная a$ остается пустой (a$ =пустые кавычки). Внутри цикла этой переменной функцией INKEY$ каждый раз присваивается значение нажатой клавиши. Как только будет нажа­та любая клавиша – цикл завершится. Далее будет можно анализировать пере­менную a$ с целью выяснения того, какая же именно клавиша была нажата.

Ниже приведена программа, выводящая ASCII-коды всех нажатых клавиш (как буквенно-цифровых, так и управляющих). Для выяснения того, к какой их этих двух групп относится данная клавиши, ее код сначала анализируется на длину. Если длина 1, значит клавиша обычная, если – 2, то управляющая. В последнем случае выводится только код второго символа из a$, т.е. ASC(RIGHT$(a$, 1)). Справа от программы изображены результаты ее работы при нажатии клавиш q, w, ц, у, ­, ®, ¯.

 

PRINT "Символ Код" DO DO‘цикл ожидания нажатия a$ = INKEY$‘символ клавиши LOOP WHILE a$ = "" IF LEN(a$) = 1 THEN‘если длина кода – 1 ‘печать символа на клавише и ее кода PRINT a$; TAB(9); ASC(a$) ELSE‘если длина кода – 2 ‘печать кода управляющей клавиши PRINT TAB(9); ASC(RIGHT$(a$, 1)) END IF LOOP     Символ Код q 113 w 119 ц 230 у 227

Оператор

üON KEY (код_клавиши) GOSUB метка

позволяет отслеживать нажатие функциональной или управляющей клавиши с указанным кодом с передачей управления к оператору с заданной меткой. Для таких клавиш назначены здесь следующим коды:

1-10,30,31 – функциональные клавиши F1-F10 и F11, F12,

11,12,13,14 – клавиши ­ ®¯.

Этот оператор в форме

üON KEY (код_клавиши) ON/OFF

включает/отключает действие, назначенное клавише оператором вида ON KEY (...) GOSUB.

Состояние задержки на заданное число секунд для просмотра большого объема данных на экране и/или для восприятия какого-либо события можно организовать оператором

üSLEEP [число_секунд_задержки]

Пауза может быть прекращена нажатием любой клавиши. Если параметр число секунд отсутствует, ожидание будет бесконечным. Например, в следую­щем фрагменте программы производится предъявление элементов массива А “порциями” по 20 элементов. Пауза позволяет просмотреть выведенные дан­ные. Если пользователь хочет прервать процесс, он может нажать клавишу F10.

ON KEY(10) GOSUB m:

FOR i = 1 TO 100

IF i MOD 20 = 0 THEN SLEEP ELSE PRINT a(i)

m: PRINT "Конец просмотра"

2.10. РАБОТА С ГРАФИКОЙ

В Бейсике имеются средства создания графических образов. Вывод изобра­жений на экран в графическом режиме осуществляется в отдельные точки экра­на – пиксели. Число таких точек и возможность их раскраски определяются техническими средствами компьютера. В соответствии с этим назначается определенный доступный графический режим его работы. Начало координат располагается в левом верхнем углу экрана. Отсчет пикселей начинается с нуля. Для цветных мониторов обычно одновременно доступны 16 цветов, которые обозначаются числами:

0 черный 1 голубой 2 зеленый 3 бирюзовый 4 красный 5 розовый 6 коричневый 7 белый 8 серый 9 ярко-голубой 10 ярко-зеленый 11 ярко-бирюзовый 12 ярко-красный 13 ярко-розовый 14 желтый 15 ярко-белый

¶УСТАНОВЛЕНИЕ ГРАФИЧЕСКОГО РЕЖИМА ЭКРАНА

осуществляется оператором

üSCREEN режим

Здесь режим – номер экранного режима. В настоящее время широко используются графические адаптеры SVGA, для которых обычен режим номер 12 с разрешением 640 точек по горизонтали и 480 точек по вертикали, т.е. возможна адресация по оси Y от 0 до 479, по оси Х от 0 до 639. В дальнейшем мы будем использовать оператор выбора графического режима в форме SCREEN 12.

Непосредственно после оператора SCREEN графический курсор устанавли­вается в центр экрана – в нашем случае в точку 320,240. Аналогичный результат получается после применения оператора CLS.

¶ОПЕРАТОРЫ ВЫВОДА ГРАФИЧЕСКИХ ПРИМИТИВ

Оператор

üPSET/PRESET [STEP] (x,y) [,цвет]

рисует точку на экране в позиции X,Y указанным цветом. Если задан параметр STEP, координаты берутся как смещение относительно текущего положения графического курсора, иначе – они интерпретируются как абсолютные коор­динаты. Если цвет не указан, оператор PSET, использует текущий основной цвет. PRESET работает также, но если цвет не указан, то используется цвет фона (удобно для стирания уже выведенных точек). Если координаты точки находятся вне экрана, то никаких действий не производится и сообщений об ошибке не выдается.

Оператор

üCIRCLE [STEP] (x,y), радиус [, цвет]

рисует окружность с центром в точке X,Y заданным радиусом и цветом. STEP – указывает на то, что используются относительные координаты.

Примеры:

'окружность радиусом 100 с центром в точке с координатами 50, 50 цвета 4




Поделиться с друзьями:


Дата добавления: 2014-12-27; Просмотров: 390; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.006 сек.