Курсовой проект тақырыбы: по дисциплине: «Основы алгоритмизации и программирования»



Скачать 199.72 Kb.
страница9/9
Дата10.01.2018
Размер199.72 Kb.
Название файлаMultimediynye_vozmozhnosti_Delphi_1.docx
ТипКурсовой проект
1   2   3   4   5   6   7   8   9

Расширения файлов


  • .pas — исходный код модуля (pascal)

  • .dpr — исходный код проекта (pascal)

  • .dproj — исходный код проекта (xml)

  • .dproj.local — исходный код проекта (xml)

  • .dfm — исходный код формы

  • .dpk — исходный код проекта пакета

  • .bpl — скомпилированный пакет

  • .dcu — скомпилированный модуль

  • .exe — скомпилированное приложение

  • .res — ресурсы

  • .dsk — привязки к файлам

  • .identcache — кэшированные привязки к файлам.



1.2История языка



Object Pascal — результат развития языка Турбо Паскаль, который, в свою очередь, развился из языка Паскаль. Паскаль был полностью процедурным языком, Турбо Паскаль, начиная с версии 5.5, добавил в Паскаль объектно-ориентированные свойства, а в Object Pascal — динамическую идентификацию типа данных с возможностью доступа к метаданным классов (то есть к описанию классов и их членов) в компилируемом коде, также называемую интроспекцией — данная технология получила обозначение RTTI. Так как все классы наследуют функции базового класса TObject, то любой указатель на объект можно преобразовать к нему, после чего воспользоваться методом ClassType и функцией TypeInfo, которые и обеспечат интроспекцию.

Также отличительным свойством Object Pascal от С++ является то, что объекты по умолчанию располагаются в динамической памяти. Однако можно переопределить виртуальные методы NewInstance и FreeInstance класса TObject. Таким образом, абсолютно любой класс может осуществить «желание» «где хочу — там и буду лежать». Соответственно организуется и «многокучность».

Object Pascal (Delphi) является результатом функционального расширения Turbo Pascal.

Delphi оказал огромное влияние на создание концепции языка C# для платформы .NET Многие его элементы и концептуальные решения вошли в состав С#. Одной из причин называют переход Андерса Хейлсберга, одного из ведущих разработчиков Дельфи, из компании Borland Ltd. в Microsoft Corp.



  • Версия 8 способна генерировать байт-код исключительно для платформы .NET. Это первая среда, ориентированная на разработку мультиязычных приложений (лишь для платформы .NET);

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

Delphi for .NET — среда разработки Delphi, а также язык Delphi (Object Pascal), ориентированные на разработку приложений для .NET.

Первая версия полноценной среды разработки Delphi для .NET — Delphi 8. Она позволяла писать приложения только для .NET. Delphi 2006 поддерживает технологию MDA с помощью ECO (Enterprise Core Objects) версии 3.0.

В марте 2006 года компания Borland приняла решение о прекращении дальнейшего совершенствования интегрированных сред разработки JBuilder, Delphi и C++ Builder по причине убыточности этого направления. Планировалась продажа IDE-сектора компании. Группа сторонников свободного программного обеспечения организовала сбор средств для покупки у Borland прав на среду разработки и компилятор.

Однако в ноябре того же года было принято решение отказаться от продажи IDE-бизнеса. Тем не менее, разработкой IDE продуктов теперь будет заниматься новая компания — CodeGear, которая будет финансово полностью подконтрольна Borland.

В августе 2006 года Borland выпустил облегченную версию RAD Studio под именем Turbo: Turbo Delphi (для Win32 и .NET), Turbo C#, Turbo C++.

В марте 2008 года было объявлено о прекращении развития этой линейки продуктов.

В марте 2007 года CodeGear порадовала пользователей обновлённой линейкой продуктов Delphi 2007 for Win32 и выходом совершенно нового продукта Delphi 2007 for PHP.

В июне 2007 года CodeGear представила свои планы на будущее, то есть опубликовала так называемый roadmap.



Рисунок 1.Embarcadero RAD Studio 2010.

25 августа 2008 года компания Embarcadero, новый хозяин CodeGear, опубликовала пресс-релиз на Delphi for Win32 2009. Версия привнесла множество нововведений в язык, как то:


  • По умолчанию полная поддержка Юникода во всех частях языка, VCL и RTL; замена обращений ко всем функциям Windows API на юникодные аналоги (то есть MessageBox вызывает MessageBoxW, а не MessageBoxA).

  • Обобщённые типы, они же generics.

  • Анонимные методы.

  • Новая директива компилятора $POINTERMATH [ON|OFF].

  • Функция Exit теперь может принимать параметры в соответствии с типом функции.

