Студопедия — РАЗРАБОТКА ПРОГРАММНОГО КОДА ПРИЛОЖЕНИЯ. СОБЫТИЯ И ОБРАБОТЧИКИ СОБЫТИЙ
Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

РАЗРАБОТКА ПРОГРАММНОГО КОДА ПРИЛОЖЕНИЯ. СОБЫТИЯ И ОБРАБОТЧИКИ СОБЫТИЙ






 

Приложения, созданные с помощью C++ Builder, – это приложения для Windows. Одним из основных свойств таких приложений является управление по событиям. Это означает, что программа выполняется на основе генерируемых сообщений о событиях, которые обрабатываются программным кодом приложения. Такой код необходимо написать для каждого события, на которое должна реагировать программа. Процедура, предназначенная для реагирования на какое-либо событие, называется в С++ Builder функцией обработки события. Выделяются две категории событий: события, обусловленные действиями пользователя, – пользовательские события и обычные события – программно-управляемые события.

Функции обработки пользовательских событий составляют главную часть кода приложения. Они обеспечивают интерактивное взаимодействие приложения и пользователя. В C++ Builder для этого применяются предварительно определенные обработчики событий, которые могут использоваться практически всеми компонентами. Сюда относятся обработчики событий мыши и клавиатуры.

К обычным (программно-управляемым) событиям относятся события активизации, завершения, события изменения состояния отдельных компонентов и прочие события, которые являются косвенным результатом действия пользователя.

C++ Builder генерирует процедуры обработки каждого события и дает им имена в соответствии с именами компонентов, для которых эти процедуры предназначены. Например, если дважды щелкнуть по кнопке Button1, в модуле формы будет сгенерирована пустая функция обработки события, которая выглядит следующим образом:

 

void __fastcall TForm1::Button1Click(TObject *Sender)

{

}

Далее необходимо вписать нужный программный код в составной блок.

Выделите кнопку "Вычислить", перейдите на страницу Events в инспекторе объектов и дважды щелкните по имени обработчика события OnClick. Система добавит в текст модуля пустую функцию обработки щелчка по кнопке.

Что должна выполнять эта функция? Во-первых, в ней должно считываться содержимое полей ввода коэффициентов a, b и c; далее считанные значения должны быть превращены в числа, поскольку свойство Text компонента Edit имеет строковый тип; затем должны быть выполнены необходимые вычисления и результат помещен в поля Edit4 и Edit5.

Добавьте в функцию программный код, приведенный ниже.

void __fastcall TForm1::Button1Click(TObject *Sender)

{

float a,b,c,d,x1,x2;

a=StrToFloat(Edit1->Text);

b=StrToFloat(Edit2->Text);

c=StrToFloat(Edit3->Text);

d=b*b-4*a*c;

if (d>=0)

{

x1=(-b-sqrt(d))/(2*a);

x2=(-b+sqrt(d))/(2*a);

Edit4->Text=FloatToStr(x1);

Edit5->Text=FloatToStr(x2);

}

else

ShowMessage("Нет действительных корней");

}

В разделе директив препроцессора модуля формы добавьте строку

#include<math.h>

Данный заголовочный файл позволит воспользоваться библиотекой математических функций (в нашем случае – функцией вычисления квадратного корня).

Отметим в тексте следующие моменты.

Для вычислений мы использовали только локальные переменные, так как их не надо использовать в других процедурах.

Для превращения строки символов в число и обратного преобразования используются функции StrToFloat() и FloatToStr() соответственно. Для выдачи сообщения «Нет действительных корней» используется функция Windows вызова диалогового окна ShowMessage().

Определим функцию обработки щелчка по кнопке "Выход". Щелкните дважды по данной кнопке и в появившемся окне редактора кода добавьте в процедуру Button2Click строку

Form1->Close();

Close() – это метод, закрывающий окно нашего приложения.

Сохраните проект и запустите его на выполнение. Проверьте его работу при различных исходных данных. Если система обнаружит ошибки, устраните их и снова запустите проект на выполнение.

Определим теперь события меню и нажатия кнопок на панели инструментов. Для этого нам не понадобится писать никакого кода. Мы свяжем нужные события с уже определенными событиями – щелчками по кнопкам "Вычислить" и "Выход".

Щелкните по строке меню и затем выберите первый пункт меню "Вычислить". В инспекторе объектов на странице Events в строке обработчика OnClick в списке имеющихся процедур выберите функцию Button1Click. Щелкните мышью по форме и то же самое проделайте с пунктом меню "Выход", только теперь свяжите его с функцией Button2Click. Выберите пункт меню "Справка", в инспекторе объектов дважды щелкните в строке обработчика OnCliсk, в редакторе кодов в функцию N3Click добавьте команду

Form2->ShowModal();

В разделе директив модуля главной формы не забудьте добавить директиву подключения заголовочного файла модуля справки

#include "имя_модуля_справки.h".

Здесь имя_модуля_справки – это имя, с которым вы сохранили модуль на диске.

Метод ShowModal() вызывает окно справки, причем пока оно не будет закрыто, перейти в главное окно приложения не удастся (модальное состояние окна).

Выделите кнопку "Вычислить" на панели инструментов и в инспекторе объектов для обработчика OnClick выберите процедуру Button1Click; для кнопки Выход – процедуру Button2Click. Для кнопки "Справка" создайте процедуру, обрабатывающую щелчок аналогично тому, как вы сделали это для пункта меню "Справка".

Осталось определить работу строки состояния StatusBar1. Выделите ее на форме, перейдите на страницу Properties инспектора объектов, найдите свойство SimplePanel и присвойте ему значение True.

Щелкните дважды по форме и в теле функции FormCreate поместите следующий код:

void __fastcall TForm1::FormCreate(TObject *Sender)

{

StatusBar1->SimpleText="Введите коэффициенты уравнения";

}

Сохраните проект и проверьте работу приложения.


 







Дата добавления: 2015-09-04; просмотров: 401. Нарушение авторских прав; Мы поможем в написании вашей работы!



Функция спроса населения на данный товар Функция спроса населения на данный товар: Qd=7-Р. Функция предложения: Qs= -5+2Р,где...

Аальтернативная стоимость. Кривая производственных возможностей В экономике Буридании есть 100 ед. труда с производительностью 4 м ткани или 2 кг мяса...

Вычисление основной дактилоскопической формулы Вычислением основной дактоформулы обычно занимается следователь. Для этого все десять пальцев разбиваются на пять пар...

Расчетные и графические задания Равновесный объем - это объем, определяемый равенством спроса и предложения...

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

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

Случайной величины Плотностью распределения вероятностей непрерывной случайной величины Х называют функцию f(x) – первую производную от функции распределения F(x): Понятие плотность распределения вероятностей случайной величины Х для дискретной величины неприменима...

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

Тема 2: Анатомо-топографическое строение полостей зубов верхней и нижней челюстей. Полость зуба — это сложная система разветвлений, имеющая разнообразную конфигурацию...

Виды и жанры театрализованных представлений   Проживание бронируется и оплачивается слушателями самостоятельно...

Studopedia.info - Студопедия - 2014-2024 год . (0.009 сек.) русская версия | украинская версия