Немного более сложное приложение.

Задание: Создайте приложение, которое при нажатии кнопки перемножало бы два числа, введенных пользователем, и показывало бы результат умножения.

При построении этого приложения используйте новые типы компонентов – окна редактирования 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