Реферат: Програмна реалізація системи IP-телебачення на базі архітектури "клієнт-сервер"

Рис. 2. Інтерфейсна оболонка прикладної програми “ Client ”


Компоненти, які мають візуальне представлення в процесі виконання програми і її проектування, успадковані від нащадка TComponent, класу TControl, і називаються візуальними. До таких компонентів відносяться: Button, SpeedButton, LabeledEdit, Edit, Label, GroupBox, FileListBox, ProgressBar, PageControl, TabSheet, Panel, MediaPlayer, Bevel.

Так само існує третій вид компонентів, які спочатку не видно користувачеві, але можуть з'являтися на екрані в окремих вікнах у разі потреби – це діалоги. Діалоги є спадкоємцями класу TComponent через спеціалізований клас TCommonDialog. Клас TCommonDialog серед інших методів додає до класу TComponent метод Execute, який є абстрактним і перевизначається конкретними компонентами-діалогами для виведення діалогового вікна на екран. Серед такого роду компонентів в програмі “Server” присутній діалог відкриття файлів OpenDialog. Призначення всіх використаних в прикладних програм “Server” і “Client” компонентів наведені в додатку А.

Кожна програма складається з файлу проекту (файл з розширенням dpr) і файлу модуля (файл з розширенням pas).

Структура проекту

Проект – це контейнер верхнього рівня, в якому зберігаються всі об'єкти прикладнщї програми. Його призначення полягає в забезпеченні взаємозв'язку файлів з яких складається програма.

Файл проекту є програмою, написаною на мові Object Pascal і призначеною для обробки компілятором. Ця програма автоматично створюється Delphi і містить лише декілька рядків, які приведені в лістингу Б.1 додатку Б .

У тексті кода жирним шрифтом виділяються так звані зарезервовані слова, а курсивом – коментарі. Текст програми починається зарезервованим словом program і закінчується словом end з крапкою за ним. Поєднання end з наступною за нею крапкою називається термінатором програмної одиниці: як тільки в тексті програми зустрінеться такий термінатор, компілятор припиняє аналіз програми і ігнорує частину тексту, що залишилася.

Зарезервовані слова грають важливу роль в Object Pascal, додаючи програмі в цілому властивість тексту, написаного на майже природній англійській мові. Кожне зарезервоване слово несе в собі умовне повідомлення для компілятора, який аналізує текст програми.

Коментарі, навпаки, нічого не означають для компілятора, і він їх ігнорує. Коментарі важливі для програміста, який з їх допомогою пояснює ті або інші місця програми. Наявність коментарів в тексті програми робить її зрозуміліше і дозволяє легко пригадати особливості реалізації програми, яка була написана кілька років тому. У Object Pascal коментарем вважається будь-яка послідовність символів, поміщена у фігурні дужки. Так само символи // указують компілятору, що коментар розташовується за ними і продовжується до кінця поточного рядка.

Слово Program з наступним за ним ім'ям програми і крапкою з комою утворюють заголовок програми. За заголовком слідує розділ описів, в якому описуються використовувані в програмі ідентифікатори. Ідентифікатори позначають елементи програми, такі як типи, змінні, процедури, функції. За допомогою речення, яке починається зарезервованим словом uses, програміст повідомляє компілятор про ті фрагменти програми (модулі), які необхідно розглядати як невід'ємні складові частини програми і які розташовуються в інших файлах.

Рядок “Forms, MainUnit in 'MainUnit.pas' {MainForm};” вказує, що крім файлу проекту в програмі повинні використовуватися модулі Forms і MainUnit. Модуль Forms є стандартним. Призначення цього модуля полягає у визначенні характеристик форми в додатку. Модуль MainUnit є новим, раніше невідомим, і Delphi в цьому випадку вказує також ім'я файлу з текстом модуля (in 'MainUnit.pas') і ім'я пов'язаного з модулем файлу опису форми {MainForm}.

Директива {$R *.res} – вказівка компілятору на необхідність підключення до програми так званого файлу ресурсів.

Власне тіло програми починається із слова begin і обмежується термінатором end з крапкою. Тіло складається з декількох операторів мови Object Pascal. В кожному операторі реалізується деяка дія – зміна значення змінної, аналіз результату обчислення, звернення до підпрограми і тому подібне. В тілі даної програми три виконувані оператори. Кожен з них реалізує звернення до одного з методів об'єкту Application. Об'єктом називається спеціальним чином оформлений фрагмент програми, що містить в собі дані і підпрограми для їх обробки. Дані називаються полями об'єкту, а підпрограми – його методами. Об'єкт в цілому призначений для вирішення якого-небудь конкретного завдання і сприймається в програмі як неподільне ціле. Об'єкти грають надзвичайно важливу роль в сучасних мовах програмування. Вони придумані для того, щоб збільшити продуктивність праці програміста і одночасно підвищити якість програм, що розробляються ним. Дві головні властивості об'єкту – функціональність і неподільність – роблять його самостійною частиною програми і дозволяють легко переносити об'єкт з однієї програми в іншу. В об'єкті Application зібрані дані і підпрограми, необхідні для нормального функціонування Windows-програми в цілому. Delphi автоматично створює об'єкт-програму Application для кожного нового проекту.

