Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Сборник ПППН_ОАиП_Delphi_ПО_2005-2006.doc
Скачиваний:
29
Добавлен:
19.08.2019
Размер:
3.77 Mб
Скачать

Практическая работа № 4 Использование визуальных компонентов Delphi для организации структуры ветвления:

RadioButton, RadioGroup

Цель работы:

  1. Получить практические навыки работы с ветвящимися алгоритмами в Delphi.

  2. Усвоить применение компонента RadioButton.

  3. Усвоить применение компонента RadioGroup.

Краткие теоретические сведения

Оператор выбора Case

Инструкция Case поваляет реализовать множественный выбор и в общем виде записывается так:

Case выражение of

Список1 констант: begin

{последовательность1 инструкций}

end;

Список2 констант: begin­

{последовательность2 инструкций}

end;

СписокN констант: begin

{последовательностьN инструкций}

end;

else

end;

Выражение – выражение, от значения которого зависит дальнейший ход программы (последовательность инструкций должна быть выполнена);

Список констант – константы, разделённые запятыми. Константы представляющие диапазон чисел записываются так: 1..6

Выполняется инструкция case следующим образом. Сначала вычисляется значение выражения после case, затем полученное значение последовательно сравнивается с константами из списков констант перед двоеточием. Если значение выражения совпадает с константой из списка, то выполняется соответствующая последовательность инструкций и выполнение инструкции case завершается. Если значение выражения не совпадает ни с одной из константой всех списков, то выполняется последовательность инструкций после else.

Переключатель RadioButton

Размещен на закладке Standart. Предназначен для выбора одного из нескольких взаимоисключающих решений.

Обычно переключатели размещаются на компоненте-контейнере (например, на компоненте GroupBox или Panel). Их должно быть не менее двух.

Основные свойства компонента RadioButton:

Свойство

Назначение свойства

Значения свойства

Checked

Определяет, установлен ли (включен ли) переключатель

True – переключатель установлен

False – переключатель установлен

Если в одном компоненте RadioButton это свойство принимает значение True, то во всех остальных компонентах RadioButton того же контейнера свойства Checked принимают значение False

Caption

Заголовок переключателя

Произвольный текст

Alignment

Положение текста заголовка относительно переключателя

taLeftJustify – слева от переключателя

taRightJustify – справа от переключателя

Группа переключателей RadioGroup

Размещена на закладке Standart. Представляет собой специальный контейнер для размещения переключателей RadioButton.

Основные свойства компонента RadioGroup:

Свойство

Назначение свойства

Значения свойства

Items (основное)

Содержит список заголовков переключателей

Набор строк

ItemIndex (основное)

Содержит индекс установленного переключателя

-1 – не установлен ни один переключатель

0 – установлен первый переключатель

1 – установлен второй переключатель и т.д.

Формирование группы переключателей RadioGroup можно выполнить двумя способами:

  • во время создания формы приложения

  • динамически, во время работы программы.

Формирования группы переключателей RadioGroup во время создания формы:

  1. На форме выделить группы переключателей (компонент RadioGroup)

  2. В окне Object Inspector выбрать свойство Items и дважды щёлкнуть на значении этого свойства (справа от названия Items)

  3. В появившемся окне String list editor (редактор списка строк) следует набирать список переключателей, поместив каждый элемент списка на новой строке. Ввод очередного элемента списка должен заканчиваться нажатием кнопки <Enter>

  4. После ввода всех элементов списка нужно щёлкнуть на кнопке ОК.

Активизация переключателя в RadioGroup

Чтобы в момент появления компонента RadioGroup на экране один из переключателей был уже установлен, необходимо установить в свойство ItemIndex  номер соответствующего переключателя (нумерация начинается с 0).

Примеры установки первого переключателя группы:

  1. На этапе конструирования формы в Инспекторе Объектов установить значение свойства ItemIndex:

RadioGroup1.ItemIndex=0

  1. программно установить значение свойства ItemIndex:

procedure TForm1.FormActivate(Sender: TObject);

begin

RadioGroup1.ItemIndex=0;

end;

Определение переключателя, установленного пользователем

Для этого используется свойство ItemIndex компонента  RadioGroup.

Например:

Case RadioGroup1.ItemIndex of

0: <операторы>; // установлен 1-й переключатель

1: <операторы>; // установлен 2-й переключатель

2: <операторы>; // установлен 3-й переключатель

..

else

<операторы>; // не установлен ни один из переключателей

end;

Задание 1.

Разработать программу, реализующую ветвление: программа меняет цвет формы на выбранный пользователем.

Порядок выполнения работы

  1. Загрузите визуальную среду программирования. Создайте новый проект.

  2. Поместите на форму визуальный компонент GroupBox: Измените для него значения свойств следующим образом: Caption – “Выбор цвета формы” , Font – полужирный курсивный, красный.

  3. В компоненте GroupBox поместите 3 компонента RadioButton: , а так же компонент “кнопка” - Button:

  1. Свойство Caption для каждого из трех компонент RadioButton измените на Синий, Желтый, Зеленый соответственно. Заголовок (свойство Caption) для кнопки измените на “Принять”.

  2. Кроме этого поместите на форму графическую кнопку (BitBtn) со страницы Additional палитры компонент. Из ниспадающего списка значений свойства Kind для данного компонента выберите значение bkClose, а свойство Caption измените следующим образом: &Закрыть программу.

  1. Таким образом, вы разработали общий визуальный интерфейс вашей программы, который должен принять вид:

  1. Запрограммируйте обработчик события Нажатие на кнопку “Принять”, для чего выберите объект Button на вашей форме, перейдите в окно инспектора объектов (Object Inspector) на закладку События (Events) и дважды щелкните мышкой на поле значения для события OnClik. Перед вами появится окно редактора кода с заготовкой обработчика события. Внесите свой код, так чтобы обработчик принял вид:

procedure TForm1.Button1Click(Sender: TObject);

begin

if form1.RadioButton1.Checked then form1.Tag:=1;

if form1.RadioButton2.Checked then form1.Tag:=2;

if form1.RadioButton3.Checked then form1.Tag:=3;

case form1.Tag of