Відеопрогравач

Інформація про навчальний заклад

ВУЗ:
Інші
Інститут:
Не вказано
Факультет:
КН
Кафедра:
Не вказано

Інформація про роботу

Рік:
2012
Тип роботи:
Курсова робота
Предмет:
Основи програмування та алгоритмічні мови

Частина тексту файла (без зображень, графіків і формул):

ПРИВАТНИЙ ВИЩИЙ НАВЧАЛЬНИЙ ЗАКЛАД ЕКОНОМІКО – ПРАВОВИЙ ТЕХНІКУМ при МАУП КУРСОВА РОБОТА З ДИСЦИПЛІНИ „ ОСНОВИ ПРОГРАМУВАННЯ ТА АЛГОРИТМІЧНІ МОВИ” ТЕМА : „ Відеопрогравач” ПОЯСНЮВАЛЬНА ЗАПИСКА ДО КУРСОВОЇ РОБОТИ (ШИФР КУРСОВОЇ РОБОТИ: 5.05010101, ЕПТ-9-08-ОПСК-31(3.10д), 24-0 від 28.03.2011, 12) РОБОТУ Вступ Розділ І. Мова програмування Borland Delphi 1.1 Загальні відомості Borland Delphi Розділ ІІ. Постановка задачі 2.1 Актуальність програми 2.2 Опис інтерфейсу 2.3 Опис основних процедур Висновок Список використаних джерел Додатки Вступ Мета курсової роботи: за допомогою об’єктно-орієнтованого програмування Delphi створити програму (Відеопрогравач). Відео плер - пристрій, відтворюючи відеофайли різних форматів. (MPEG4, FLV, AVI та інші). В сучасному світі чільне місце посідають комп’ютерні технології. Внаслідок швидкого розвитку цієї галузі комп’ютери тепер є доступними практично всім. А якщо людина має справу з комп’ютером, то рано чи пізно в неї виникне бажання покращити або створити нову програму, більш зручну для неї. Але декілька років тому більшість мов програмування, таких, як Turbo Pascal, або Borland C++ for Windows були досить складними для створення в них програм, якими було б зручно користуватись. Бурхливий розвиток обчислювальної техніки та необхідність в ефективних засобах розробки програмного забезпечення призвели до появи систем програмування, орієнтованих на так звану „швидку розробку”. Одними серед яких можна виділити Borland Delphi і Microsoft Visual Basic. В основі систем швидкої розробки покладена технологія візуального проектування і подійного програмування. Суть цього методу заключається в тому, що область розробки бере на себе більшу частину роботи зі створення інтерфейсу, залишаючи програмісту роботу по конструюванню діалогових вікон і функцій обробки подій. Продуктивність програміста при використанні систем швидкої розробки доданків (RAD - систем) збільшуеться в декилька разів, чим надає можливість розробляти більшу кількість доданків, або покращувати вже існуючі з цілью їх популярізації серед користувачі. У вступі обґрунтовується вибір теми, висвітлюється її актуальність, теоретичне і практичне значення. Актуальність теми дослідження підтверджується статистичними матеріалами, відповідністю сучасним проблемам вдосконалення чи створення власних програмних продуктів. Доцільно проаналізувати праці науковців з проблеми, що вивчається, вказати питання, які залишаються дискусійними і потребують подальшої розробки. У вступі потрібно вказати мету та завдання курсової роботи. Розділ І. Мова програмування Borland Delphi 1.1 Загальні відомості Borland Delphi Delphi (Делфі, вимовляється / dɛl ˌ fi /) - середовище програмування, в якій використовується мова програмування Object Pascal. Починаючи з середи розробки Delphi 7.0, в офіційних документах Borland стала використовувати назву Delphi для позначення мови Object Pascal. Цільова платформа Спочатку середовище розробки була призначена виключно для розробки додатків Microsoft Windows, потім був реалізований також для платформ Linux (як Kylix), однак після випуску в 2002 році Kylix 3 його розробка була припинена, і, незабаром після цього, було оголошено про підтримку Microsoft. NET . При цьому висловлювалися припущення [ким?], що ці два факти взаємопов'язані. Реалізація середовища розробки проектом Lazarus (Free Pascal, компіляція в режимі сумісності з Delphi) дозволяє використовувати його для створення додатків на Delphi для таких платформ, як Linux, Mac OS X і Windows CE. Також робилися спроби використання мови в проектах GNU та написання компілятора для GCC. Історія мови Object Pascal - результат розвитку мови Турбо Паскаль, який, у свою чергу, розвинувся з мови Паскаль. Паскаль був повністю процедурною мовою, Турбо Паскаль, починаючи з версії 5.5, додав в Паскаль об'єктно-орієнтовані властивості, а в Object Pascal - динамічну ідентифікацію типу даних з можливістю доступу до метаданих класів (тобто до опису класів та їх членів) у компільованої коді , також званому інтроспекцією - дана технологія одержала позначення RTTI. Так як всі класи успадковують функції базового класу TObject, то будь-який вказівник на об'єкт можна перетворити до нього, після чого скористатися методом ClassType і функцією TypeInfo, які й забезпечать інтроспекції. Також відмітною властивістю Object Pascal від С + + є те, що об'єкти за замовчуванням розташовуються в динамічній пам'яті. Однак можна перевизначити віртуальні методи NewInstance і FreeInstance класу TObject. Таким чином, абсолютно будь-який клас може здійснити «бажання» «де хочу - там і буду лежати». Відповідно організується і «многокучность». Object Pascal (Delphi) є результатом функціонального розширення Turbo Pascal. [4] Delphi зробив величезний вплив на створення концепції мови C # для платформи. NET. Багато його елементи і концептуальні рішення увійшли до складу С #. Однією з причин називають перехід Андерса Хейлсберг, одного з провідних розробників Дельфі, з компанії Borland Ltd. в Microsoft Corp. • Версія 1 була призначена для розробки під 16-розрядну платформу Win16; • Версії з другої компілюють програми під 32-розрядну платформу Win32; • Разом з 6-й версією Delphi вийшла сумісна з ним по мові і бібліотекам середу Kylix, призначена для компіляції програм під операційну систему Linux; • Версія 8 здатна генерувати байт-код виключно для платформи. NET. Це перша середа, орієнтована на розробку мультимовних додатків (лише для платформи. NET); • Подальші версії (що позначаються роками виходу, а не порядковими номерами, як це було раніше) можуть створювати як додатки Win32, так і байт-код для платформи. NET. Delphi for. NET - середовище розробки Delphi, а також мову Delphi (Object Pascal), орієнтовані на розробку додатків для. NET. Перша версія повноцінної середовища розробки Delphi для. NET - Delphi 8. Вона дозволяла писати програми лише для. NET. В даний час, в Delphi 2006, можна писати програми для. NET, використовуючи стандартну бібліотеку класів. NET, VCL для. NET. Середовище також дозволяє створювати. NET-додатки на C # і Win32-додатки на C + +. Delphi 2006 містить функції для написання звичайних додатків з використанням бібліотек VCL і CLX. Delphi 2006 підтримує технологію MDA за допомогою ECO (Enterprise Core Objects) версії 3.0. У березні 2006 року компанія Borland ухвалила рішення про припинення подальшого вдосконалення інтегрованих середовищ розробки JBuilder, Delphi і C + + Builder з причини збитковості цього напряму. Планувався продаж IDE-сектору компанії. Група прихильників вільного програмного забезпечення організувала збір коштів для покупки у Borland прав на середовище розробки і компілятор. [5] Однак у листопаді того ж року було прийнято рішення відмовитися від продажу 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. [6]     Embarcadero RAD Studio 2010 25 серпня 2008 компанія Embarcadero, новий господар CodeGear, опублікувала прес-реліз на Delphi for Win32 2009. [7] Версія принесла безліч нововведень в мову, як то [8]: • За замовчуванням повна підтримка Юнікода у всіх частинах мови, VCL і RTL; заміна звернень до всіх функцій Windows API на Юнікодні аналоги (тобто MessageBox викликає MessageBoxW, а не MessageBoxA). • Узагальнені типи, вони ж generics. • Анонімні методи. • Нова директива компілятора $ POINTERMATH [ON | OFF]. • Функція Exit тепер може приймати параметри відповідно до типу функції.  Розділ ІІ. Постановка задачі 2.1 Постановка задачі В даному випадку потрібно розробити (Відеопрогравач), в середовищі програмування Delphi. Максимально простим, зручним та легким в користуванні. В створенні проекту можна використовувати всі можливі методи та функції для виконання поставленої задачі. 2.1 Актуальність програми( у вступ) 2.2 Опис інтерфейсу Інтерфейс програми зроблений максимально простим як в сприйнятті так і в користуванні Інтерфейс складаеться з: 1) panelVideo – панель де відтворюеться відео 2) trackBarProgress - 3) trackBarVolume – регулятор гучності 4) trackBarBalance – регулятор балансу звуку 5) buttonOpen – кнопка відкриття файлу 6) buttonStop – кнопка стоп 7) buttonPlay – кнопка відтворення відео 8) buttonPause – кнопка паузи 9) buttonSlow – кнопка уповільнення відтворення відео 10) buttonFast –кнопка прискорення відтворення відео 2.3 Опис основних процедур Висновок: В ході виконання курсової роботи були отримані нові теоретичні відомості по роботі в Borland Delphi і відомості про нові технічні і програмні засоби. Також були поглиблені знання по алготитмізації, програмуванню і вирішенню задач в візуальному середовищи Borland Delphi. Покращили навички володіння процедурами і майстерність створення нових класів та використання вже існуючих, тим самим скорочувати код програми при цьому не втрачаючи ефективності, а навіть підвищувати її за рахунок більш швидкого вирішення тих самих задач. Навчилися спрощувати та мінімізувати інтерфейс з цілью покращення доступу до всіх можливих процедур та функцій закладених в програму. Здобуті навички підчас теоретичного навчання в повному обсязі були вкладені в процес розробки програми для курсової роботи. Всі поставленні завдання були виконані підчас розробки курсового проєкту. Поглиблення теоритичних навичок відбулося за рахунок навчальної літератури та наукових праць з програмування та алгоритмізації, прочитаних для розуміння поставленої задачі і її коректного виконання і працесдатності, котра б повністю задовільняла всі вимоги користувача і замовника. На мою думку цей проєкт може зайняти своє місце на ринку програмних засобів і закріпити за собою це місце серед інших подібних доданків. Основною перевагою цього доданку є простий інтерфейс та зрозумілість. Також безвідмовність при виконанні та мала ймовірність некоректної роботи. Список використаних джерел http://www.yandex.ru http://www.wikipedia.ua Архангельский А.Я. Программирование в Delphi 6 ––М.: ЗАО «Издательство БИНОМ», 2002г. Фаронов В.В. Delphi 6. Учебный курс. Издательство Молгачев С.В., 2001. Программирование в среде Delphi: Лабораторный практикум для студентов всех специальностей. Под общей редакцией Синицына А.К. – Мн.; БГУИР, 1998. Основы информатики и вычислительной техники. Методические указания к выполнению курсовой работы для студентов факультета предпринимательства и управления специальности Э 03. 02. 00 «Экономическая информатика». Фурунжиев Р.И. – Ротапринт БАТУ, Мн.: 2000. Архангельский А.Я. Программирование в Delphi 6 ––М.: ЗАО «Издательство БИНОМ», 2002г. Кандзюба С.П., Громов В.Н. Delphi 6. Базы данных и приложения. Лекции и упражнения. – К.: Издательство «ДинСофт», 2001. Фаронов В.В. Delphi 6. Учебный курс. Издательство Молгачев С.В., 2001. Додаток А Лістинг UNIT FormMain; {******************************************************************************} {** Автор: Мороз Юрій Миколайович **} {******************************************************************************} {**} INTERFACE {***************************************************************} {**} USES {********************************************************************} Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, DirectShow9, ComObj, ActiveX, ExtCtrls, ComCtrls, UdxMediaPlayer; {**} CONST {*******************************************************************} WM_MEDIA_NOTIFY = WM_USER + 1000; {**} TYPE {********************************************************************} TMainForm = class(TForm) panelVideo: TPanel; trackBarProgress: TTrackBar; buttonPlay: TButton; buttonPause: TButton; buttonPrev: TButton; buttonNext: TButton; timerRefresh: TTimer; buttonOpen: TButton; openDialogVideo: TOpenDialog; buttonFast: TButton; buttonSlow: TButton; trackBarVolume: TTrackBar; buttonStop: TButton; labelVolume: TLabel; labelBalance: TLabel; trackBarBalance: TTrackBar; procedure FormResize(Sender: TObject); procedure buttonPlayClick(Sender: TObject); procedure buttonPauseClick(Sender: TObject); procedure buttonNextClick(Sender: TObject); procedure buttonPrevClick(Sender: TObject); procedure trackBarProgressChange(Sender: TObject); procedure timerRefreshTimer(Sender: TObject); procedure buttonOpenClick(Sender: TObject); procedure FormMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); procedure FormCreate(Sender: TObject); procedure FormDestroy(Sender: TObject); procedure buttonFastClick(Sender: TObject); procedure buttonSlowClick(Sender: TObject); procedure trackBarVolumeChange(Sender: TObject); procedure buttonStopClick(Sender: TObject); procedure trackBarBalanceChange(Sender: TObject); PRIVATE FPositioning: boolean; procedure MediaNotify(var Msg: Tmessage); message WM_MEDIA_NOTIFY; PUBLIC END; {**} VAR {*********************************************************************} MainForm: TMainForm; MediaPlayer: TdxMediaPlayer; Counter: integer = 1; {**} IMPLEMENTATION {**********************************************************} {$R *.dfm} procedure TMainForm.FormResize(Sender: TObject); begin MediaPlayer.SetWindowPosition(Rect(0, 0, panelVideo.ClientRect.Right, panelVideo.ClientRect.Bottom)); end; procedure TMainForm.buttonPlayClick(Sender: TObject); begin MediaPlayer.Play; end; procedure TMainForm.buttonStopClick(Sender: TObject); begin MediaPlayer.Stop; end; procedure TMainForm.buttonPauseClick(Sender: TObject); begin MediaPlayer.Pause end; procedure TMainForm.buttonNextClick(Sender: TObject); begin MediaPlayer.StepNext; end; procedure TMainForm.buttonPrevClick(Sender: TObject); begin MediaPlayer.StepPrev; end; procedure TMainForm.trackBarProgressChange(Sender: TObject); begin if FPositioning then EXIT; FPositioning := TRUE; try MediaPlayer.SetPlayingPosition(trackBarProgress.Position * 100); finally FPositioning := FALSE; end; end; procedure TMainForm.timerRefreshTimer(Sender: TObject); var P: int64; begin if FPositioning then EXIT; FPositioning := TRUE; try if SUCCEEDED(MediaPlayer.GetPlayingPosition(P)) then trackBarProgress.Position := P div 100; finally FPositioning := FALSE; end; end; procedure TMainForm.buttonOpenClick(Sender: TObject); var Volume: longint; begin if openDialogVideo.Execute then begin if SUCCEEDED(MediaPlayer.Initialize(WideString(openDialogVideo.FileName))) then begin Caption := 'Small Media Player: ' + openDialogVideo.FileName; trackBarProgress.Max := MediaPlayer.FrameCount div 100; MediaPlayer.RegisterEventMessage(Handle, WM_MEDIA_NOTIFY); MediaPlayer.SetWindowPosition(Rect(0, 0, panelVideo.ClientRect.Right, panelVideo.ClientRect.Bottom)); if SUCCEEDED(MediaPlayer.GetVolume(Volume)) then trackBarVolume.Position := 10 - Volume div 100; end; end; end; procedure TMainForm.FormMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); begin ReleaseCapture; SendMessage(Handle, WM_NCLBUTTONDOWN, HTCAPTION, 0); end; procedure TMainForm.FormCreate(Sender: TObject); begin MediaPlayer := TdxMediaPlayer.Create(panelVideo.Handle); end; procedure TMainForm.FormDestroy(Sender: TObject); begin FreeAndNil(MediaPlayer); end; procedure TMainForm.buttonFastClick(Sender: TObject); begin MediaPlayer.Faster; end; procedure TMainForm.buttonSlowClick(Sender: TObject); begin MediaPlayer.Slower; end; procedure TMainForm.trackBarVolumeChange(Sender: TObject); begin MediaPlayer.SetVolume(trackBarVolume.Position * 100); end; procedure TMainForm.MediaNotify(var Msg: Tmessage); var EventCode: Integer; Param1, Param2: Integer; begin while MediaPlayer.GetEvent(EventCode, Param1, Param2, 0) = S_OK do begin if EventCode = EC_Complete then begin MediaPlayer.Stop; MediaPlayer.SetPlayingPosition(0); end; end; end; procedure TMainForm.trackBarBalanceChange(Sender: TObject); begin MediaPlayer.SetBalance(trackBarBalance.Position); end; END.
Антиботан аватар за замовчуванням

05.02.2013 09:02-

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Ділись своїми роботами та отримуй миттєві бонуси!

Маєш корисні навчальні матеріали, які припадають пилом на твоєму комп'ютері? Розрахункові, лабораторні, практичні чи контрольні роботи — завантажуй їх прямо зараз і одразу отримуй бали на свій рахунок! Заархівуй всі файли в один .zip (до 100 МБ) або завантажуй кожен файл окремо. Внесок у спільноту – це легкий спосіб допомогти іншим та отримати додаткові можливості на сайті. Твої старі роботи можуть приносити тобі нові нагороди!
Нічого не вибрано
0%

Оголошення від адміністратора

Антиботан аватар за замовчуванням

Подякувати Студентському архіву довільною сумою

Admin

26.02.2023 12:38

Дякуємо, що користуєтесь нашим архівом!