Обработка нажатия клавиш - 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.

Объяснение кода листинга программы

Список действий в коде:

  1. Объявление и настройка параметров программы:
    • Установка языка программирования на PascalABC.Net.
    • Использование библиотеки graphABC для работы с графикой.
    • Создание процедуры KeyPress для обработки нажатия клавиш.
    • Установка значения по умолчанию для переменной color_background на желтый цвет (clYellow).
    • Установка размера окна на 1000 пикселей в ширину и 400 пикселей в высоту.
    • Центрирование окна на экране.
    • Установка цвета фона окна на черный (clblack).
    • Очистка окна и установка его размера.
    • Установка размера шрифта на 45.
    • Установка цвета шрифта на черный (clblack).
    • Установка стиля кисти на bsClear.
    • Вывод текста ВОПРОС №1 при помощи функции TextOut.
    • Установка размера шрифта на 20.
    • Вывод вариантов ответа при помощи функции TextOut.
    • Установка связи с процедурой KeyPress для обработки нажатия клавиш.
  2. Определение процедуры KeyPress:
    • При помощи оператора case обрабатывается нажатие каждой из 4-х букв (А, Б, В, Г).
    • Если нажата буква А или а, то выводится текст А.
    • Если нажата буква Б или б, то выводится текст Б.
    • Если нажата буква В или в, то выводится текст В.
    • Если нажата буква Г или г, то выводится текст Г.
    • Если нажата любая другая буква, то:
      • Устанавливается красный цвет шрифта (clred).
      • Выводится текст Ответ введён некорректно! при помощи функции TextOut.
      • Устанавливается черный цвет шрифта (clblack).
  3. Объявление переменной color_background типа color.
  4. Завершение программы.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

7   голосов , оценка 3.857 из 5
Похожие ответы