Обработка нажатия клавиш - PascalABC.NET (25008)
Формулировка задачи:
Программа ниже по задумке после нажатия одной из клавиш совершать следующие действия: если при нажатая клавиша даёт символ А, Б, В или Г, то соответствующая буква должна появиться чуть ниже под заданием (с координатами надписи вроде как всё правильно), если же нажата клавиша с другим символом, то пишется надпись об ошибке; проблема состоит в том, что не пишется ничего из выше перечисленного
Не исключаю, что я чего-то недопонимаю в принципе работы readkey или другого; что же здесь не так? Что нужно изменить, не меняя в корне принцип работы программы?
Решение задачи: «Обработка нажатия клавиш»
textual
Листинг программы
program olympiad; uses graphABC; procedure KeyPress(key:char); begin case key of 'А','а':TextOut(5, 260, 'А'); 'Б','б':TextOut(5, 260, 'Б'); 'В','в':TextOut(5, 260, 'В'); 'Г','г':TextOut(5, 260, 'Г'); else begin setfontcolor(clred); TextOut(5, 230, 'Ответ введён некорректно!'); setfontcolor(clblack); end; end; end; var color_background:color; begin Window.Title := 'Олимпиада'; SetWindowSize(1000, 400); CenterWindow; color_background:=clYellow; ClearWindow(color_background); SetFontSize(45); setfontcolor(clblack); Setbrushstyle(bsClear); TextOut(5, 5, 'ВОПРОС №1'); SetFontSize(20); TextOut(5, 70, 'Чему равен предел натурального логарифма числа е в тридцатой степени?'); TextOut(5, 110, 'А) 20'); TextOut(5, 140, 'Б) 25'); TextOut(5, 170, 'В) 28'); TextOut(5, 200, 'Г) 30'); onkeypress:=KeyPress end.
Объяснение кода листинга программы
Список действий в коде:
- Объявление и настройка параметров программы:
- Установка языка программирования на PascalABC.Net.
- Использование библиотеки graphABC для работы с графикой.
- Создание процедуры KeyPress для обработки нажатия клавиш.
- Установка значения по умолчанию для переменной color_background на желтый цвет (clYellow).
- Установка размера окна на 1000 пикселей в ширину и 400 пикселей в высоту.
- Центрирование окна на экране.
- Установка цвета фона окна на черный (clblack).
- Очистка окна и установка его размера.
- Установка размера шрифта на 45.
- Установка цвета шрифта на черный (clblack).
- Установка стиля кисти на bsClear.
- Вывод текста
ВОПРОС №1
при помощи функции TextOut. - Установка размера шрифта на 20.
- Вывод вариантов ответа при помощи функции TextOut.
- Установка связи с процедурой KeyPress для обработки нажатия клавиш.
- Определение процедуры KeyPress:
- При помощи оператора case обрабатывается нажатие каждой из 4-х букв (А, Б, В, Г).
- Если нажата буква А или а, то выводится текст
А
. - Если нажата буква Б или б, то выводится текст
Б
. - Если нажата буква В или в, то выводится текст
В
. - Если нажата буква Г или г, то выводится текст
Г
. - Если нажата любая другая буква, то:
- Устанавливается красный цвет шрифта (clred).
- Выводится текст
Ответ введён некорректно!
при помощи функции TextOut. - Устанавливается черный цвет шрифта (clblack).
- Объявление переменной color_background типа color.
- Завершение программы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д