Тема: Использование компонентов зависимых и независимых переключателей
Цель лабораторной работы – Научиться использовать компоненты зависимых и независимых переключателей
Студенты должны научиться:
- Работать с компонентами переключателями
- Создавать программы с данными компонентами
Теоретический материал
Выбор и настройка параметров при работе с программным приложением считается стандартной частью работы пользователя с любым серьезным приложением. Это может быть как настройка самого приложения, так и определение параметров отображаемых или моделируемых в приложении процессов и явлений. Элементы интерфейса Windows-программы для основных операций такой работы в настоящее время практически стандартизированы. Рассмотрим создание этих элементов на примере работы с компонентами библиотеки VCL (VisualComponentLibrary) в среде Delphi.
Базовые элементы выбора и настройки параметров расположены на странице Standart палитры компонент Delphi. В представленном ниже проекте используем следующий классический набор компонент:
GroupBox – группа, которая визуально и логически объединяет наборы компонент, определяет порядок перемещения по компонентам на форме (при нажатии клавиши TAB). При помещении в группу новый компонент получает свойства ParentColor, ParentShowHint, ParentFont, ParentCtl3D этой группы. Свойства Left и Top сгруппированных объектов определяются по верхнему углу группы, а не формы;
RadioGroup – группа для объектов RadioButton (см. ниже). Основными свойствами является Items – для добавления пунктов, и ItemIndex номер выбранного пункта.
RadioButton – переключатели или радиокнопки, служат для выбора одной возможности из набора взаимоисключающих возможностей. Термин отражает сходство с набором кнопок выбора каналов радиоприемника. Эти кнопки обычно объединяют группой RadioGroup. Выбор кнопки отражает свойство Checked, свойство Alingment определяет положение поясняющей надписи относительно кнопки;
CheckBox – выключатель, выглядит как строка текста с окошком для установки отметки о выборе. Выключатели работают независимо, но их обычно группируют. При определении реакции на выбор можно использовать событие OnClick, но обычно устанавливают как индикатор свойство State по трем состояниям – cbChecked (есть), cbUnChecked (нет), cbGrayed (неопределенно) внутри программы. При этом для блокировки ручного изменения этого свойства нужно установить DragMode=Automatic.
Задание 1
- Создать приложение, выполняющее следующее действие: при выборе одного из цвета, загорается соответствующий компонент Panel. На форме разместить:Label, Panel, RadioGroup.
- Подписать компоненты. У формы убрать кнопку свернуть, и развернуть. Форма должна загружаться в середине экрана, и не увеличиваться (уменьшаться) в размерах.
- Для добавления цветов в компонент RadioGroup необходимо в свойстве Items, добавить пункты.
- В событии OnClick введите код, для выбора цвета и закрашивания компонента Panel.
if RadioGroup1.ItemIndex=1 then Panel3.Color:=clYellow;
Пояснение: При выборе 1 пункта RadioGroup (начинается с 0), загорается второй компонент Panel , желтый цвет. Свойство Color имеет значения clRed, clYellow, clGreen, clBrown.
- Остальные кнопки пропишите самостоятельно.
Задание 2
- Создать приложение, выполняющее арифметические операции над числами. Для начала нужно выбрать первое число, затем второе число, а затем действие. Необходимо увеличить форму в размерах, и расположите компоненты как на изображении.
- Подписать компоненты, согласно изображению. Вывести результат арифметического действия в компонентах Label.
- Прописать код, для нахождения решения.
Задание 3
- Исправить Задание 2, при выборе одного числа, закрыть данный компонент для выбора числа, аналогично и с выбором второго числа и действия.
Задание 4
- Создайте программу, выполняющую следующие действия. После запуска программы появляется изображение аналогичное рисунку. Пользователь по своему усмотрению выбирает один из переключателей в группе. В зависимости от правильности ответов появляется одно из сообщений «Плохо», «Удовлетворительно», «Хорошо», «Отлично».
- Вставьте в разделе реализации после ключевого слова implementation объявление переменной для подсчета правильных ответов:
Var SUM : Byte;
- Для суммирования набираемых пользователем баллов, создайте следующую процедуру обработки события. При нажатии на ответ, в переменную SUM пусть заносится 1 балл, если ответ правильный.
- Выведем на контрольный вопрос итоговое сообщение в зависимости от набранной суммы баллов и выведем сообщение об окончании тестирования. Для этого на последнем вопросе в компоненте RadioGroup в событии OnClick прописать код для подсчета правильных ответов и вывода результата:
Case SUM of 0..2: Panel1.Caption:=’Плохо!’;
3: Panel1.Caption:=’Удовлетворительно!’;
4: Panel1.Caption:=’Хорошо!’;
5: Panel1.Caption:=’Отлично!’;
end;
ShowMessage(‘Конец теста’);
Самостоятельная работа
- Для контроля правильности работы программы выведите на панель количество правильных ответов пользователя.
- Запустите программу и убедитесь, что верная сумма баллов получается лишь при последовательном выборе переключателей сначала из RadioGroup1, затем из RadioGroup2 и т.д. Если порядок нарушен, то результат может быть неверным. Исправьте эту ошибку.
- Введите дополнительную кнопку «Повторить», которая позволит повторно выполнить задание.
- Для наглядности предусмотрите возможность вывода результата разным цветом.
Содержание отчета:
- Номер, тема, цель лабораторной работы.
- Задание к работе.
- Описание входных, промежуточных и результирующих данных с указанием их типа.
- Программа на языке программирования.
- Результат выполнения программы (Введенное данные и полученные данные)
- Вставить код, написанный вами
- Вывод о проделанной работе.