Итак, мы рассмотрели все необходимые инструменты, компоненты и способы программирования в среде разработки программ Borland C++ Builder 6. Теперь студенты вооружены достаточными знаниями, для того чтобы начать составление и разработку собственных программ. Но для закрепления изученного материала на практике, в этой главе вниманию читателей предлагается разработать несколько программ, которые помогут обрести уверенность в своих силах начинающим программистам.
Предлагаемая программа предназначена для вычисления корней
квадратного уравнения и может быть особенно полезна учащимся школ. На ее
примере можно будет создать множество других программ, облегчающих
вычисления различных уравнений и функций.
Сформируем интерфейс программы. Создайте новое приложение и
поместите на его форму пять компонентов Label, три
компонента Edit, две кнопки Button и
компонент MainMenu.
Задайте для формы Form1 свойство Name
с именем FormMain, а свойство Caption
с названием Square. Замените свойства
Name компонентов Label1-Label5 на
Labelformul, Labela,
Labelb, Labelc и
Labelx1x2, соответственно, и задайте для них следующие
свойства Caption: Квадратное уравнение
а*х^2+b*х+с=0, а=, b=, с= и x1=?, x2=?.
Замените свойства Name компонентов Button1
и Button2 на ButtonExe и
ButtonOut, соответственно, и задайте для них следующие
свойства Caption: Решить и
Выход.
Измените значение свойства Name компонентов Edit1—Edit3 на Edita, Editb и Editc, соответственно, а свойства Text этих компонентов заполните значениями 1, 1 и 0.
Щелкните дважды левой кнопкой мыши по компоненту MainMenu1
и в открывшемся окне FormMain задайте свойство
Caption для первого пункта меню в виде названия О
программе.
Закройте окно FormMain и расположите компоненты на форме в соответствии с рис. 24.1.
Рис. 24.1. Расположение компонентов на основной форме программы
Сохраните проект в файле с названием Square.bpr а
модуль программы — в файле Usquare.cpp.
Интерфейс
программы сформирован. Теперь можно приступить к редактированию
программного кода. Щелкните дважды левой кнопкой мыши по кнопке
Решить и введите в обработчик события OnClick
строки программы из листинга 24.1.
Листинг 24.1. Строки обработчика события OnCIick программы Square
Эти программные строки и весь проект программы под названием
Square можно скачать по ссылке внизу статьи. В них
описываются переменные, которые участвуют в вычислениях корней квадратного
уравнения, и включены операторы и функции для вычисления корней. Поскольку
при вычислении могут встретиться запрещенные ситуации, наподобие деления
на ноль и пр., в программу включены операторы проверки подобных ситуаций с
выводом соответствующих сообщений пользователю программы. В программе эти
сообщения присутствуют в виде текста, заключенного в кавычки. Если этого
не делать, то программа будет выдавать системные предупреждения на
английском языке или "зависать". Хорошим стилем программирования считается
предупреждение всех ошибочных ситуаций и недопущение тупикового выполнения
программы приводящего к ее "зависанию". В противном случае программа будет
раздражать пользователя, и он от нее откажется.
Так как в тексте
программы присутствуют непростые арифметические операции, например
вычисление квадратного корня sqrt(),
необходимо подключить к программе математическую библиотеку. Для этого в
модуле программы после строки #include
"Usquare.h" впишите строку подключения библиотеки с математическими
функциями:
#include
<math.h>.
Теперь сформируйте обработчик события OnClick для
кнопки Выход и вставьте в него программную строку для
закрытия приложения:
Close () ;
Приложение уже можно запустить, и оно будет работать. Но в нем не
будет работать главное меню. Создадим поддержку для него.
Сформируйте обработчик события OnClick для первого пункта меню N1
компонента MainMenul путем двойного щелчка левой кнопкой мыши по самому
компоненту и вставьте в него строку для модального вызова формы FormAbout
с описанием программы:
FormAbout->ShowModal
();
Модальный вызов не позволяет программе переключиться на другое окно
до тех пор, пока текущее окно не будет закрыто. В отличие от него
немодальное окно вызывается функцией show() и не
налагает такого условия.
Поскольку формы с описанием программы нет, ее необходимо создать.
Для этого выполните из главного меню команду: File | New |
Form. Для вновь созданной формы задайте свойство Name
с именем FormAbout и свойство Caption
с названием О программе.
Теперь поместите на эту форму четыре компонента Label, один компонент Image и одну кнопку BitBtn из палитры Additional, а также компонент MonthCalendar из палитры Win32.
Для компонентов Label1—Label4 задайте свойство
Caption с названиями: Программа решения
квадратных уравнений, Версия 1.0, Послать E-mail и Поиск
в Интернете.
Для компонентов Label3 и Label4
установите шрифт через свойство Font как синий,
подчеркнутый, полужирный курсив. Свойство Cursor для этих
компонентов поменяйте на crHandPoint. Это делается для
того, чтобы выделить надписи данных компонентов и изменить при наведении
на них вид курсора мыши.
Создайте обработчик события OnClick для компонента
Label3 и вставьте в него программную строку вызова
почтовой программы:
ShellExecute(Handle,
"open", "mailto:user@mail.kz?x-priority=normal&subject=ТЕМА_ПИСЬМА",
NULL, NULL, SW_SHOWNORMAL);
Здесь в программной строке можно изменить адрес получателя письма
user@mail.kz и
заполнить тему письма собственным текстом.
Далее создайте обработчик события OnClick для
компонента Label4 и вставьте в него программную строку
вызова обозревателя и вхождения с его помощью в Интернет:
ShellExecute(Handle,
"open", "http://bourabai.kz", 0, 0, SW_SHOW);
Естественно, что адрес страницы
Для кнопки BitBtn1 установите свойство
Kind, как bkOk. Создайте обработчик
события OnClick для этой кнопки и вставьте в него
программную строку выхода:
Close () ;
Наконец, скопируйте в каталог с программой предварительно созданный
файл с рисунком или фотографией в формате BMP или
JPG и загрузите его через свойство Picture
компонента Image. Для того чтобы рисунок
совпадал с размерами компонента Image, установите его свойство
AutoSize в значение true. Расположите
все компоненты на форме в соответствии с рис. 24.2 и сохраните модуль
программы в файле с именем about.cpp.
Рис. 24.2. Расположение компонентов на дополнительной форме программы
Поскольку мы добавили в наше приложение еще одну форму, необходимо
включить в основной модуль Usquare.cpp имя
файла описания новой формы с названием about.h. Для
этого впишите в модуле Usquare.cpp
после строки
#include
<math.h> программную строку:
#include
"about.h".
Теперь остается лишь заменить значок-иконку программы с помощью
команды главного меню Project | Options | Application на
созданный во встроенном редакторе Image Edit файл иконки
с расширением ico
и откомпилировать программу.
Программа готова. Запустите ее на
выполнение и проверьте в работе.
В этой программе мы использовали новый
компонент MonthCalendar, который позволяет без труда
внедрить в программу красочный календарь с богатыми функциями. Кроме того,
мы научились запускать из программы почтовую службу отправки электронных
писем и входить в Интернет из работающей программы. Подобные приемы можно
применять во вновь создаваемых программах.