Иллюстрированный самоучитель по C++ Builder

Проверка компонента

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

Можно считать, что компонент работает правильно, если во время разработки приложения удалось поместить этот компонент в форму разрабатываемого приложения и, используя окно Object Inspector, установить значения свойств компонента, причем как новых, так и унаследованных от родительского класса.

Работоспособность компонента NkEdit можно проверить, использовав его, например, в приложении "Сила тока", вид формы которого приведен на рис. 6.12.

Иллюстрированный самоучитель по C++ Builder › Компонент программиста › Проверка компонента
Рис. 6.12. Форма приложения "Сила тока" (поля ввода-редактирования компоненты NkEdit)

Внешне форма разрабатываемого приложения почти ничем не отличается от формы приложения "Сила тока", рассмотренного в гл. 2. Однако если выбрать поле ввода, то в окне Object Inspector будет указано, что текущим компонентом является компонент класса TNkEdit, а в списке свойств можно будет увидеть свойства, которых нет у стандартного компонента Edit (рис. 6.13).

Иллюстрированный самоучитель по C++ Builder › Компонент программиста › Проверка компонента
Рис. 6.13. Значения свойств EnableFloat, Max и Min компонента NkEdit можно задать в окне Object Inspector

В листинге 6.6 приведен модуль приложения "Сила тока". Здесь надо обратить внимание на следующее.

Первое. В программе нет кода, обеспечивающего фильтрацию символов, вводимых в поле редактирования. Тем не менее во время работы программы пользователь может ввести в поле редактирования только положительное число.

Второе. В программе не используется функция strToFloat. Число, которое соответствует введенной в поле редактирования строки символов, получается путем обращения к свойству Numb.

Очевидно, что использование в программе компонента NkEdit вместо стандартного Edit освобождает программиста от рутины, сокращает размер кода и делает его более понятным.

Листинг 6.6. "Сила тока".

// нажатие клавиши в поле Напряжение
void __fastcall TForml::NkEditlKeyPress(TObject *Sender, char SKey)
{
if (Key == VK_RETORN)
NkEdit2 › SetFocus(); }
// нажатие клавиши в поле Сопротивление
void __fastcall TForml::NkEdit2KeyPress(TObject *Sender, char &Key)
{
if (Key == VK_RETORN)
Buttonl › SetFocus(); }
// нажатие кнопки Вычислить
void __fastcall TForml::ButtonlClick(TObject *Sender)
{
float u; // напряжение
float r; // сопротивление
float i; // ток
// получить исходные данные из полей ввода
 u = NkEditl › Numb;
r = NkEdit2 › Nuinb;
if (r == 0) {
ShowMessage("Сопротивление не должно быть равно нулю");
return; }
// вычислить ток i = u/r;
// вывести результат Label4 › Caption = "Ток: " +
FloatToStrF(i,ffGeneral,7.3) + "А";
}
Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.