В этом уроке мы создадим простенькую программку, которая будет рассчитывать силу тока и мощность при известных значениях напряжения и сопротивления. Кроме того, мы познакомимся с некоторыми свойствами компонентов. Итак, приступим. Запускаем C++ Builder, сразу сохраняем проект и начинаем работать. Задаем ширину формы Width равную 300. Высоту Height равную 200. Размещаем 4 компонента Edit и четыре компонента Label с вкладки Standart и одну кнопку Button:
Изменяем свойство Caption у Label и свойство Text у Edit:
Растягиваем кнопку за края или задаем ей ширину 300. Дважды щелкаем по ней, создав тем самым обработчик события щелчка по кнопке. Того же самого мы могли добиться путем двойного щелчка напротив поля onClick на вкладке Events. Важно! Никогда не прописывайте в ручную заготовку обработчика события. Скопируйте туда код выделенный черным.
void __fastcall TForm1::Button1Click(TObject *Sender) { if( Edit1->Text == "")//проверяем находится ли что-нибудь в Edit1 ShowMessage("Введите значение напряжения"); else if( Edit2->Text == "")//проверяем находится ли что-нибудь в Edit2 ShowMessage("Введите значение сопротивления"); else { float U = 0, R = 0, I = 0;//объявляем вещественные переменные напряжения, сопротивления, //силы тока и обнуляем их U = StrToFloat( Edit1->Text );//С помощью функции StrToFloat преобразуем строку в вещественное число R = StrToFloat( Edit2->Text ); I = U/R;//закон Ома Edit3->Text = FloatToStr( I );//выполняем обратную операцию-преобразуем вещественное число в строку Edit4->Text = FloatToStr( U*I ); } }
Основную функцию программы мы сделали. Но осталась не менее важная - обработка исключительных ситуаций. Например, если в Edit введут буквы или символы. Тогда программа выдаст ошибку. Чтобы этого не случалось, нужно написать обработчик события ввода в Edit или проверку введенного значения. Мы поступим первым образом. Выделим оба Edit(удерживая Shift) и на вкладке Events дважды щелкнем напротив надписи onKeyPress, создав тем самым обработчик события нажатия клавиши. Скопируйте туда код:
void __fastcall TForm1::Edit1KeyPress(TObject *Sender, char &Key) { //проверка нажатой клавиши, допускаются только цифры и запятая if( ( Key!=VK_BACK ) && ( Key<'0'||Key>'9' ) && ( Key!=',' ) ) { Beep();//звуковой сигнал сообщает пользователю о невозможности действия Key = 0x00;//"отменяем" нажатие } }
Если вам понадобится конвертировать строку в целое число или целое в строку, тогда вам понадобятся функции StrToInt() и IntToStr(). Такого рода приложения могут помочь при сложных расчетах - вводите формулу и только меняете значения. Итак, мы рассмотрели основные аспекты создания простенького приложения. Если у вас есть вопросы, задайте их в комментариях или на форуме. Прилагаю исходник проекта.
Урок 1. Знакомство со средой разработки С++ Builder и получение основных навыков
|