- •Void main(void)
- •Void main(void)
- •Void main()
- •Void main()
- •Viod main()
- •Условные выражения
- •Void main()
- •If(Выраженне1) Выражение2;
- •If(Выражение1) Выраженпе2; else ВыражениеЗ;
- •Void main()
- •Циклические выражения
- •Void nain()
- •Void main()
- •Void main()
- •Void main()
- •Void main()
- •Void main()
- •Void main()
- •Массивы
- •Void main()
- •Void main()
- •Void main()
- •Viod main()
- •Void main()
- •Void main()
- •Void main()
- •Void main()
- •Void main()
- •Void main()
- •Адреса и указатели
- •Void main()
- •Viod main()
- •Функции
- •Void main(void)
- •Void main(void)
- •Int I; double X,step();
- •Void decart(double r, double f)
- •Void main()
- •Void decart(double r,double f,double *X,double*y)
- •Void main()
- •Void rnain()
- •Void main()
- •Void main()
- •Void main()
- •Int length;
- •Объектно-ориентированное программирование и приложения с графическим интерфейсом
- •Void main(void)
- •Int MyFunc(int, int);
- •Void NewFunc(void);
- •Void main()
- •Void FuncOut();
- •Void prob::FuncOut()
- •Void main()
- •Void main()
- •Void __fastcall tForm1::Button1Click(tObject *Sender)
- •Int pascal
- •Int nCmdShow)
- •Void __fastcall tForm1::Timer1Timer(tObject *Sender)
- •Void __fastcall tForm1::okClick(tObject *Sender)
- •Int I,step;
- •Введение в численные методы
Void __fastcall tForm1::Button1Click(tObject *Sender)
{
}
Это – функция обработки события, которое заключается в нажатии мышкой на управляющую кнопку (разумеется, если программа запущена).
На секунду прервем свою увлекательную работу по разработке приложения и примем некоторые меры безопасности - сохраним изменения, сделанные в проекте. Для этого снова нажмем одновременно три клавиши Ctrl+Shift+S. Рекомендуется делать сохранения почаще во избежание неприятностей, которые могут возникнуть, например, при перебоях с электроэнергией. Вернемся в окно главного текстового модуля. Кстати, чтобы сразу попасть в место текста, где находится функция-обработчик, достаточно во время работы с проектом сделать двойной щелчок по кнопке.
Внутри фигурных скобок в функции-обработчике можно запрограммировать любые действия, которые приложение должно выполнить при нажатии на управляющую кнопку. Мы хотим, чтобы наша программа поздоровалась с окружающим миром при щелчке на кнопке. Самый простой способ - вывести нужный текст в специальное окно сообщений. Поместим между фигурными скобками слово ShowMessage. Что это такое? Это - некая новая конструкция, о которой мы пока ничего не знаем. Самое время воспользоваться системой помощи, которую предоставляет нам Builder. Для вызова справки по любому служебному слову в программе достаточно установить курсор ввода в любое место на этом слове и нажать клавишу F1 на клавиатуре. Проделав эту операцию над словом ShowMessage, мы откроем окно помощи, представленное на рисунке.
В краткой аннотации мы читаем, что конструкция предназначена для вывода в окно сообщений текста и кнопки ОК. Более подробная информация представлена в нижней части окна, а формальное объявление – в средней. Особенно вглядываться в формальное объявление не стоит. Нам нужно только установить, что после имени конструкции в круглых скобках должна стоять строка типа AnsiString. Этот тип - пример множества новых типов данных, появившихся в языке С++ в дополнение к стандартным типам языка С. Заметим попутно, что многие имена типов в С++ просто являются псевдонимами стандартных имен С. Например тип UINT – это ни что иное, как обычное unsigned int. В нашем случае тип AnsiString мало чем отличается от обычного строкового типа. В этом можно убедиться, открыв ссылку Example в окне помощи и просмотрев пример использования конструкции. В результате мы придем к выводу о том, что в скобках должна быть помещена обычная строка текста, взятая в кавычки. Именно этот текст и будет отображен в окне сообщений.
Вернемся к нашему главному текстовому модулю и допишем в фигурных скобках то, что требуется, допустив сознательно синтаксическую ошибку:
ShowMessage(“Hello World!);
Ошибка заключается в том, что мы «забыли» закрыть кавычки справа. А сделали мы это для того, чтобы продемонстрировать реакцию системы на ошибку в программе. Давайте нажмем заветную кнопку F9. На этапе компиляции система начнет «ругаться» и в результате выдаст окно, представленное ниже.
В верхней части окна отображена часть текстового модуля с выделенной строкой, в которой обнаружена ошибка. В нижней части окна дана расшифровка ошибок. Обратите внимания на то, что компилятор ухитрился найти три ошибки, хотя, на самом деле ошибка только одна - первая. Остальные ошибки называют наведенными. Из этого следует правило: сначала исправьте первую ошибку и, возможно, остальные исчезнут.
Итак, в качестве первой ошибки компилятор констатирует наличие незавершенной строки или символьной константы, и мы знаем, что компилятор в данном случае прав. Вторая ошибка заключается в отсутствии закрывающей скобки при вызове функции, и это, мягко говоря, не соответствует действительности. То же самое следует сказать и о третьей ошибке - отсутствии символа «;» в выражении. Наведенные ошибки!
Исправим ошибку, поставим в нужном месте закрывающие кавычки. Теперь и компиляция, и линковка и запуск программы должны пройти без осложнений. В результате откроется окно созданной программы с кнопкой Button1. Когда вы щелкнете по кнопке мышью, появится окно сообщений с приветствием и кнопкой ОК, показанное на следующем рисунке.
Совершенно очевидно, что все, что теперь можно сделать в программе, это нажать кнопку ОК, и окно сообщений закроется. Далее остается только закрыть окно программы и поздравить себя с первым «самодельным» приложением.
Как мы с вами поняли, по умолчанию Builder создает проект для приложения, базирующегося на использовании формы. В ряде случаев использование формы не является необходимым, а иногда и нежелательно. Рассмотрим разработку приложения без формы и, следовательно, без организации окна приложения.
Прежде всего, необходимо с помощью любого текстового редактора написать текст, представленный в следующем листинге. Текст следует сохранить в рабочей папке будущего проекта под именем, например, Unit1.cpp.
#include <windows.h>