Вышедшая в 2011 году версия Delphi XE2 добавила компилятор Win64 и кросс-компиляцию для операционных систем фирмы Apple(MacOS X, iOS).

Вышедшая в 2013 году версия Delphi XE5 обеспечила кросс-компиляцию приложений для устройств на платформе ARM/Android.


2.Понятие мультимедиа-возможности Delphi

2.1Компоненты для работы с мультимедиа в Delphi

Использование мультимедийных технологий позволяет повысить качество программ и придает им профессиональный вид, более привлекательный для пользователя. Среди разнообразных применений мультимедиа наиболее интересны аудио– и видеовозможности компьютера. Использование звуков и видео в программах позволяет иным образом взаимодействовать с пользователем: озвучивать его действия, информировать о некоторых событиях, просматривать видеоролики и т. п.

В отличие от языков Turbo Pascal и Borland Pascal, Delphi не содержит процедур типа Sound и NoSound, предназначенных для работы со звуком. Для использования мультимедийных возможностей компьютера в Delphi служат специальные компоненты Animate и MediaPLayer.

Компонент MediaPLayer является основным элементом воспроизведения аудио– и видеофайлов. Многофункциональный элемент MediaPLayer обладает рядом важных характеристик (свойств) и обеспечивает управление мультимедийными устройствами.

Для создания и воспроизведения простейшей анимации предназначен компонент Animate. Он позволяет воспроизводить файлы в формате AVI (Audio-Video Interleaved – Аудио– и видеосмесь).

Компонент MediaPlayer

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

Компонент MediaPlayer содержит следующие кнопки (рис. 5.1, слева направо).

• Play – воспроизведение.

• Pause – пауза.

• Stop – остановка.

• Next – переход к следующей фонограмме (дорожке). Для случая одной фонограммы выполняется переход в ее конец.

• Prev – переход к предыдущей фонограмме. Для случая одной фонограммы выполняется переход в ее начало.

• Step – переход на несколько кадров вперед.

• Back – возврат на несколько кадров назад.

• Record – включение режима записи.



• Eject – извлечение носителя.

Рисунок 2. Вид компонента MediaPlayer


Компонент MediaPlayer обладает рядом свойств, которые позволяют управлять воспроизведением файлов.

• AutoOpen – определяет, должно ли устройство автоматически открываться сразу после загрузки.

• AutoRewind – если равно True, то после завершения воспроизведения файла будет переход на его начало.

• DeviceType – определяет тип устройства, которым должен управлять объект MediaPlayer. Принимает одно из следующих значений:

– dtAVIVideo – файл AVI;

– dtCDAudio – аудио компакт-диски;

– dtDAT – цифровой кассетный аудиопроигрыватель;

– dtDigitalVideo – цифровое видео (AVI, MPG, MOV-файлы или ММ-фильм);

– dtMMMovie – формат multimedia movie;

– dtOther – неопределенный формат;

– dtSequencer – MIDI-файл;

– dtVCR – видеомагнитофон;

– dtVideodisc – проигрыватель видеодисков;

– dtWaveAudio – звуковой файл типа WAV;

– dtAutoSelect – компонент выбирает устройство автоматически, устанавливается по умолчанию.

• Display – задает оконный элемент, в котором будет происходить воспроизведение видеоданных. Если свойство не задано, то будет открываться новое дополнительное окно.

• DisplayRec – задает прямоугольную область для воспроизведения данных.

• EnableButtons – определяет набор командных кнопок, которые можно использовать в компоненте.

• StartPos – определяет начальную позицию для воспроизводимых данных. Если не задано, то воспроизведение идет сначала.

• EndPos – определяет конечную позицию для воспроизведения данных. Если не задано, то воспроизведение идет до конца.

• Position – текущая позиция при воспроизведении.

• Tracks – определяет количество дорожек для компакт-дисков.

• Frames – определяет число кадров, на которое перемещается позиция устройства при вызове методов Back и Next.

• Length – длина файла (носителя).

• TimeFormat – устанавливает временной формат, используемый конкретным устройством.

• Wait – определяет, будет управление возвращено вызывающему приложению немедленно или после завершения воспроизведения.

Одним из важных свойств является Capabilities типа TMPDevCapsSet, которое позволяет определить возможности выбранного и открытого устройства. Это свойство может принимать следующие значения, устанавливающие доступность соответствующих операций:

• mpCanE j ect – извлечение носителя;

• mpCanPlay – воспроизведение;

• mpCanRecord – запись на носитель;

• mpCanStep – перемотка вперед или назад определенного количества кадров;

• mpUsedWindow – использование окна для вывода изображения.

Компонент Animate

Видеоклип представляет собой файл в формате AVI, содержащий последовательность отдельных кадров, при отображении которых создается эффект движения. Наряду с изображением AVI-файлы могут содержать звук. Для воспроизведения видеоклипов можно использовать любой из компонентов – Animate или MediaPLayer.

