Материал: Разработка программы на языке C++ Builder 6

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

Разработка программы на языке C++ Builder 6

РЕФЕРАТ

Пояснительная записка 24с., 6 рис., 3табл., 4 источника, 4 приложения

С++, ПЛОСКОСТЬ, АЛГОРИТМ, ВЫПУКЛАЯ ОБОЛОЧКА

Цель программы - разработать программу по следующим условиям:

Паутина. Получить на экране рисунок паутины с центром в произвольной (заданной) точке, с произвольным числом лучей. Паутина образована лучами и многоугольниками.

Размеры паутины задаются вводом.

В Процессе выполнения Курсового проекта мы научились программировать на языке программирования С++.

В Данной работе мы сделали программу , которая рисует паутину по заданным в неё параметрам.

Знания полученные при выполнении работы мы сможем применить в дальнейшем.

СОДЕРЖАНИЕ

РЕФЕРАТ

ВВЕДЕНИЕ

. ОБЗОР ЛИТЕРАТУРЫ

. ОПИСАНИЕ ПРОГРАММЫ

. ОПИСАНИЕ ПРИМЕНЕНИЯ ПРОГРАММЫ

4. ТЕСТИРОВАНИЕ ПРОГРАММЫ

ЗАКЛЮЧЕНИЕ

СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ

ПРИЛОЖЕНИЯ

ВВЕДЕНИЕ

C++ Builder- программный продукт, инструмент быстрой разработки приложений (RAD), интегрированная среда программирования (IDE), система, используемая программистами для разработки программного обеспечения на языке C++.

Изначально разрабатывался компанией BorlandSoftware, а затем её подразделением CodeGear, которое сейчас принадлежит компании EmbarcaderoTechnologies.++ Builder объединяет в себе комплекс объектных библиотек (STL, VCL, CLX, MFC и др.), компилятор, отладчик, редактор кода и многие другие компоненты. Цикл разработки аналогичен Delphi[1]. Большинство компонентов, разработанных в Delphi, можно использовать и в C++ Builder без модификации, но обратное утверждение не верно.++ Builder содержит инструменты, которые при помощи drag-and-drop действительно делают разработку визуальной, упрощает программирование благодаря встроенному WYSIWYG - редактору интерфейса и пр.++ Builder первоначально создавалась только для платформы MicrosoftWindows. Поздние версии, содержащие Кроссплатформенную компонентную библиотекуBorland, поддерживают и Windows и Linux.

В 2003Borland выпустила C++ BuilderX (CBX), написанный при помощи той же инфраструктуры, что и JBuilder, который при этом был мало похож на C++ Builder или Delphi. Этот продукт предназначался для разработки больших программ для крупных предприятий, но коммерческого успеха не достиг. В конце 2004 года Borland объявила, что продолжит развитие классического C++ Builder и объединит его со средой разработки Delphi, прекратив, таким образом, разработку C++ BuilderX.

Спустя примерно год после этого объявления, Borland выпустила BorlandDeveloperStudio 2006, который включал в себя Borland C++ Builder 2006, предлагавший улучшенное управление конфигурацией и отладкой. BorlandDeveloperStudio 2006 - единственный полноценный комплект, содержащий Delphi, C++Builder и C#Builder.

В 2007CodeGear выпустила C++ Builder 2007, в котором реализовала полную поддержку API MicrosoftWindowsVista, увеличила полноту соответствия стандарту ANSI C++, увеличила скорость компиляции и сборки до 500 %, включила поддержку MSBuild, архитектур баз данных DBX4 и «VCL для Web», поддерживающий AJAX. Поддержка API MicrosoftWindowsVista включила в себя приложения, изначально оформленные в стиле Vista, и естественную поддержку VCL для Aero и VistaDesktop. CodeGear RAD Studio 2007 содержит C++ Builder 2007 и Delphi. Также в 2007 CodeGear «воскресила» марку «Turbo» и выпустила две «Turbo» версии C++ Builder: Turbo C++ Professional и Turbo C++ Explorer (бесплатный), основанных на Borland C++ Builder 2006.

В конце 2008 года компания CodeGear выпустила новую версию RAD Studio, в которую вошли Delphi 2009 и С++ Builder 2009. В 2009 году в составе RAD Studio вышел C++ Builder 2010.

Ранее сообщалось, что следующая версия, CodeGear C++Builder (кодовое имя «Commodore»), будет обладать поддержкой x86-64 и возможностью создавать машинный x86-64 код. Однако в 2010 году в состав RAD Studio XE включена версия C++ Builder XE без этой функциональности.

1. ОБЗОР ЛИТЕРАТУРЫ

Цель программы - разработать программу по следующим условиям:

