Проверка компонента
После того как компонент будет добавлен в пакет и его
значок появится в палитре компонентов, необходимо проверить поведение компонента
во время разработки приложения, использующего этот компонент (работоспособность
компонента была проверена раньше, когда компонент добавлялся в форму приложения
динамически, во время работы программы).
Можно считать, что компонент
работает правильно, если во время разработки приложения удалось поместить этот
компонент в форму разрабатываемого приложения и, используя окно Object Inspector, установить значения свойств компонента,
причем как новых, так и унаследованных от родительского класса.
Работоспособность компонента NkEdit можно
проверить, использовав его, например, в приложении "Сила тока", вид формы
которого приведен на рис. 6.12.

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

Рис. 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) + "А";
}
|