Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораторные работы по курсу Delphi.doc
Скачиваний:
11
Добавлен:
15.11.2019
Размер:
1.81 Mб
Скачать

Свойства компонента RadioGroup

Свойство

Определяет

Name

Имя компонента. Используется для доступа к свойствам компонента

Caption

Название

Items

Элементы раскрывающегося списка

Left

Расстояние от левой границы компонента до левой границы формы

Top

Расстояние от верхней границы компонента до верхней границы формы

Height

Высоту компонента (поля ввода-редактирования)

Width

Ширину компонента

Font

Шрифт, используемый для отображения элементов списка

ParentFont

Признак наследования свойств шрифта родительской формы

Список альтернатив для выбора может быть сформирован в процессе разработки формы приложения. Чтобы сформировать список во время разработки формы, нужно в окне Object Inspector выбрать свойство Items, щелкнуть на кнопке активизации редактора списка строк (кнопка с тремя точками) и ввести элементы списка.

Пример составления программы

Рассмотрим примеры написания программ для случая использования компонент RadioGroup и ComboBox

Пример 2.1.

Дан массив из пяти элементов. Составить программу для:

а) определения максимального элемента массива;

б) определения минимального элемента массива;

в) определения суммы элементов массива.

В данном примере будет рассмотрено использование компонента ComboBox.

После запуска Delphi на форму необходимо будет вынести два компонента типа Button и один компонент типа ComboBox. Кнопки нужны для организации начала расчетов и выхода из программы, задание их свойств было подробно описано в работе №1. Поэтому остановимся только на свойствах типа ComboBox.

Как уже было сказано выше, для правильного использования компонент этого типа необходимо сформировать список альтернатив.

Заполнение списка начинается щелчком на кнопке активизации редактора списка строк (кнопка с тремя точками). После этого необходимо ввести нужные альтернативы (см. рис. 2.1).

Рис. 2.1. Пример заполнения списка

Параметр ItemIndex определяет, какая из альтернатив была выбрана. Если он равен 0, то выбрана первая альтернатива, если равен 1, то вторая и т.д. Если выбор не сделан, значение этого параметра равно -1.

После окончания работы с компонентами их нужно расположить так, как показано на рис. 2.2.

Рисунок 2.2. Расположение компонент на форме

Ниже приведен текст процедуры TForm1.Button1Click, которая реализует необходимые вычисления. Для выбора альтернативы использован оператор Case.

procedure TForm1.Button1Click(Sender: TObject);

Var a1,i:integer;

Begin

Сase ComboBox1.ItemIndex of

0:begin

a1:=a[1];

for i:=2 to 5 do

if a1>a[i] then a1:=a[i];

ShowMessage('минимальный элемент '+inttostr(a1));

end;

1:begin

a1:=a[1];

for i:=2 to 5 do

if a1<a[i] then a1:=a[i];

ShowMessage('максимальный элемент '+inttostr(a1));

end;

2:begin

a1:=0;

for i:=1 to 5 do

a1:=a1+a[i];

ShowMessage('сумма элементов '+inttostr(a1));

end;

else

begin

ShowMessage('ничего не выбрано!');

end;

end;

End;

Стандартная процедура ShowMessage обеспечивает вывод на экран в отдельном окне текстовой строки. Функция IntToStr преобразует целое число в переменную строкового типа.

При выполнении программы формирование массива осуществляется в процедуре TForm1.FormActivate. Она выполняется один раз при запуске программы. Создать ее можно следующим образом – наставить курсор на любое свободное место на форме и щелкнуть левой клавишей мыши, затем в Object Inspector выбрать закладку Events, подвести курсор справа от пункта OnActivate и дважды щелкнуть левой клавишей мыши. После этого необходимо внести в нее нужный программный код (см. рис. 2.3). Использование массива a в разных процедурах вызывает необходимость описывать его как глобальную переменную.

Запуск программы на выполнение осуществляется так же, как и в работе №1. Результаты работы программы представлены на рис. 2.4.

Рис. 2.3. Пример процедуры TForm1.FormActivate

Рис. 2.4. Результат работы программы

Пример 2.2.

Дан массив из пяти элементов. Составить программу для:

а) определения максимального элемента массива;

б) определения минимального элемента массива;

в) определения суммы элементов массива.

Набор компонент остается таким же, как и в предыдущем примере, только вместо компонента ComboBox будет использоваться компонент RadioGroup.

Последовательность формирования альтернатив такая же, как и для компонента ComboBox. Результат представлен на рис. 2.5.

Рисунок 2.5. Пример заполнения

За выбор альтернативы в компоненте RadioGroup тоже отвечает параметр ItemIndex, его значения формируются по тому же принципу. Текст процедуры TForm1.Button1Click приведен ниже.

Procedure TForm1.Button1Click(Sender: TObject);

Var a1,i:integer;

Begin

Case RadioGroup1.ItemIndex of

0:begin

a1:=a[1];

for i:=2 to 5 do

if a1>a[i] then a1:=a[i];

ShowMessage('минимальный элемент '+inttostr(a1));

end;

1:begin

a1:=a[1];

for i:=2 to 5 do

if a1<a[i] then a1:=a[i];

ShowMessage('максимальный элемент '+inttostr(a1));

end;

2:begin

a1:=0;

for i:=1 to 5 do

a1:=a1+a[i];

ShowMessage('сумма элементов '+inttostr(a1));

end;

else {-1}

begin

ShowMessage('ничего не выбрано!');

end;

end;

end;

Исходный массив формируется в процедуре TForm1.FormActivate. Результаты работы программы приведены на рис. 2.6.

Рисунок 2.6. Результаты работы программы