ПРАКТИЧЕСКАЯ РАБОТА № 9 – Работа с компонентами GroupBox и RadioGroup


Практически закрепить знания и умения использования возможностей среды Delphi для создания тестовых проектов, используя компонентами GroupBox RadioGroup и их свойствами

Ход работы:

Создать в своей папке в папке MyPrograms_Delphi папку ПР№9.
Откройте новый проект.
Создать программу, которая выполняет следующие действия. После запуска программы появляется изображение аналогичное рисунку. Пользователь по своему усмотрению выбирает один из переключателей в группе. В зависимости от правильности ответов появляется одно из сообщений «Неудовлетворительно», «Удовлетворительно», «Хорошо», «Отлично».
Разместить на форме компоненты в соответствии с рисунком и присвоить заголовки меткам и панелям соответствующие названия.

image image

Выполнить следующие действия:

Выделенный объект

Вкладка окна Object Inspector

Имя свойства / Имя события

Значение / Действие

Labell

Properties

Caption

Первая советская вычислительная машина

Label2

Properties

Caption

Основоположник алгебры логики

Label3

Properties

Caption

Объем блока начальной загрузки

Label4

Properties

Caption

Автор первого счетного устройства

Label5

Properties

Caption

энергонезависимая память

GroupBox1

Properties

Caption

Питання1

RadioButton1

Properties

Caption

Урал-1

RadioButton2

Properties

Caption

М-20

RadioButton3

Properties

Caption

ЭО

RadioButton4

Properties

Caption

МЭСМ

RadioButton5

Properties

Caption

БЭСМ

RadioGroup1

Properties

Caption

Питання2

Columns

4

Items

Ввести 4 строки: Лейбниц

Буль

Читать  Использование подпрограмм Паскаль – Процедуры и функции

 

Нейман Паскаль

RadioGroup2

Properties

Caption

Питання3

Columns

4

Items

Ввести 4 строки 1024 байт 512 байт 1.5 Кбайт 2 Кбайт

RadioGroup3

Properties

Caption

Питання4

Columns

5

Items

Ввести 4 строки: Бэббидж Паскаль Нейман

Лавлейс

RadioGroup4

Properties

Caption

Питання5

Columns

3

Items

Ввести 3 строки: ПЗУ

ОЗУ

внешняя

Сохранить проект под именем, например, Unit9.pas и Pr9.dpr.
Для суммирования баллов, набирает пользователь, выполните следующие действия: (RadioButtonN.Caption = ‘МЭСМ «, для объекта в GroupBox и правильный ответ имеет переключатель, у которого RadioGroupN.ItemIndex = M, номер значения переключателя в списке)

Целочисленную переменную sum необходимо объявить в разделе Var перед разделом implementation.
Вставить в обработчик событий RadioGroup2.OnClick, RadioGroup3.OnClick, RadioGroup4.OnClick по образцу RadioGroup5.OnClick аналогичные коды, с учетом правильных ответов, но без обнуления переменной sum, поскольку оно необходимо только один раз перед началом суммирования.
Чтобы вывести на контрольную панель итоговое сообщение в зависимости от набранной суммы баллов, использовать оператор Case.
Вывести сообщение об окончании тестирования, добавив в обработчик событий RadioGroup5.OnClick код: ShowMessage ( ‘Конец теста’);
.Сохранить проект, запустить и протестировать его.

Читать  Пример перевода из десятичной системы в двоичную на Паскаль

Задания для самостоятельного выполнения

задания

Подсказка

1.

Для контроля правильности работы программы вывести на панель набранную пользователем сумму баллов.

Заголовке соответствующей панели присвоить значение IntToStr (sum).

2.

Запустить программу и убедиться, что верная сумма баллов получается только при последовательном выборе переключателей сначала с GroupBox, затем с RadioGroup1, с RadioGroup2 и так далее. Если порядок нарушен, то результат может быть неверным. Чтобы этого не случилось, вставьте дополнительную кнопку и сделайте подсчет баллов только после

ее нажатия

3.

Ввести дополнительную кнопку Повторить, которая позволяет повторно выполнить задание.

4.

Для наглядности вывести результат разным цветом.

У оператора Case при выводе результата задать свойства Font.Color выбранный цвет. Например: Panel1.Font.Color = clRed;

5.

Усовершенствовать программу так, чтобы можно было выводить ФИО и группу тестуючогося

Домашнее задание Создать проект «Тест_Д»

  1. Назовите Форму «Тест_Д»
  2. Используя компоненты GroupBox, RadioGroup, RadioButton, Label, Button

image

оформите Форму по образцу:

Пустое текстовое поле внизу формы предназначено для вывода количества верных ответов, а в надписи рядом будет выводиться комментарий: «Молодец!», «Нормально»,

«Плохо» или «Очень плохо». Эти две надписи при запуске проекта не должны быть видны на Форме.
Для вывода количества верных ответов необходимо описать переменную, которая будет содержать число верных ответов. В разделе Var опишите переменную s и дайте ему начальное значение 0: s: Integer = 0
При нажатии на кнопку, содержит правильный ответ (это кнопки RadioButton3, RadioButton6, RadioButton12) значение переменной s должна увеличиваться на единицу. Опишите данную процедуру для нужных кнопок.
При нажатии на кнопку Результат на Форме должна появляться надпись с количеством верных ответов и комментарии (если правильных ответов 3 то «Молодец!», Если 2 то

Читать  ПРАКТИЧЕСКАЯ РАБОТА № 5 – Создание типового окна Windows-приложения | Свойства объектов формы

«Нормально», если 1 то «Плохо», если 0 то «Очень плохо»). Опишите данную процедуру для кнопки, используя условный оператор.
Сохраните Проект, запустите программу и попробуйте с ней поработать. Видно, что при ответе на вопрос можно несколько раз нажимать разные кнопки. Это может повлиять на подсчет правильных ответов. Для того, чтобы ответ на вопрос состоял из единого щелчка, надо для щелчок по каждой кнопке написать процедуру невозможности щелчок по любой другой кнопке. Пример такой процедуры для кнопки RadioButton1:

RadioButton2.Enabled = false; RadioButton3.Enabled = false; RadioButton4.Enabled = false;
Аналогично опишите процедуры для других кнопок.
Запустите программу и проверьте ее работу. Для того чтобы выполнить тест еще раз кнопки Повторить тест нужно описать процедуру, которая отменила все ограничения для кнопок (свойство Enabled), выключила сами щелчок по кнопкам (свойство Checked), обнулил значение переменной s и сделала невидимыми метки внизу формы. Опишите данную процедуру.

контрольные вопросы

В чем отличие компонентов GroupBox и RadioGroup?
Объясните принцип действия компонента RadioGroup.
Какое свойство компонента RadioGroup отвечает за количество переключателей?
Какое максимальное количество столбцов в компоненте RadioGroup?
Ввод названия к переключателям компонента RadioGroup?
Какую функцию выполняет оператор ShowMessage?

 

[Всего голосов: 4    Средний: 5/5]