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

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

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





 

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


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


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


ТЕОРЕТИЧЕСКАЯ МЕХАНИКА Статика является частью теоретической механики, изучающей условия, при ко­торых тело находится под действием заданной системы сил...

Принципы, критерии и методы оценки и аттестации персонала   Аттестация персонала является одной их важнейших функций управления персоналом...

Пункты решения командира взвода на организацию боя. уяснение полученной задачи; оценка обстановки; принятие решения; проведение рекогносцировки; отдача боевого приказа; организация взаимодействия...

Что такое пропорции? Это соотношение частей целого между собой. Что может являться частями в образе или в луке...

Примеры задач для самостоятельного решения. 1.Спрос и предложение на обеды в студенческой столовой описываются уравнениями: QD = 2400 – 100P; QS = 1000 + 250P   1.Спрос и предложение на обеды в студенческой столовой описываются уравнениями: QD = 2400 – 100P; QS = 1000 + 250P...

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

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

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