Компонент Animate позволяет проигрывать AVI-файлы, а также отображать стандартную анимацию, используемую в Windows. AVI-файлы, воспроизводимые компонентом Animate, имеют следующие ограничения:

• они не должны содержать звука;

• информация в них не должна быть сжатой;

• размер файла не должен превышать 64 Кбайт.

Для задания воспроизводимого видеоклипа используются свойства FileName и CommonAVI. В один момент можно использовать только одно из этих свойств. Проигрываемый AVI-файл, существующий на диске, указывается путем задания свойства FileName, при этом свойству CommonAVI автоматически присваивается значение aviNone. Свойство CommonAVI позволяет выбрать один из стандартных клипов Windows и принимает следующие значения:

• aviNone – отсутствие стандартной анимации;

• aviCopyFile – копирование файла;

• aviCopyFiles – копирование файлов;

• aviDeleteFile—удаление файла;

• aviEmptyRecycle – очистка Корзины;

• aviFindComputer – поиск компьютера;

• aviFindFile – поиск файла;

• aviFindFolder – поиск папки;

• aviRecycleFile – перемещение файла в Корзину.

При присвоении свойству CommonAVI значения, отличного от aviNone, свойство FileName автоматически сбрасывается, принимая в качестве значения пустую строку.

Для задания видеоклипа также можно использовать ResHandle типа THandle и ResID типа Integer, которые составляют альтернативу свойствам CommonAVI и FileName. Значение ResHandle задает ссылку на модуль, в котором содержится изображение в виде ресурса, а значение свойства ResID в этом модуле указывает номер ресурса.

После выбора видеоклипа свойства FrameCount, FrameHeight и FrameWidth типа Integer определяют следующие параметры клипа: количество, высоту и ширину кадров (в пикселах) соответственно. Эти свойства являются свойствами времени выполнения, следовательно, доступны только для чтения.

По умолчанию размеры компонента Animate автоматически подстраиваются под размеры кадров видеоклипа, это определяет значение True свойства AutoSize. Если этому свойству присвоить значение False, то возможно отсечение части кадра изображения, если его размеры превышают размеры компонента Animate.

Воспроизведение видеоклипа начинается при установке свойству Active значения True. Начальный и конечный кадры задают диапазон воспроизведения и определяются соответственно значениями свойств StartFrame и StopFrame типа Small Int. По умолчанию StartFrame указывает на первый кадр анимации, и его значение равно 1.

Свойство Repetitions типа Integer определяет количество повторений воспроизведения видеоклипа. По умолчанию его значение равно нулю. В этом случае видеоклип проигрывается до тех пор, пока процесс воспроизведения не будет остановлен.

Для запуска и остановки воспроизведения клипов можно использовать методы Play, Stop и Reset. Процедура Play (FromFrame: Word, ToFrame: Word, Count: Integer) проигрывает видеоклип, начиная с кадра, заданного параметром FromFrame, и заканчивая кадром, заданным параметром ToFrame. Параметр Count определяет количество повторений. Таким образом, эта процедура позволяет одновременно управлять StartFrame, StopFrame и Repetitions, задавая для них требуемые при воспроизведении значения, а также устанавливает свойству Active значение True.

Свойство Open типа Boolean доступно при выполнении программы и позволяет определить, готов ли компонент Animate к воспроизведению. Если выбор и загрузка видеоклипа проходят успешно, то свойству Open автоматически устанавливается значение True, компонент можно открыть и проиграть анимацию. При неуспешном завершении загрузки видеоклипа это свойство получает значение False. При необходимости программист может сам устанавливать свойству Open значение False, тем самым отключая компонент Animate.

Процедура Stop прерывает воспроизведение видеоклипа и устанавливает свойству Active значение False. Процедура Reset, кроме того, дополнительно сбрасывает свойства StartFrame и StopFrame, устанавливая значения по умолчанию.

3. Создание анимации



3.1. Пример программы, демонстрирующей мультимедийные возможности Delphi
Для создания анимации мне понадобилось четыре компонента DelphiX: DXDraw, DXTimer, DXImageList, DXSpriteEngine.

Рисунок 3.



В первую очередь для DXImageList добавим новый item, и назовём его “mario”. Далее в item нужно загрузить sprite (картинка со всеми положениями перснажа). После поставим его координаты для PatternHeight(32) , для PatternWight(28).



Рисунок 4. Добавление sprite в item.

Далее для Timer ставим интервал 10.

Далее в событии Timer’a Events (OnTimer) пропишем следущее

procedure TForm1.DXTimer1Timer(Sender: TObject; LagCount: Integer);

begin

