Разработка программы "Скриншот экрана"

Способы построения объектной модели предметной области: абстрагирование, инкапсуляция, модульность, иерархия. Понятие собственных классов: полей и методов. Алгоритмические решения, формы и компоненты, применяемые в реализации программы "Скриншот экрана".

Рубрика Программирование, компьютеры и кибернетика
Вид курсовая работа
Язык русский
Дата добавления 24.10.2012
Размер файла 513,3 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

Министерство науки и образования Украины

ГВУЗ "Украинский Государственный химико-технологический университет"

Кафедра: КТВМ

Курсовая работа

По дисциплине: "Объектно-ориентированное программирование"

Подготовил

Зоиршо Сорбон

Проверила:

Ильхман Яна Викторовна

Днепропетровск-2010

Содержание

Введение

1. Описание предметной области (ПО)

2. Проектирование

2.1 Выделение основных проектов из ПО

2.2 Описание собственных классов: полей и методов

3. Разработка программного продукта

3.1 Описание основных форм и компонентов, используемых для реализации ПП

3.2 Основные алгоритмические решения

4. Сопровождение программы

4.1 Требование к ПО

5. Текст программы

Выводы

Список используемой литературы

Введение

В основе объектно-ориентированного подхода (ООП) лежит объектная декомпозиция, при этом статическая структура ПО описывается в терминах объектов и связей между ними, а динамический объект ПО описывается в терминах обмена сообщения между объектами. Каждый объект системы обладает своим собственным поведение, моделирующим поведение объекта реального мира.

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

· Абстрагирование;

· Инкапсуляция;

· Модульность;

· Иерархия;

Абстрагирование - это выделение наиболее важных, существенных характеристик некоторого объекта, которые отличают его от всех других видов объектов, и игнорирование менее важных или незначительных деталей. Абстрагирование позволяет управлять сложностью системы, концентрируясь на существенных свойствах объекта. Выбор правильного набора абстракций для заданной предметной области представляет собой главную задачу объектно-ориентированного проектирования. Объекты и классы - основные абстракции предметной области.

Инкапсуляция - локализация свойств и поведения в рамках единственной абстракции (рассматриваемой как "черный ящик"), скрывающей реализацию за общедоступным интерфейсом. Инкапсуляция - это отделение внутреннего устройства объекта от внешнего поведения. Объектный подход предполагает , что внутренние ресурсы объекта, скрыты от внешней среды. Абстрагирование и инкапсуляция являются взаимодополняющими принципами.

Модульность-декомпозиция системы в виде набора внутренне сильно сцепленных, но слабо связанных между собой подсистем (модулей).

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

Иерархия - это упорядоченная система абстракций, задающая их расположение по уровням. Основными видами иерархических структур сложных систем являются структура классов и структура объектов. Иерархия классов строится по наследованию, а иерархия объектов - по агрегации.

К основным понятиям объектно-ориентированного подхода(элементам объектной модели) относятся: объект; класс; атрибут; операция; полиморфизм; наследование; компонент; связь.

Объект-это сущность предметной области или программной системы, имеющий четко определяемое поведение. Любой объект обладает состоянием, поведение и индивидуальностью. Состояние объекта определяется значениями его свойств (атрибутов) и связями с другими объектами, оно может меняться со временем. Поведение определяет действие объекта и его реакцию на запросы от других объектов, Поведение представляется с помощью набора сообщений, воспринимаемых объектом (операций которые может выполнять объект). Индивидуальность - это свойство объекта, отличающие его от всех других объектов.

Структура и поведение сложных объектов определяют общий для них класс. Класс - это множество объектов, связанных общностью свойств, поведения, связей и семантики. Любой объект является экземпляром класса. Определение классов и объектов - одна из самых сложных задач объектно-ориентированного проектирования .

Атрибут - поименованное свойство класса, определяющее диапазон значений, которые могут принимать экземпляры данного свойства. Атрибуты могут быть скрыты от других классов, это определяет видимость атрибута: public (общий, скрытый); private (закрытый, секретный); protected (защищенный).

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

Операция - это реализация услуги, которую можно запросить у любого объекта данного класса. Операции реализуют связанное с классом поведение, его обязанности. Описание операции включает четыре части: имя; список параметров; тип возвращаемого значения; видимость.

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

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

Компонент - это относительно независимая и замещаемая часть системы, выполняющая четко определенную функцию в контексте заданной архитектуры. Виды компонентов: компонент исходного кода; компонент времени выполнения; исполняемый компонент.

Между элементами объектной модели существуют различные виды связей:

· Ассоциация - это семантическая связь между классами;

· Агрегация - более сильный тип связи между целым и его частями;

· Зависимость - связь между двумя элементами модели, при которой изменения в спецификации одного элемента могут повлечь за собой изменения в другом элементе;