Паутина. Получить на экране рисунок паутины с центром в произвольной (заданной) точке, с произвольным числом лучей. Паутина образована лучами и многоугольниками.

C++ Builder может вывести графику на поверхность формы (или компонента image), которой соответствует свойство canvas (Canvas - холст для рисования). Для того чтобы на поверхности формы или компонента image появилась линия, окружность, прямоугольник или другой графический элемент (примитив), необходимо к свойству Canvasприменить соответствующий метод (Таблица 1.1).

Например, оператор Forml->Canvas->Rectangle(10,10,50, 50); рисует на поверхности формы прямоугольник.

Таблица 1.1 Методы вычерчивания графических примитивов

Метод

Действие

LineTo(x,y)

Рисует линию из текущей точки в точку с указанными координатами

Rectangle (x1,y1,x2, y2)

Рисует прямоугольник, x1, y1 и х2, у2 - координаты левого верхнего и правого нижнего углов прямоугольника. Цвет границы и внутренней области прямоугольника могут быть разными

FillRect (x1,y1,x2,y2)

Рисует закрашенный прямоугольник, x1, y1, х2, у2 - определяют координаты диагональных углов

FrameRect(x1,y1,x2,y2)

Рисует контур прямоугольника, x1, y1, х2, у2 - определяют координаты диагональных углов

RounRect (x1,y1,x2,y2,x3,y3)

Рисует прямоугольник со скругленными углами

Ellipse (x1,y1,x2,y2)

Рисует эллипс или окружность (круг), x1, y1, х2, у2 - координаты прямоугольника, внутри которого вычерчивается эллипс или, если прямоугольник является квадратом, окружность

Polyline (points, n)

Рисует ломаную линию, points- массив типа TPoint. Каждый элемент массива представляет собой запись, поля х и у которой содержат координаты точки перегиба ломаной; л - количество звеньев ломаной. Метод Polyline вычерчивает ломаную линию, последовательно соединяя прямыми отрезками точки, координаты которых находятся в массиве: первую со второй, вторую с третьей, третью с четвертой и т. д.


Методы вывода графических примитивов рассматривают свойство canvas как некоторый абстрактный холст, на котором они могут рисовать (Canvas переводится как "поверхность", "холст для рисования"). Холст состоит из отдельных точек - пикселов. Положение пиксела на поверхности холста характеризуется горизонтальной (X) и вертикальной (Y) координатами. Координаты возрастают сверху вниз и слева направо. Левый верхний пиксел поверхности формы (клиентской области) имеет координаты (0, 0), правый нижний - (clientwidth, clientHeight). Доступ к отдельному пикселу осуществляется через свойство Pixels, представляющее собой двумерный массив, элементы которого содержат информацию о цвете точек холста. Методы вычерчивания графических примитивов обеспечивают только вычерчивание. Вид графического элемента определяют свойства Реn(карандаш) и Brush (кисть) той поверхности (Canvas), на которой рисует метод. Карандаш и кисть, являясь свойствами объекта Canvas, в свою очередь представляют собой объекты Реn и Brush. Свойства объекта Реп (табл. 1.2) задают цвет, толщину и тип линии или границы геометрической фигуры. Свойства объекта Brush (табл. 1.3) задают цвет и способ закраски области внутри прямоугольника, круга, сектора или замкнутого контура.

Таблица 1.2 Свойства объекта Реn (карандаш)

