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

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

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





 

Приложения, созданные с помощью 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 оперирует с двумя категориями...


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


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

Типовые примеры и методы их решения. Пример 2.5.1. На вклад начисляются сложные проценты: а) ежегодно; б) ежеквартально; в) ежемесячно Пример 2.5.1. На вклад начисляются сложные проценты: а) ежегодно; б) ежеквартально; в) ежемесячно. Какова должна быть годовая номинальная процентная ставка...

Выработка навыка зеркального письма (динамический стереотип) Цель работы: Проследить особенности образования любого навыка (динамического стереотипа) на примере выработки навыка зеркального письма...

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

БИОХИМИЯ ТКАНЕЙ ЗУБА В составе зуба выделяют минерализованные и неминерализованные ткани...

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

ОСНОВНЫЕ ТИПЫ МОЗГА ПОЗВОНОЧНЫХ Ихтиопсидный тип мозга характерен для низших позвоночных - рыб и амфибий...

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