· Обобщение - связь "тип-подтип"; Связи характеризуются: направлением; именем и ролевыми именами участников связи; мощностью.

1. Описание предметной области (ПО)

Назначение программного продукта

Задание на курсовую работу:

Создание копии состояния области рабочего стола.

Основные задачи

1. Создание программы поиска книги по заданным параметрам.

2. Разработка программы с использованием ООП.

Входные и выходные данные

Входные: область рабочего стола.

Выходные: созданная копия области рабочего стола.

2. Проектирование

2.1 Выделение основных объектов из ПО

Выделяем класс:

Класс TFjrm - в кором описаны использующие ся операции (кнопки) каждая из которых выполняет определенное действие

3. Разработка программного продукта

3.1 Описание основных форм и компонентов, используемых для реализации ПП

Представлена одна главная форма:

Перед пользователем представлена рабочая форма, где размещен ряд кнопок: сделать снимок экрана, показать снимок, очистить, сохранить.

Каждая из кнопок отвечает за отдельное из действий, что видно из названий.

В ходе создания проэкта,с целью его улучшения,могут быть использованы следующие компоненты:

Label

Компонент Labe предназначен для вывода текста на поверхность формы. Свойства компонента определяют вид и расположение текста.

Edit

Компонент Edit представляет собой поле ввода/редактирования строки символов.

Button

Компонент Button представляет собой командную кнопку.

Memo

Компонент Memo представляет собой элемент редактирования текста, который может состоять из нескольких строк.

RadioButton

Компонент RadioButton представляет зависимую кнопку, состояние которой определяется состоянием других кнопок группы.Если в диалоговом окне надо организовать несколько групп радиокнопок, то каждую группу следует представить компонентом RadioGroup.

ListBox

Компонент ListBox представляет собой список, в котором можно выбрать нужный элемент.

ComboBox

Компонент ComboBox дает возможность ввести данные в поле редактирования путем набора на клавиатуре или выбором из списка.

3.2 Основные алгоритмические решения

Алгоритм работы довольно прост. Пользователь самостоятельно выбирает необходимые действия.

Итак, работа происходит в 4 этапа:

1) Создание копии рабочей области стола

2) Показ созданной копии

3) Сохранение копии

4) Очистка панели

алгоритмический программа скриншот экран

4. Сопровождение к программе

4.1 Требования

· 2 Мб памяти

· Мышка, клавиатура

· Windows XP/Win7/Vista

5. Текст программы

Программный код

//---------------------------------------------------------------------------

#include <vcl.h>

#include <memory>

#pragma hdrstop

#include "Unit1.h"

//---------------------------------------------------------------------------

#pragma package(smart_init)

#pragma resource "*.dfm"

TForm1 *Form1;

//---------------------------------------------------------------------------

__fastcall TForm1::TForm1(TComponent* Owner)

: TForm(Owner)

{

}

//---------------------------------------------------------------------------

void __fastcall TScrin::Snimok(TObject *Sender)

{

ShowWindow(Form1->Handle,SW_MINIMIZE);

Sleep(500);

TPicture *p=new TPicture;

HWND hwnd=GetDesktopWindow();

HDC hdc=GetWindowDC(hwnd);

TCanvas *C=new TCanvas;

C->Handle=hdc;

int w=Screen->Width;

int h=Screen->Height;

p->Bitmap->Width=w;

p->Bitmap->Height=h;

p->Bitmap->Canvas->CopyMode=cmSrcCopy;

p->Bitmap->Canvas->CopyRect(TRect(0,0,w,h),C,TRect(0,0,w,h));

ReleaseDC(hwnd,hdc);

delete C;

p->Bitmap->SaveToFile("c:\\screen.bmp");

delete p;

ShowWindow(Form1->Handle,SW_SHOWNORMAL);

}

//---------------------------------------------------------------------------

void __fastcall TScrin::Pokaz(TObject *Sender)

{

Form1->Image1->Visible=true;

Image1->Picture->LoadFromFile("c:\\screen.bmp");

}

//---------------------------------------------------------------------------

void __fastcall TScrin::Delete(TObject *Sender)

{

Form1->Image1->Visible=false;

}

//---------------------------------------------------------------------------

void __fastcall TScrin::Save(TObject *Sender)

{

String NewFileName, OldFileName;

SavePictureDialog1->DefaultExt = GraphicExtension(__classid(Graphics::TBitmap));

SavePictureDialog1->Filter = GraphicFilter(__classid(Graphics::TBitmap));

OldFileName = "c:\\screen.bmp";

if (SavePictureDialog1->Execute())

{

NewFileName = SavePictureDialog1->FileName;

std::auto_ptr<TFileStream> OldFile(new TFileStream(OldFileName, (fmOpenRead | fmShareDenyWrite)));

std::auto_ptr<TFileStream> NewFile(new TFileStream(NewFileName, (fmCreate | fmShareDenyRead)));

NewFile->CopyFrom(OldFile.get(), OldFile->Size);

};

}