Свойство Определяет  Color Цвет линии  Width Толщину линии (задается в пикселах)  Style Вид линии (psSolid- сплошная; psDash- пунктирная, длинные штрихи; psDot - пунктирная, короткие штрихи; psDashDot - пунктирная, чередование длинного и короткого штрихов; psDashDotDot - пунктирная, чередование одного длинного и двух коротких штрихов; psClear - линия не отображается (используется, если не надо изображать границу области - например, прямоугольника)  



Таблица 1.3. Свойства объекта Brush (кисть)

Свойство

Определяет

Color

Цвет закрашивания замкнутой области

Style

Стиль заполнения области (bsSolid - сплошная заливка. Штриховка: bsHorizontal - горизонтальная; bsVertical - вертикальная; bsFDiagonal - диагональная с наклоном линий вперед; bsBDiagonal - диагональная с наклоном линий назад; bsCross - в клетку; bsDiagCross - диагональная клетка


Любая картинка, чертеж или схема могут рассматриваться как совокупность графических примитивов: точек, линий, окружностей, дуг и др. Таким образом, для того чтобы на экране появилась нужная картинка, программа должна обеспечить вычерчивание (вывод) графических элементов - примитивов, составляющих эту картинку.

Вычерчивание графических примитивов на поверхности (формы или компонента image - области вывода иллюстрации) осуществляется применением соответствующих методов к свойству canvas этой поверхности.

. ОПИСАНИЕ ПРОГРАММЫ

Компоненты формы. Для создания приложения в разработчике C++Builderимеется визуальное поле объектов (Рисунок 2.1). Опишем применяющиеся объекты.

На форме находятся следующие объекты:

objectForm1: TForm1: TButton: TButton: TButton: TButton: TImage: TEdit: TEdit: TLabel: TLabel: TLabel

Рисунок 2.1 Форма приложения (Form1)

Рисунок 2.2 Форма «Опрограмме» (Form2)

На форме находятся следующие объекты:

objectForm2: TForm2Button1: TButton: TImage: TLabel: TLabel: TLabel

К стандартным свойствам, методам и событиям для битовых кнопок C++Builder добавляет свойства, управляющие отображением рисунка на кнопке. Хотя битовой кнопке можно назначить лишь одно изображение, оно может подразделяться на четыре равные по размеру части, соответствующие различным состояния кнопки: отжата (up), нажата (down), запрещена (disabled) и нажимается (clicked). Свойство Kind определяет стандартные типы кнопок, такие как OK, Cancel и т п., наделяя кнопки соответствующими изображениями и поведением.

Ключевые свойства

·              Default

·              TabStop

Ключевые события

·              OnClick

·              OnContextPopup

·              OnDragDrop

·              OnDragOver

·              OnEndDock

·              OnEndDrag

·              OnExit

·              OnEnter

Компонент TLabel

Элемент управления, предназначенный для отображения текста на форме. Не имеет собственного окна.

Основные свойства.

В C Builder свойство TLabel::Enabled используется, чтобы указать, будет ли метка (компонент TLabel) отвечать на события мыши, клавиатуры и таймера, или нет.

Если элемент компонент TLabel запрещен (когда свойство Enabled установлено в true), то он изображается затененным и не реагирует на внешние воздействия: события мыши, клавиатуры и таймера.

Компонент TImage

Компонент Image (вкладка Additional) класса TImage служит

для размещения на форме одного из трех поддерживаемых ти-

пов изображений: растрового рисунка (*.bmp), значка (*.ico) или мета-

файла (*.wmf или *.emf).

Алгоритм рисования дома сводится к вводу исходных данных и на основе их прорисовки элементарных геометрических фигур.

Для рисования прямоугольников используется следующий графический приметив:

Rectangle (x1,y1,x2, y2), где x1, y1 и х2, у2 - координаты левого верхнего и правого нижнего углов прямоугольника соответственно.

Для рисования линий используется:(x,y) - перемещает курсор в то место, откуда будет рисоваться линия. LineTo(x,y)- рисует прямую линию из текущего положения в указанные координаты.

МетодFloodFill закрашивает текущей кистью Brush замкнутую область канвы, определенную цветом и начальной точкой закрашивания (X, Y). Точка с координатами X и Y является произвольной внутренней точкой заполняемой области, которая может иметь произвольную форму. Граница этой области определяется сочетанием параметров Color и FillStyle. Параметр Color типа TColor указывает цвет, который используется при определении границы закрашиваемой области, а параметр FillStyle определяет, как именно по этому цвету определяется граница. Если FillStyle = fsSurface, то заполняется область, окрашенная цветом Color, а на других цветах метод останавливается. Если FillStyle=fsBorder, то наоборот, заполняется область окрашенная любыми цветами, неравными Color, а на цвете Color метод останавливается.

Image1->Canvas->Brush->Color=clGreen;

Image1->Canvas->FloodFill(x11,y11,Image1->Canvas->Pixels[x11][y11],fsSurface);

3. ОПИСАНИЕ ПРИМЕНЕНИЯ ПРОГРАММЫ

Для входа в программу необходимо запустить файл Project1.exe

Рисунок 3.1 Программа. Запуск

Программа запускается начальной страницей с изображением рабочего формы. На форме находятся 4 кнопки: - «Нарисовать». При нажатии на эту кнопку, происходит рисование кубика Рубика.

«О программе». При нажатии на эту кнопку открывается вторая форма, в которой указаны данные о разрабатываемом продукте и разработчике.

«Закрыть». При нажатии на эту кнопку программа закрывается.

«Стереть». При нажатии на эту кнопку осуществляется заливка поля белым цветом, что в свою очередь стирает дом.

С левой стороны находится поле для ввода исходных данных:

Координата X;

Координата Y.

4. ТЕСТИРОВАНИЕ ПРОГРАММЫ

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

Проведём тестирование программы. Форма «О программе».

Рисунок 4.1 О программе

Выводится окно с названием программы, дата её разработки и данные разработчика.

Произведём тестирование рисования паутины при вводе различных начальных точек (Рисунок 4.2 и 4.3).

Источник: https://www.bibliofond.ru/view.aspx?id=896999