:: Меню ::

Головна
Передмова
СЕРЕДОВИЩЕ РОЗРОБКИ C++ BUILDER
Початок роботи
Перший проект
ПРАКТИКУМ ПРОГРАМУВАННЯ
Графіка
Мультимедіа
Бази даних
Компонент програміста
Консольне застосування
Довідкова система
Створення настановного диска
Приклади програм
C++ Builder — короткий довідник
Книга для гостей
Контакти
Добавити у вибране

:: Друзі ::

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

:: Лічильники ::

=

 

 

 

 

 

Внесення змін



Після декількох запусків програми "Сила струму" виникає бажання удосконалити програму, внести до неї зміни. Наприклад, такі, щоб після введення напруги в результаті натиснення клавіші <Enter> курсор переходив в полі Опір, а після введення опору в результаті натиснення цієї ж клавіші виконувався розрахунок. Крім того, було б непогано, щоб користувач міг вводити в поля редагування тільки числа. Щоб внести зміни до програми, потрібно запустити C++ Builder і відкрити відповідний проект. Зробити це можна звичайним способом, вибравши в меню File команду Open Project. Можна також скористатися командою Reopen з меню File. При виборі команди Reopen відкривається список проектів, над якими працював програміст останнім часом. У лістингу 2.4 приведена програма "Сила струму", до якої внесені зміни: додані функції обробки подій onkeypress для компонентів Edit1 і Edit2. Щоб додати в програму функцію обробки події, треба у вікні Object Inspector вибрати компонент, для якого потрібно створити функцію обробки події, на вкладці Events вибрати подію і зробити подвійне клацання в полі поряд з ім'ям події. C++ Builder сформує шаблон функції обробки події. Після цього можна вводити інструкції, що реалізовують функцію.

Лістинг 2.4. Функції обробки подій на компонентах форми програми "Сила струму"

// клацання на кнопці Обчислити 
void__fastcall Tforml::buttonlclick(Tobject *Sender) 
{ 
float u; // напруга 
float r; // опір 
float i; // струм 
// перевіримо, чи введені дані в поля Напруга і Опір 
if ( ((Editl-xtext).Length() == 0) || ((Edit2->text).Length() ==0)) 
{ 
Messagedlg("Haдo ввести напругу і опір" 
mtlnformation, Tmsgdlgbuttons() <<  mbok, 0); 
if ((Editl->text).Length() == 0) 
Edit1->setfocus(); // курсор в полі Напруга else 
Edit2->setfocus(); // курсор в полі Опір return; };
// отримати дані з полів введення 
u =  Strtofloat(Editl->text); 
r = Strtofloat(Edit2->text); 
// обчислити силу струму try 
{
i = u/r; 
} 
catch (Ezerodivide &e) 
{ 
 Showmessage("Величина опору не має дорівнювати нулю"); 
Edit2->setfocus();  // курсор в полі Опір 
return; 
} 
// вивести результат в полі Label4 
Label4->caption = "Струм : " + 
 Floattostrf(i,ffgeneral,7,2)+ " А"; 
} 
// натиснення клавіші в полі Напруга 
void __fastcall Tforml::editlkeypress(Tobject *Sender, char Skey) 
{ 
// коди заборонених клавіш замінимо нулем, в результаті 
// символи цих клавіш в полі редагування не з'являться 
// Кеу — код натиснутої клавіші 
// перевіримо, чи є символ допустимим 
if ( ( Кеу >= '0') && ( Кеу <= '9'}) 
// цифра return; 
// Глобальна змінна Decimalseparator 
 // містить символ, використовуваний як роздільник 
// при записі дробових чисел 
if ( Кеу == Decimalseparator) 
{ 
if ( (Editl-xtext).Pos(Decimalseparator) != 0) 
Кеу =0; // роздільник вже введений return; 
} 
if (Кеу == Vk_back) // клавіша <Backspace> 
return; 
if ( Кеу == Vk_return) // клавіша <Enter> 
{ 
Edit2->setfocus() ; 
return; 
}; 
// решта клавіш заборонена Кеу =0; 
// не відображати символ 
} 
// натиснення клавіші в полі Опір 
void__fastcall Tforml::edit2keydown(Tobject *Sender, WORD &Key, 
Tshiftstate Shift) 
{ 
if ( ( Кеу >= '0') && ( Кеу <= '9')) // цифра 
return; 
if ( Кеу == Decimalseparator) 
{ 
if ( (Edit2->text).Pos(Decimalseparator) != 0)
Кеу =0; // роздільник вже введений return; 
} 
if (Кеу == Vk_back) // клавіша <Backspace> 
return; < 
if ( Кеу == Vk_retorn) // клавіша <Enter> 
( 
Buttonl->setfocus(); // перехід до кнопки Обчислити 
// повторне натиснення клавіші <Enter> 
// активізує процес обчислення струму 
return; 
}; 
// решта клавіш заборонена Кеу = 0; //не відображати символ 
} 
// клацання на кнопці Завершити 
void __fastcall Tforml::button2click(Tobject *Sender) 
{ 
Forml->close(); // закрити форму додатку } 

 


Каждая анкета на ресурсе http://rus-hot.com/ проверена на подлинность.
x

:: Наша кнопка ::

Отримати код:

Підтримайте наш сайт і розмістіть нашу кнопку на своєму ресурсі.


:: Реклама ::


:: Посилання ::

-


 

 

 


Copyright by Zvircom © 2009