Использование компонентов зависимых и независимых переключателей

Тема: Использование компонентов зависимых и независимых переключателей
Цель лабораторной работы – Научиться использовать компоненты зависимых и независимых переключателей

Студенты должны научиться:

  • Работать с компонентами переключателями
  • Создавать программы с данными компонентами

Теоретический материал

Выбор и настройка параметров при работе с программным приложением считается стандартной частью работы пользователя с любым серьезным приложением. Это может быть как настройка самого приложения, так и определение параметров отображаемых или моделируемых в приложении процессов и явлений. Элементы интерфейса 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

  1. Создать приложение, выполняющее следующее действие: при выборе одного из цвета, загорается соответствующий компонент Panel. На форме разместить:Label, Panel, RadioGroup.
  2. Подписать компоненты. У формы убрать кнопку свернуть, и развернуть. Форма должна загружаться в середине экрана, и не увеличиваться (уменьшаться) в размерах.
  3. Для добавления цветов в компонент RadioGroup необходимо в свойстве Items, добавить пункты.
  4. В событии OnClick введите код, для выбора цвета и закрашивания компонента Panel.

if RadioGroup1.ItemIndex=1 then Panel3.Color:=clYellow;

Пояснение: При выборе 1 пункта RadioGroup (начинается с 0), загорается второй компонент Panel , желтый цвет. Свойство Color имеет значения clRed, clYellow, clGreen, clBrown.

  1. Остальные кнопки пропишите самостоятельно.

 

Задание 2

  1. Создать приложение, выполняющее арифметические операции над числами. Для начала нужно выбрать первое число, затем второе число, а затем действие. Необходимо увеличить форму в размерах, и расположите компоненты как на изображении.

 

  1. Подписать компоненты, согласно изображению. Вывести результат арифметического действия в компонентах Label.
  2. Прописать код, для нахождения решения.

Задание 3

  1. Исправить Задание 2, при выборе одного числа, закрыть данный компонент для выбора числа, аналогично и с выбором второго числа и действия.

Задание 4

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

 

  1. Вставьте в разделе реализации после ключевого слова implementation объявление переменной для подсчета правильных ответов:

Var SUM : Byte;

  1. Для суммирования набираемых пользователем баллов, создайте следующую процедуру обработки события. При нажатии на ответ, в переменную SUM пусть заносится 1 балл, если ответ правильный.
  2. Выведем на контрольный вопрос итоговое сообщение в зависимости от набранной суммы баллов и выведем сообщение об окончании тестирования. Для этого на последнем вопросе в компоненте RadioGroup в событии OnClick прописать код для подсчета правильных ответов и вывода результата:

Case SUM of 0..2: Panel1.Caption:=’Плохо!’;

3: Panel1.Caption:=’Удовлетворительно!’;

4: Panel1.Caption:=’Хорошо!’;

5: Panel1.Caption:=’Отлично!’;

end;

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

 

Самостоятельная работа

  1. Для контроля правильности работы программы выведите на панель количество правильных ответов пользователя.
  2. Запустите программу и убедитесь, что верная сумма баллов получается лишь при последовательном выборе переключателей сначала из RadioGroup1, затем из RadioGroup2 и т.д. Если порядок нарушен, то результат может быть неверным. Исправьте эту ошибку.
  3. Введите дополнительную кнопку «Повторить», которая позволит повторно выполнить задание.
  4. Для наглядности предусмотрите возможность вывода результата разным цветом.

 

Содержание отчета:

  1. Номер, тема, цель лабораторной работы.
  2. Задание к работе.
  3. Описание входных, промежуточных и результирующих данных с указанием их типа.
  4. Программа на языке программирования.
  5. Результат выполнения программы (Введенное данные и полученные данные)
  6. Вставить код, написанный вами
  7. Вывод о проделанной работе.

Автор публикации

не в сети 3 недели

Администратор ресурса

Здравствуйте. Если у Вас возникают какие-либо вопросы касательно работы сайта, то вы можете написать на электронную почту admin@learn-more.kz
Комментарии: 24Публикации: 287Регистрация: 25-01-2017

Добавить комментарий