DXSpriteEngine1.Move(1);



DXDraw1.Surface.Fill(13);

DXSpriteEngine1.Draw;

DXDraw1.Flip;

end;


Далее создадим ещё одну процедуру, при создании формы будут происходить следующие действия:лупы (повторять), количество кадров в анимации(6),скорость анимации (100/1000),и положения на поверхности DXDraw (x:=250; y:=250; z:=0;).

Запишем всю процедуру полностью с переменной (Sprite: TImageSprite):

procedure TForm1.FormCreate(Sender: TObject);

Var


Sprite: TImageSprite;

begin


Sprite:= TSprite.Create(DXSpriteEngine1.Engine);

with TSprite(Sprite) do

begin

Image := DXImageList1.Items.Find('mario');



AnimStart:=0;

AnimLooped:=true;

AnimCount:=6;

AnimSpeed:=100/1000;

x:=250;

y:=240;


Z:=0;

end;


end;

end.


Запускаем нашу анимацию и получаем следующее:


Рисунок 5.

ЗАКЛЮЧЕНИЕ

В курсовом проекте я исследовал одну из актуальных тем современного программирования – Мультимедийные возможности Delphi. Изучение и анализ ряда литературных источников позволили сделать следующие выводы и обобщения.

Главные преимущества языка Delphi состоит в том, что он позволяет создавать высокоструктурированные программы с низкой вероятностью возникновения логических ошибок.

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

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

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

Цель курсового проекта изучение Мультимедийных возможностей Delphi.В процессе курсовой работы я изучил : Язык программирования Delphi, понятие мультимедийных возможностей Delphi, компоненты для работы с мультимедиа и создание анимации .



СПИСОК ЛИТЕРАТУРЫ


  1. Нил Дж. Рубенкинг. Язык программирования Delphi для «чайников». Введение в Borland Delphi 2006 = Delphi for Dummies. — М.: Диалектика, 2007. — 336 с.

  2. Хавьер Пашеку. Программирование в Borland Delphi 2006 для профессионалов = Delphi for .NET Developer’s Guide. — М.: Вильямс, 2006. — 944 с.

  3. А. Н. Вальвачев, К. А. Сурков, Д. А. Сурков, Ю. М. Четырько. Программирование на языке Delphi. Учебное пособие. — 2005.

  4. Чиртик А.А :Delphi. Трюки и эффекты

  5. Боровский Андрей Программирование в Delphi 2005; БХВ-Петербург - Москва, 2005. - 448 c.

  6. Дарахвелидзе П., Марков Е. Программирование в Delphi 7; БХВ-Петербург - Москва, 2005. - 784 c.

  7. Кузан Дмитрий , Шапоров Владимир Программирование Win32 API в Delphi; БХВ-Петербург - Москва, 2005. - 368 c.

  8. Культин Н. Delphi 6. Программирование на Object Pascal; БХВ-Петербург - Москва, 2002. - 528 c.

  9. Культин Н. Программирование в Delphi 2010. Самоучитель; БХВ-Петербург - Москва, 2010. - 448 c.

  10. Осипов Дмитрий Delphi. Профессиональное программирование; Символ-Плюс - , 2006. - 259 c.

  11. Тюкачев Николай , Илларионов Игорь , Хлебостроев Виктор Программирование графики в Delphi; БХВ-Петербург - Москва, 2008. - 784 c.

  12. Тюкачев Николай , Илларионов Игорь , Хлебостроев Виктор Программирование графики в Delphi (+ CD-ROM); БХВ-Петербург - Москва, 2008. - 784 c.


Поделитесь с Вашими друзьями:
1   2   3   4   5   6   7   8   9


База данных защищена авторским правом ©coolnew.ru 2019
обратиться к администрации

    Главная страница
Контрольная работа
Курсовая работа
Лабораторная работа
Теоретические основы
Методические указания
Общая характеристика
Рабочая программа
Теоретические аспекты
Практическая работа
Методические рекомендации
Пояснительная записка
Дипломная работа
Федеральное государственное
История развития
Учебное пособие
Общие сведения
Основная часть
Направление подготовки
Физическая культура
Теоретическая часть
государственное бюджетное
Самостоятельная работа
История возникновения
Практическое задание
Методическая разработка
Краткая характеристика
Выпускная квалификационная
квалификационная работа
бюджетное учреждение
Гражданское право
государственное образовательное
Название дисциплины
Российская академия
Общие положения
образовательное бюджетное
прохождении учебной
Уголовное право
образовательная организация
теоретические основы
история возникновения
Методическое пособие
Техническое задание
Современное состояние
Общая часть
Понятие сущность
Фамилия студента
Финансовое планирование
Физические основы
Правовое регулирование
Экономическая теория
Теория государства