Дополнительное задание

Практика №3

Разработка проекта Тест по Delphi

Постановка задачи

Создать программу, с помощью которой можно выполнить:

После запуска программы появляется изображение аналогичное рисунку 25.2. Пользователь по своему усмотрению выбирает один из переключателей в группе. В зависимости от правильности ответов появляется одно из сообщений «Плохо!», «Удовлетворительно!», «Хорошо!», «Отлично!».

Дополнительное задание - student2.ru

Рисунок 25.2

Пояснения: новыми в этой программе являются группа переключателей RadioGroup, компонент CheckBox и компонент Panel на странице палитры компонентов Стандартные (Standard).

План разработки программы

1. Открыть новый проект. Дать имя форме Тест по Delphi.

2. Сохранить проект в отдельной папке под именем Pr6.pas и Project6.dpr

3. Разместить в форме компоненты в соответствии с рисунком 25.3.

Дополнительное задание - student2.ru

Рисунок 25.3

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

Выделенная компонента Окно инспектора объектов Имя свойства, события Действие
Label1 Параметры (Properties) Caption С помощью какой клавиши запускают программу?
Autosize False
WordWrap True
Height
Width
Left
Label2 Параметры (Properties) Caption Какое свойство определяет вид компонента BitBtn?
Autosize False
WordWrap True
Height
Width
Left
Label3 Параметры (Properties) Caption Сколько окон можно увидеть после загрузки интерфейса Delphi?
Autosize False
WordWrap True
Height
Width
Left
Label4 Параметры (Properties) Caption Главный модуль представляет собой файл с расширением:
Autosize False
WordWrap True
Height
Width
Left
Label5 Параметры (Properties) Caption С какого слова начинается главный модуль?
Autosize False
WordWrap True
Height
Width
Left
BitBtn1 Параметры (Properties) Kind bkClose
Caption Выход
События (Events) OnClick Close;
CheckBox1 Параметры (Properties) Caption Начало работы
Panel1 Параметры (Properties) Caption Удалить название
RadioGroup1 Параметры (Properties) Caption Удалить название
Columns (количество отображаемых колонок)
Items Вызвать StringListEditor, дважды щелкнув мышкой рядом со свойством Items. Ввести 5 строк: F2 F5 F7 F9 F12 Введенный текст сохранить в файле test1.txt
RadioGroup2 Параметры (Properties) Caption Удалить название
Columns
Items Ввести 5 строк: Caption Color Kind Enabled Name Введенный текст сохранить в файле test2.txt
RadioGroup3 Параметры (Properties) Caption Удалить название
Columns
Items Ввести 5 строк: Введенный текст сохранить в файле test3.txt
RadioGroup4 Параметры (Properties) Caption Удалить название
Columns
Items Ввести 5 строк: .res .exe .dpr .cfg .pas Введенный текст сохранить в файле test4.txt
RadioGroup5 Параметры (Properties) Caption Удалить название
Columns
Items Ввести 5 строк: Unit Program Begin Var Function Введенный текст сохранить в файле test5.txt


5. Для суммирования набираемых пользователем баллов выполните следующие действия:

Выделенная компонента Окно инспектора объектов Имя свойства, события Действие
RadioGroup1 События (Events) OnClick Sum:=0; If RadioGroup1.ItemIndex=3 Then Sum:=Sum+1; Пояснение: Индекс первого переключателя равен 0. Правильный ответ содержит переключатель с меткой F9, имеющий индекс 3.

Переменную Sum необходимо объявить в разделе Var перед разделом implementation.

6. Вставьте в обработчик событий RadioGroup2Click, RadioGroup3Click, RadioGroup4Click, RadioGroup5Click аналогичные коды, с учетом правильных ответов, но без обнуления переменной Sum, так как оно необходимо лишь один раз перед началом суммирования.

7. Выведем на контрольную панель итоговое сообщение в зависимости от набранной суммы баллов.

Выделенная компонента Окно инспектора объектов Имя свойства, события Действие
RadioGroup5 События (Events) OnClick Case Sum of 0..2:Panel1.Caption:=’Плохо!’; 3:Panel1.Caption:=’Удовлетворительно!’; 4:Panel1.Caption:=’Хорошо!’; 5:Panel1.Caption:=’Отлично!’; End;

8. Вывести сообщение об окончании тестирования, добавив в обработчик событий RadioGroup5Click код:

ShowMessage (‘Конец теста!’);

9. Сохранить проект окончательно, запустить и протестировать его.

Дополнительное задание

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

Подсказка.В форме разместить компоненты Label6 и Panel2.

Выделенная компонента Окно инспектора объектов Имя свойства Действие
Label6 Параметры (Properties) Caption Количество правильных ответов
Height
Width
Panel2 Параметры (Properties) Caption Удалить название
Height
Width

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

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

3. Сделайте повторный запуск программы (сброс значений). Для этого в форме расположите дополнительную кнопку Повторить (bkRetry).

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

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

5.Сделать доступным группы переключателей RadioGroup1 и т.д. только при включенном CheckBox1. Для этого свойству Enabled компонентов RadioGroup1, RadioGroup2 и т.д. задать значение false.

А в обработчик событий CheckBox1. Click вставить код:

If CheckBox1.Checked=false then

RadioGroup1.Enabled:=false else

RadioGroup1.Enabled:=true;

В этой же процедуре вставить аналогичные коды для RadioGroup2, RadioGroup3, RadioGroup4, RadioGroup5, а также для кнопок Проверить и Повторить.

Примерный вид готового приложения:

Дополнительное задание - student2.ru

Наши рекомендации