Задание: Создайте приложение, которое при нажатии кнопки перемножало бы два числа, введенных пользователем, и показывало бы результат умножения.
При построении этого приложения используйте новые типы компонентов – окна редактирования LebeledEdit. Для разнообразия выводите результат не в метку Label, а в панель Panel, чтобы испытать новый компонент.
Откройте новое приложение. Перенесите на него со страницы библиотеки Additional два окна редактирования с присоединенными к ним метками LebeledEdit, а со страницы библиотеки Standard – одну метку Label для надписи, одну панель Panel и одну кнопку Button.
Измените надписи в метках компонентов LabeledEdit на что-то осмысленное. Например на «Число 1» «Число2» «Результат» или на «Ширина» «Высота» «Площадь». Для этого щелкните на символе «+» в свойстве EditLabel этих компонентов и измените надпись в свойстве Caption раскрывшихся списков свойств меток. Полезно задать для меток жирный шрифт.
Замените свойство Caption вашей кнопки, например, на «Расчет». Очистите свойство Caption у панели. В свойстве Text (текст) окон редактирования задайте «1» — начальное значение текста.
Попробуйте поварьировать такими свойствами панели, как Bevellnner и BevelOuter, которые определяют вид (утопленный — bvLowered или выпуклый bvRaised) основного поля и рамки панели. Например, можете установить Bevellnner = bvLowered и BevelOuter = bvRaised.
Осталось написать обработчик щелчка кнопки. Как и в предыдущей работе сделайте двойной щелчок на компоненте Button1 на форме. Единственный оператор этого обработчика может иметь вид:
Panel1->Caption = LabeledEdit1->Text + " * " +
LabeledEdit2->Text + " = " +
FloatToStr (StrToFloat(LabeledEdit1->Text) *
StrToFloat(LabeledEdit2->Text));
Попробуем проанализировать этот оператор. Начало его вам уже знакомо: вы присваиваете свойству Caption компонента Panel1 значение выражения, указанного в правой части оператора. Это выражение должно иметь тип строки текста. Начинается строка с текста, введенного пользователем в окно редактирования LabeledEdit1 — этот текст хранится в свойстве Text. Затем вы прибавляете к этому тексту символы «*». Знак «+» в выражениях для строк означает конкатенацию — сцепление двух строк символов. Затем аналогичным образом к строке добавляется текст второго окна редактирования и символы «=». После этого мы хотим вставить в строку результат перемножения двух целых чисел. Этот результат будет числом и, чтобы вставить его в текст, надо сначала преобразовать это число в строку. Эту операцию выполняет функция FloatToStr(...), которая преобразует заданный ей параметр типа действительного числа в строку символов. Осталось получить само произведение двух чисел. Но числа заданы пользователем в виде текстов — строк символов в окнах редактирования. Прежде, чем перемножать, эти строки надо перевести в числа. Эту операцию выполняют функции StrToFloat(), преобразующие символьное изображение числа в его значение типа действительного числа. Знак '*', указанный между двумя функциями StrToFloat, обозначает операцию умножения.
Самостоятельная работа № IV