Студопедия Главная Случайная страница Обратная связь

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

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





 

Приложения, созданные с помощью 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; просмотров: 432. Нарушение авторских прав; Мы поможем в написании вашей работы!




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


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


Обзор компонентов Multisim Компоненты – это основа любой схемы, это все элементы, из которых она состоит. Multisim оперирует с двумя категориями...


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

Седалищно-прямокишечная ямка Седалищно-прямокишечная (анальная) ямка, fossa ischiorectalis (ischioanalis) – это парное углубление в области промежности, находящееся по бокам от конечного отдела прямой кишки и седалищных бугров, заполненное жировой клетчаткой, сосудами, нервами и...

Основные структурные физиотерапевтические подразделения Физиотерапевтическое подразделение является одним из структурных подразделений лечебно-профилактического учреждения, которое предназначено для оказания физиотерапевтической помощи...

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

Мотивационная сфера личности, ее структура. Потребности и мотивы. Потребности и мотивы, их роль в организации деятельности...

Классификация ИС по признаку структурированности задач Так как основное назначение ИС – автоматизировать информационные процессы для решения определенных задач, то одна из основных классификаций – это классификация ИС по степени структурированности задач...

Внешняя политика России 1894- 1917 гг. Внешнюю политику Николая II и первый период его царствования определяли, по меньшей мере три важных фактора...

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