Лабораторная работа №1
Знакомство с интегрированной средой разработки приложений C++ Builder
В этой практической работе вам необходимо создать небольшую анимационную программу, которая даст вам возможность понять возможности визуального программирования и получить некоторые навыки работы с IDE C++ Builder.
1) После запуска Builder для вас будет открыт шаблон приложения Win32 из репозиторя шаблонов. Этот же шаблон вы можете получить, выбрав File->New. Откроется репозиторий проектов, из которого вы можете выбрать любой из существующих шаблонов (Application - приложение Win32, Console Application – консольное приложение).
2) Открывшийся шаблон, является готовой программой, которую можно запустить (F9), поэтому вам не следует изменять уже существующий программный код, а лишь добавить собственный.
3) Из палитры компонентов, страницы Standard, переместите на форму 4 кнопоки (Button). Со страницы System переместите на форму компонент Timer. Последним компонентом, который нам понадобиться является компонент Image, находящийся на странице Additional. Выделите последний компонент, в Инспекторе Объектов (Object Inspector) появляться его свойства, среди них найдите свойство Picture. Нажав на кнопку, в поле этого свойства, вызовите диалог, из которого загрузите картинку; далее установите свойство AutoSize в True. На этом разработка интерфейса заканчивается и необходимо перейти к описанию взаимодействий между компонентами.
4) В раздел описания типов добавьте следующие строки:
enum TDirect {D_Up, D_Down, D_Right, D_Left};
typedef Set <TDirect, D_Up, D_Left> Direct;
Первая строка описывает перечисление (enum), которое в следующей строке используется для описания множества. Это множество, которое будет определять направление движения картинки. Так как это всего лишь описание типов данных, то для того чтобы ввести в программу переменную, которая в данном случае будет являться множеством запишите:
Direct D;
5) Для того, чтобы проинициализировать эту переменную начальным значением сгенерируем событие FormCreate (перейдите на форму, в Object Inspector должны отобразится её свойства, перейдите на закладку Events, с помощью двойного щелчка у события OnCreate вы создадите скелетик необходимой процедуры) того же эффекта можно достигнут дважды щёлкнув на форме. В созданную процедуру поместите следующую строку:
D.Clear();
6) Теперь нам необходимо заставить пчёлку двигаться по форме.
Для этого необходимо постоянно изменять координаты компонента Image. Найдите на форме компонент Timer и сгенерируйте единственное имеющееся у него событие. В полученную процедуру поместите следующую строку:
if (D.Contains(D_Up )) Image1->Top--;
Эта строка означает следующее: если множество направлений D содержит элемент D_up (т.е. вверх), то мы уменьшаем вертикальную координату картинки (координаты отсчитываются из левого верхнего угла). Изменение координат для остальных направлений записываются аналогично (горизонтальная координата - Image1->Left).
7) Изменение направлений движения будут производиться при помощи кнопок, от каждой из которых необходимо сгенерировать событие (OnClick). Для процедуры обработчика события изменяющего направление движения вверх следует записать следующие строки:
D >> D_Up;
D << D_Down;
По этим командам :из имеющегося множества исключается направление движения D_down (вниз) и добавляется D_up (вверх). Для остальных кнопок текст процедур пишется аналогично. В свойство Caption, каждой кнопки, впишите соответствующее ей действие.
Замечание: Если вы ошиблись и сгенерировали обработчик для другого события, то не стирайте его сами, просто удалите из него весь программный код (включая комментарии) и перекомпилируйте проект (CTR+F9).
8) Запишите проект (File->SaveProjectAs) и запустите (F9).
9) Теперь нужно заставить пчёлку не вылетать за пределы формы.
ClientHeight - высота формы
ClientWidth - ширина формы
Все координаты измеряются в пикселях.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.