//---------------------------------------------------------------------------

Программный код описания классов

#define Unit1H

//---------------------------------------------------------------------------

#include <Classes.hpp>

#include <Controls.hpp>

#include <StdCtrls.hpp>

#include <Forms.hpp>

#include <ExtCtrls.hpp>

#include <Dialogs.hpp>

#include <ExtDlgs.hpp>

//---------------------------------------------------------------------------

class TScrin : public TForm

{

__published: // IDE-managed Components

TButton *Button1;

TImage *Image1;

TButton *Button2;

TButton *Button3;

TButton *Button4;

TSavePictureDialog *SavePictureDialog1;

void __fastcall Snimok(TObject *Sender);

void __fastcall Pokaz(TObject *Sender);

void __fastcall Delete(TObject *Sender);

void __fastcall Save(TObject *Sender);

private: // User declarations

public: // User declarations

__fastcall Scrin(TComponent* Owner);

};

//---------------------------------------------------------------------------

extern PACKAGE TScrin *Form1;

//---------------------------------------------------------------------------

#endif

Выводы

В результате выполнения данной курсовой работы мной была разработана программа, которая снимает и сохраняет копию экрана. Было произведено исследование компонентов программной среды Borland C++ Builder 6, которые использовались при создании программы.

Использованная литература

1. Интернет портал http://cbuilder.ru/

2. Глушаков С.В., Коваль А.В., Смирнов С.В. "Практикум по С++" - Харьков: Фолио 2006.-525с.(учебный курс).

Размещено на Allbest.ru


Подобные документы

  • Таблица тестовых наборов, код программы, скриншоты. Разработка программы вычисления заданного целочисленного выражения для данных в формате 16 бит. Вычисление принадлежности точки с заданными координатами заштрихованной области. Разветвления в С++.

    лабораторная работа [1,3 M], добавлен 23.11.2014

  • Изучение принципов объектно-ориентированного программирования. Понятие класса в Delphi, в основе которых лежат три фундаментальные принципы - инкапсуляция, наследование и полиморфизм. Разработка классов транспортных средств и структур классов (кошки).

    курсовая работа [29,7 K], добавлен 29.10.2011

  • Программная реализация синтаксического анализатора произвольного текста. Матрица и дерево переходов для программы. Код программы с построчным комментарием. Порядок запуска среды разработки Visual Studio. Интерфейс и номера Лихтенштейна, скриншот.

    контрольная работа [855,1 K], добавлен 13.02.2014

  • Разработка критериев оценки экрана веб-приложений. Основные подходы к защите веб-приложений. Анализ российских нормативных документов. Зарубежная практика выбора экрана веб-приложений. Разработка и обоснование общих требований к механизмам защиты.

    дипломная работа [68,7 K], добавлен 04.08.2016

  • Анализ проектирования баз данных и освещение методов построения форм и отчетов на примере построения программы ведения электронной документации учебного заведения. Разработка и построение инфологической модели по предметной области "Университет".

    курсовая работа [6,3 M], добавлен 03.11.2014

  • Создание программы для обработки информации об объектах предметной области "Бытовая техника" в среде визуального программирования C++. Иерархия родственных классов. Описание логической структуры программы. Реализация файлового ввода/вывода данных.

    курсовая работа [711,4 K], добавлен 27.07.2014

  • Особенности разработки текстовых документов с помощью информационной технологии Microsoft Office Word с включением в текст графических объектов типа "скриншот". Инструкция по построению диаграммы с помощью пункта "Вид" главного меню приложения MS Excel.

    лабораторная работа [444,7 K], добавлен 14.01.2010

  • Описание авторской идеи анимации, использования базовых команд и конструкций. Процесса проектирования программы. Описание алгоритма разработанной программы. Последовательность создания анимации. Листинг программы и скриншот рисунка по программе.

    курсовая работа [911,5 K], добавлен 20.05.2013

  • Исследование арифметических, логических и вспомогательных операций, выполняемых микропроцессором. Построение блок-схемы инициализации резидентной программы и тела резидента. Характеристика основных особенностей написания программы на языке ассемблера.

    лабораторная работа [67,8 K], добавлен 20.11.2012

  • Создание графического экрана, динамического и статического текста. Редактирование графического экрана привязка аргумента к каналу. Создание программы на языке Техно ST и оценка ее производительности. Привязка аргументов, задание границ и пределов.

    курсовая работа [2,3 M], добавлен 20.12.2014

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.