Немного более сложное приложение
Задание: Создайте приложение, которое при нажатии кнопки перемножало бы два числа, введенных пользователем, и показывало бы результат умножения.
При построении этого приложения используйте новые типы компонентов – окна редактирования 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