Лабораторная работа № 3 Переключатели и их свойства.
Переключатели (флажки) позволяют выбрать какое-либо значение из определённого множества. Они могут находиться во включенном (установленном) состоянии или выключенном (сброшенном) состояниях. Система Delphi предоставляет для работы с переключателями компоненты CheckBox (независимый переключатель) , RadioButton (зависимый переключатель) (Загрузите среду визуального программирования Delphi, найдите эти компоненты на стандартной панели компонентов).
Рассмотрим свойства переключателей (RadioButton).
-
Свойство
Описание свойства
Checked
Состояние переключателя. True (выбранный), False (не выбранный).
TabOrder
Порядок выбора объекта клавишей Tab: 0 (первый), 4 (пятый).
TabStop
Доступ к данному объекту табулятором: True (доступный), False (не доступный).
Задания:
Создадим форму с названием “Обмен валюты” для моделирования соответствующих операций обменного пункта. Применим для этого поля редактирования (Edit) и переключатели (RadioButton), а также кнопки (Button) для выполнения вычислений и выхода из программы.
Вставьте в форму два объекта типа RadioButton (переключатель), для этого щёлкните на пиктограмме объекта типа RadioButton, которая находится на стандартной закладке палитры компонентов главного окна Delphi. После этого щёлкните в точке вставке на форме (см. рис.1).
Повторите эти действия, чтобы вставить второй переключатель.
Задайте начальное значение второго переключателя как активное. Для этого щёлкните на правом переключателе и задайте значение его свойства Checked (контроль выбора) – True.
Вставьте в форму четыре поля редактирования – объекты Edit1, Edit2, Edit3, Edit4 (см. рис.1).
(Программирую на Delphi, мы уже пользовались полем редактирования Edit, но подробно не рассматривали свойства этого компонента.) Поля редактирования Edit, кроме общих для всех компонентов свойств, обладают ещё и такими свойствами:
-
Свойство
Описание свойства
CharCase
Вид символов, которые будут вводить в поле редактирования. EcNormal (обычные), ecUpperCase (прописные буквы), ecLowerCase (строчные буквы)
CtI3D
Объемное изображение объекта.
Pass-wordChar
Символ для ввода пароля. #0 (обычное отображение текста), * (текст будет отображаться звездочками), 0 (текст будет отображаться нулями)
Readonly
Возможность менять текст (доступность поля). True (текст нельзя менять), False (текст можно менять)
Hint
Текст подсказки, который появляется при наведении указателя мыши
ShowHint
Показывать/Не показывать подсказку
Text
Текст в поле редактирования
Разместите на форме четыре текстовых поля – объекты Label1, Label2, Label3, Label4 (см. рис. 1).
Вставьте две кнопки – объекты типа Button ( cм. рис. 1).
Сохраните созданную на данный момент форму в своей папке.
Используя свойство Caption, поменяйте название формы с “Form1” на “Обмен валюты”.
Измените подписи Caption на объектах типа RadioButton, Label и Button так, как показано на рис. 2.
Рис.1
Задайте одинаковые размеры для всех текстовых полей, полей редактирования и кнопок и выровняйте их на форме. Для этого одновременно выделите пять объектов в левом столбце одним из способов: удерживайте нажатой клавишу Shift, поочерёдно активизируйте объекты, щёлкая на них левой клавишей мыши; обведите вокруг этих объектов контур, удерживая нажатой левую клавишу мыши. В окне задайте общие для этих объектов значения в пикселях свойств Width (ширина), Height (высота), Left (отступ от левой границы окна). Снять выделение можно, щёлкнув на свободном месте формы.
Выровняйте вставленные поля попарно в горизонтальном направлении. Для этого поменяйте значение свойства Top (отступ от верхней границы в пикселях) для соответствующих групп объектов. Сохраните результат работы.
Изменив значения свойства Text объектов Edit1, Edit2, Edit3, задайте значение курсов купли-продажи валюты, а также сколько валюты покупают или продают.
Очистите поле редактирования Edit4, для этого удалите значение свойства Text объекта Edit4.
Рис 2.
Заблокируйте возможность ввода данных для поля Edit4, поскольку в это поле будет выводиться результат, для этого задайте значение свойства Enabled (доступность) – False.
Запрограммируйте переключатели так, чтобы направление стрелки менялось и указывало на вид операции: купля или продажа.
Щёлкните дважды на правом переключателе RadioButton2 (Продажа). Получите заготовку процедуры RadioButton2Click. В теле этой процедуры опишите действия, которые должны быть выполнены в результате щелчка на правом переключателе RadioButton2.
procedure TForm1.RadioButton2Click(Sender: TObject);
begin
Label3.Caption:='p'; {Меняем направление стрелки}
Edit3.SetFocus; {Активизируем поле Edit3}
end;
Аналогично запрограммируйте событие Click для переключателя RadioButton1. Учтите, что cтрелка должна показывать на левое поле.
27. Запрограммируйте кнопку “Выход”.
procedure TForm1.Button2Click(Sender: TObject);
begin
Close {Закрываем окно программы}
end;
28. Запрограммируйте кнопку Вычислить.
procedure TForm1.Button1Click(Sender: TObject);
var
kurs1,kurs2,summa:real;
cod:integer;
ed:string;
begin
Val (Edit1.Text,kurs1,cod); {Получаем значение курса покупки}
Val (Edit2.Text,kurs2,cod); {Получаем значение курса продаж}
Val (Edit3.Text,summa,cod); {Получаем числовое значение суммы в USD}
if RadioButton2.Checked=true then
summa:=summa*kurs2
else
summa:=summa*kurs1;
str(summa:9:2,ed); {Полученное число суммы в рублях преобразовываем в
текстовый формат }.
Edit4.text:=ed; { Результат присваиваем свойству Text поля вывода Edit4}
end;
Выполните программу и поупражняйтесь с разными денежными суммами и операциями купли-продажи. Закройте окно программы “Обмен валюты”.
Измените размеры и цвет символов, расположение объектов на форме так, чтобы форма выглядела как можно лучше.
Обеспечьте появление подсказки “Введите сумму в долларах” после перемещения указателя мыши к полю Edit3 (используйте свойства ShowHint, Hint).
Создайте exe-файл Вашей программы.
Закройте среду, запустите созданную программу и выполните вычисления для разных входных данных.
Вставьте в созданную форму ещё одну кнопку для очистки полей денежных сумм. Выполните программу и убедитесь в правильности её работы.
Обеспечьте появление подсказки “Введите курс купли” и “Введите курс продажи” для перемещения указателя мыши к полям Edit1 и Edit2 соответственно.