Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Создание проекта «Тест» с использованием условного оператора и переключателейСодержание книги
Поиск на нашем сайте
Рис. 104 Графический интерфейс проекта «Тест»
Создадим графический интерфейс проекта по образцу рис. 103. В данном проекте необходимо ввести переменную целого типа S, в которой будет храниться количество правильных ответов. При каждом правильном ответе переменная S должна увеличиваться на единицу. В начале программы ее необходимо обнулить. Для этого, создадим обработчик события OnCreate у формы, в котором запишем один оператор S:=0.
Для каждого компонента TRadioGroup необходимо создать обработчик события OnClick, в котором следует проверить, соответствует ли индекс выбранного ответа правильному. Если это условие выполняется, то переменная S должна увеличиваться на 1. Например, у первой группы переключателей RadioGroup1 будет следующий текст программного кода:
Для вывода числа правильных ответов создадим следующий обработчик события OnClick у кнопки с заголовком «Результат».
Чтобы вывести оценку, необходимо снова использовать условный оператор:
Рис. 105 Работающее приложение В данном проекте использовалась только одна форма, на которой размещались все вопросы. Однако можно для создания тестов использовать несколько окон – форм. В этом случае тест получается более наглядным и красочным. Рассмотрим создание теста, в котором каждый вопрос выводится в новой форме. Первую форму сделаем титульной и разместим на ней заголовок теста, рисунок и кнопку «Начать».
Рис. 106 Графической интерфейс первой формы проекта
Для подключения к проекту новой формы необходимо в главном меню выбрать команду [ File – New]. Если задержать указатель мыши на данной команде, то справа от нее появится список элементов, которые можно добавить в проект. Выберем из списка вариант Form. После этого в проекте появится дополнительная форма. В нашем случае это будет Form2. Далее необходимо добавить оператор в основной программный модуль unit1, который открывал бы вторую форму. Для этого применяется процедура FormN.Show, где N — порядковый номер открываемого дополнительного окна. В данном проекте вторая форма должна открыться при щелчке на кнопке «Начать», поэтому текст программного кода обработчика события OnClick у данной кнопки будет следующим:
Далее необходимо разработать графический интерфейс подключаемого окна. Для того чтобы вывести на экран необходимую форму, нужно выбрать команду меню [ View-Forms]. После выполнения данной команды на экран компьютера выводится диалоговое окно, которое содержит список всех форм, используемых в данном проекте. Выбираем вторую из них, после чего данная форма будет выведена на передний план. Сам же процесс создания графического интерфейса аналогичен соответствующему процессу для основной формы.
Рис. 107 Графический интерфейс дополнительного окна Form2
По завершении работы над графическим интерфейсом дополнительное окно можно закрыть, щелкнув стандартную закрывающую кнопку, расположенную в правом верхнем углу окна. Код, описывающий действия, производимые пользователем в дополнительном окне, будет содержаться в дополнительном модуле unit2. Для того чтобы вывести на экран текст данного модуля, нужно выбрать команду меню [ View – Units]. После щелчка на этой команде открывается диалоговое окно со списком модулей, в котором выбираем нужный нам (в данном случае – это Unit2). Сам по себе процесс написания кода аналогичен соответствующему процессу для основного окна, но нужно учесть, что модуль unit2 должен быть подключен к основному модулю unit1. Данное подключение производится так: в основной части программы после заголовка указывается список используемых в данной программе дополнительных модулей. Этот список начинается со служебного слова uses, после которого через запятую перечисляются модули. В этот список следует добавить модуль unit2. Тогда список будет выглядеть следующим образом:
Uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, ExtCtrls, StdCtrls, Menus, Unit2;
После выполнения всех указанных ранее операций дополнительное окно становится полноценной частью проекта. Аналогично добавляются остальные окна теста Form3-Form6.
а) б)
в) г) Рис. 108 Графический интерфейс дополнительных окон Form3-Form6 Разработаем код программного модуля unit2.pas для второй формы. Сначала создадим обработчик события TForm2.RadioGroup1Click, в котором проверим, соответствует ли индекс выбранного ответа правильному варианту. При разработке теста с несколькими формами желательно не использовать дополнительных переменных:
Количество правильных ответов выводится в компонент Label1 шестой формы. При щелчке на кнопке «Следующий» третья форма должна появиться, а вторая скрыться.
Так как в программном модуле unit2.pas были использованы объекты Form3 и Form6, то необходимо подключить их модули к модулю unit2.pas. Т.е. добавить их в список Uses к уже имеющимся модулям. Uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, jpeg, ExtCtrls, Unit3, Unit6;
Аналогично разрабатываются программные модули unit3.pas-unit5.pas. В программном модуле unit6.pas у шестой формы необходимо прописать обработчики событий для кнопок «Оценка» (выводит соответствующую оценку) и «Выход» (закрывает все формы).
Задания 1. Изменить проект «Тест» таким образом, чтобы при правильном ответе на экран выводилось сообщение «Верно». Если ответ неверный, то должно выводиться сообщение «Ошибка». 2. Изменить проект «Тест» таким образом, чтобы вопросы могли иметь несколько правильных ответов. 3. Дополнить проект «Тест» вопросами открытого типа, ответы на которые необходимо вводить в текстовое поле.
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Последнее изменение этой страницы: 2017-01-25; просмотров: 318; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.146.206.87 (0.006 с.) |