- •Сборник практических работ
- •Практическая работа № 1 Управляющие структуры Delphi. Программирование линейных алгоритмов.
- •Усвоить применение компонентов Label, Edit, Button и BitBtn.
- •Получить практические навыки программирования линейных алгоритмов в Delphi.
- •Практическая работа № 2 Управляющие структуры Delphi. Программирование ветвящихся алгоритмов. Инструкция If
- •Изучить структуру простого проекта на языке Delphi.
- •Усвоить применение инструкции if.
- •Практическая работа № 3 Реализация ветвящихся алгоритмов для решения прикладных задач
- •Получить практические навыки работы с ветвящимися алгоритмами в Delphi.
- •Практическая работа № 4 Использование визуальных компонентов Delphi для организации структуры ветвления:
- •Получить практические навыки работы с ветвящимися алгоритмами в Delphi.
- •Усвоить применение компонента RadioButton.
- •Усвоить применение компонента RadioGroup.
- •Группа переключателей RadioGroup
- •0:MessageDlg('Внимание! Не выбран ни один цвет!',mtInformation,[mbOk],0);
- •Практическая работа № 5 Использование визуальных компонентов Delphi для работы со списками –
- •Получить практические навыки работы с ветвящимися алгоритмами в Delphi.
- •Усвоить применение компонента ListBox.
- •Усвоить применение компонента ComboBox.
- •Практическая работа № 6 Использование циклических структур в Delphi
- •Получить практические навыки работы с циклическими алгоритмами в Delphi.
- •Закрепить практические навыки применения компонентов ListBox, ComboBox.
- •Закрепить практические навыки применения компонентов RadioButton, RadioGroup.
- •Формат записи оператора Repeat…until:
- •Практическая работа № 7 Разработка простейшего приложения типа «Калькулятор»
- •Закрепить практические навыки применения компонентов страницы Standart.
- •Закрепить практические навыки написания обработчиков простейших событий.
- •Практическая работа № 8 Разработка приложения для обработки массива
- •Освоить работу с массивами.
- •Усвоить применение компонента StringGrid.
- •Практическая работа № 9 Разработка простейшего графического редактора
- •Порядок выполнения
- •Практическая работа № 10 Разработка приложений с использованием компонентов Shape и Image
- •Порядок выполнения
Практическая работа № 4 Использование визуальных компонентов Delphi для организации структуры ветвления:
RadioButton, RadioGroup
Цель работы:
Получить практические навыки работы с ветвящимися алгоритмами в Delphi.
Усвоить применение компонента RadioButton.
Усвоить применение компонента 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 во время создания формы:
На форме выделить группы переключателей (компонент RadioGroup)
В окне Object Inspector выбрать свойство Items и дважды щёлкнуть на значении этого свойства (справа от названия Items)
В появившемся окне String list editor (редактор списка строк) следует набирать список переключателей, поместив каждый элемент списка на новой строке. Ввод очередного элемента списка должен заканчиваться нажатием кнопки <Enter>
После ввода всех элементов списка нужно щёлкнуть на кнопке ОК.
Активизация переключателя в RadioGroup
Чтобы в момент появления компонента RadioGroup на экране один из переключателей был уже установлен, необходимо установить в свойство ItemIndex номер соответствующего переключателя (нумерация начинается с 0).
Примеры установки первого переключателя группы:
На этапе конструирования формы в Инспекторе Объектов установить значение свойства ItemIndex:
RadioGroup1.ItemIndex=0
программно установить значение свойства 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.
Разработать программу, реализующую ветвление: программа меняет цвет формы на выбранный пользователем.
Порядок выполнения работы
Загрузите визуальную среду программирования. Создайте новый проект.
Поместите на форму визуальный компонент GroupBox: Измените для него значения свойств следующим образом: Caption – “Выбор цвета формы” , Font – полужирный курсивный, красный.
В компоненте GroupBox поместите 3 компонента RadioButton: , а так же компонент “кнопка” - Button:
Свойство Caption для каждого из трех компонент RadioButton измените на Синий, Желтый, Зеленый соответственно. Заголовок (свойство Caption) для кнопки измените на “Принять”.
Кроме этого поместите на форму графическую кнопку (BitBtn) со страницы Additional палитры компонент. Из ниспадающего списка значений свойства Kind для данного компонента выберите значение bkClose, а свойство Caption измените следующим образом: &Закрыть программу.
Таким образом, вы разработали общий визуальный интерфейс вашей программы, который должен принять вид:
Запрограммируйте обработчик события Нажатие на кнопку “Принять”, для чего выберите объект 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