Рядок “Application.Initialize;” означає звернення до методу Initialize об'єкту Application. Прочитавши цей рядок, компілятор створить код, який змусить процесор перейти до виконання деякого фрагмента програми, написаного розробниками Delphi. Після виконання цього фрагмента управління процесором перейде до наступного рядка програми, в якій викликається метод CreateForm.

Оператор Application.CreateForm призначений для завантаження форми в пам'ять.

Викликом методу Run об'єкту Application починається власне робота пркладної програми. Цей метод запускає цикл обробки повідомлення, на якому побудована робота програми, що завершується під час надходження повідомлення про закриття.

Структура модуля

Модулі – це програмні одиниці, призначені для розміщень фрагментів програм. За допомогою програмного коду, що міститься в них, реалізується вся поведінкова сторона програми. Будь-який модуль має наступну структуру: заголовок, секція інтерфейсних оголошень, секція реалізації, термінатор. Заголовок відкривається зарезервованим словом unit за яким слідує ім'я модуля і крапка з комою. Секція інтерфейсних оголошень відкривається зарезервованим словом Interface, а секція реалізації – словом implementation. Розділення модуля на дві секції забезпечує зручний механізм обміну алгоритмами між окремими частинами однієї програми. Термінатором модуля, як і термінатором програми, є end з крапкою. Вихідний текст програмних модулів приведений в лістингах Б.2 та Б.3 додатку Б.

У інтерфейсному розділі (interface) приводиться інформація про вміст програмного модуля, доступний для інших модулів і програм. Такою інформацією оголошені функції і процедури, визначені змінні, константи і типи.

Розділ реалізації (implementation) містить власне програмний код модуля. Всі оператори, поміщені в розділ реалізації, доступні тільки усередині даного програмного модуля. Для того, щоб дістати доступ до тих або інших елементів ззовні модуля, необхідно помістити відповідні оголошення в інтерфейсний розділ цього модуля. Типовим випадком організації програмного модуля є розміщення оголошення функції в розділі interface, а операторів цієї функції – в розділі implementation.

В операторі uses перераховуються модулі Object Pascal, які система Delphi повинна скомпоновати з даною програмою при створенні виконавчого файлу.

Зарезервоване слово type сповіщає компілятор про початок розділу опису типів. Будь-які дані, тобто константи, змінні, властивості, значення функцій або виразу, в Object Pascal характеризуються своїми типами. Тип визначає безліч допустимих значень, які може мати той або інший об'єкт, а також безліч допустимих операцій, які застосовні до нього. Крім того, тип визначає також і формат внутрішнього представлення даних в пам'яті ПК.

Секції private і public визначають області видимості елементів опису класу. Класами в Object Pascal називаються спеціальні типи, які містять поля, методи і властивості. Секція public не накладає обмежень на область видимості перераховуваних в ній полів, методів і властивостей – їх можна викликати в будь-якому іншому модулі програми. Секція private звужує область видимості до мінімуму: закриті елементи опису доступні тільки усередині методів даного класу і підпрограмах, що знаходяться в тому ж модулі, де описаний клас. Елемент, оголошений в секції private, стає недоступним навіть найближчим нащадкам класу, якщо вони розміщуються в інших модулях.

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

Під ключовим словом implementation проекту знаходиться так звана директива $R. Вона повідомляє компілятор, що в проект потрібно включити ресурс Windows, вказаний в тексті директиви. Символ зірочки (*), використаний як ім'я файлу, означає, що ім'я файлу ресурсу співпадає з ім'ям файлу проекту. Файл (.dfm) містить бінарне уявлення створеною за допомогою Form Designer форми.

Зарезервоване слово var визначає розділ оголошення змінних інтерфейсної секції.


Принцип роботи прикладних програм

При запуску програми “Server” на екрані адміністратора з'являється вікно представлене на рис.3.1. Програма-сервер (сервер) переходить в режим прослуховування. При запуску програми “Client” на екрані користувача з'являється вкладка “Interactive” вікна, що представлене на рис. 3.2. Програма-клієнт (клієнт) автоматично встановлює зв'язок з сервером. Для приймання списку доступних відеофайлів, клієнт посилає запит серверу, що супроводжується натисненням користувача кнопки “Send list request”. Після отримання запиту від клієнта, сервер автоматично посилає список доступних відеофайлів, який вказаний на панелі “Archive file content”. Отриманий список відображається на панелі “Available files list” клієнта. Вибраний користувачем файл поміщається в рядок вводу “Chosen file”. Для отримання вказаного файлу, клієнт посилає запит на сервер, що супроводжується натисненням користувача кнопки “Send videofile request”. Отримана назва файлу запиту від клієнта поміщається в рядок вводу “Request file” на сервері. Затвердивши запит, адміністратор натискає кнопку “Adopt”, після чого назва файлу відображається в рядку вводу “Send file”. Адміністратор може вручну вибрати файл, натиснувши кнопку “...”. Відправка файлу здійснюється після натиснення кнопки “Send”. Параметри передачі файлу відображаються на панелі угрупування компонентів “Send file parameters”. Користувач проглядає отриманий файл на відеопрогравачі, розміщеному на вкладці “Video player”, за допомогою кнопок управління “Play”,”Pause” і “Stop”.

К-во Просмотров: 143
Бесплатно скачать Реферат: Програмна реалізація системи IP-телебачення на базі архітектури "клієнт-сервер"