для створення привабливого і дружнього призначеного для користувача інтерфейсу.
Головною частиною додатку є файл проекту (.dpr), з якого починається виконання програми і який забезпечує ініціалізацію інших модулів. Він створюється і модифікується Delphi автоматично в процесі розробки прикладної програми. Ім'я, яке дається файлу проекту при зберіганні, стає ім'ям файла, що виконується.
Після створення додатку з пустою формою, потрібно відразу зберегти його в потрібному каталозі. У багатовіконних додатках це дозволяє відразу давати модулям імена, які будуть використовуватися в програмі для взаємних посилань модулів один на одного.
2.2 Вибір алгоритму кодування
Стискання здійснюється з метою зменшення фізичного розміру блоку інформації. Стискання інформації здійснює програма-компресор, а відновлення – програма-декомпресор.
Стискання растрових і векторних даних здійснюється по-різному. В растрових файлах стискаються тільки дані зображення, а заголовок і решта даних (таблиця кольорів, кінцівка і т.п.) завжди залишаються нестисненими (вони, як правило, займають незначну частину растрового файла). Векторні файли, в яких зберігається математичний опис зображення, а не самі дані, як правило, не мають “рідної” форми стискання. Це викликано тим, що в векторному форматі дані вже представлені в компактній формі і стискання дає дуже незначний ефект. Окрім цього звичайно векторні дані читаються з незначною швидкістю і при додаванні розпаковування цей процес може стати ще більш повільним. Якщо векторний файл все ж стискається, то, як правило, стискаються всі дані, включаючи заголовок.
Більшість алгоритмів стискання забезпечують кодування без втрат, коли дані при розпаковуванні повністю відновлюються. Методи кодування з втратами передбачають відкидання деяких даних зображення для досягнення кращої міри стискання, ніж за методами без втрат. При цьому важливо, щоб втрата деякої частини даних була прийнятною або навіть доцільною. Найбільш поширеними алгоритмами стискання даних є групове кодування (RLE), алгоритм Лемпела-Зіва-Велча (LZW), кодування CCITT (Хафмена), технологія JPEG, алгоритм ART, алгоритми фрактального стискання зображень
Алгоритм LZW базується на словниках. Із даних вхідного потоку він будує словник даних. Зразки даних ідентифікуються в потоці даних і співставляються з записами в словнику. Якщо зразка даних нема в словнику, то на основі цих даних в словник записується кодова фраза, яка має менший розмір, ніж самі дані. Ця ж фраза записується і в вихідний потік стиснених даних. Якщо ж зразок даних зустрічається у вхідному потоці повторно, фраза, що відповідає йому, читається із словника і записується в вихідний потік. Так як кодові фрази мають менший розмір, ніж зразки даних, відбувається стискання. Декодування здійснюється в зворотному порядку. Декомпресор читає код з потоку стиснених даних і, якщо його ще нема в словнику, додає його туди. Потім цей код перево-диться в рядок, який він представляє, і записується в вихідний потік нестиснених даних. Перевагою алгоритму LZW перед іншими, які базуються на словниках, є те, що не обов’язково зберігати словник для наступ-ного декодування. Алгоритм LZW є запатентованим і його викорис-тання при створенні нових програмних продуктів обмежується ліцензійними угодами.
Міжнародний Консультативний комітет з телеграфії і телефонії (CCITT) розробив серію комунікаційних протоколів для факсимільної передачі чорно-білих зображень по телефонних каналах і мережах передачі даних. Ці протоколи офіційно відомі як стандарти Т.4 і Т.6 CCITT, але більш розповсюджена їхня назва – стиск CCITT Group 3 і Group 4 відповідно. Іноді кодування CCITT називають кодуванням за алгоритмом Хафмена. Це простий алгоритм стиску, запропонований Девідом Хафменом у 1952 році. Стандарти Group 3 і Group 4 – це алгоритми стиску, спеціально розроблені для кодування однобітових даних зображення. Алгоритми CCITT не є адаптивними, тобто не настоюються для кодування кожного растра з оптимальною ефектив-ністю. У них використовується фіксована таблиця кодових значень, що були обрані спеціально для представлення документів, які підлягають факсимільній передачі. Перед початком кодування здійснюється частотний аналіз коду документу і виявляється частота повтору кожного з символів. Символи, які частіше зустрічаються, кодуються меншою кількістю розрядів. При використанні кодування за схемою Хафмена треба разом із закодованим текстом передати відповідний алфавіт, але для великих фрагментів надлишковість не може бути значною.
JPEG (Joint Photographic Experts Group – об’єднана група експертів по фотографії) є методом стиску, що дозволяє стискати дані багатоградаційних зображень (фотографій, телевізійних заставок, іншої складної графіки) з піксельною глибиною від 6 до 24 біт з задовільною швидкістю й ефективністю. На відміну від інших методів стиску JPEG не є одним алгоритмом. JPEG може налаштовуватися на відтворення дуже маленьких стиснутих зображень поганої якості, але проте придатних для більшості програм, і в той же час дозволяє робити стиснені зображення дуже високої якості, обсяг даних яких набагато менше, ніж в оригінальних нестиснених даних. JPEG, як правило, супроводжується втратами. Схема JPEG заснована на відкиданні інформації, яку важко помітити візуально. Невеликі зміни кольору погано розпізнаються оком людини, а от незначні зміни інтенсивності (світліше чи темніше) – краще. Виходячи з цього, кодування з втратами JPEG прагне до дбайливого поводження з напівтоновою частиною зображення, але більш вільно поводиться з кольором. При цьому анімація, чорно-білі ілюстрації і документи, а також типова векторна графіка, як правило, стискуються погано. В даний час JPEG стали використовувати для стиску “живого” відео, однак стандарт не містить ніяких положень щодо такого застосування. Обсяг стиснутих даних залежить від змісту зображення. Міра стиску зображення з фотографічною якістю може становити від 20:1 до 25:1 без помітної втрати якості. Звичайно ж, настільки високий показник стиску супроводжується відмінністю від оригіналу, але вона настільки незначна,