ючи бажання індивіда запам'ятати і відтворити матеріал).
2. Обгрунтування інструментів розробки
Для реалізації даної програми я вибрав мову програмування Borland Delphi 7. Ця версія дозволила об'єднати в рамках єдиної системи потужний алгоритмічний потенціал мови, методи об'єктно-орієнтованого програмування, графіку, зручні засоби тестування і налагодження програм, а також забезпечити хороший інтерфейс для роботи користувача. В основі Delphi лежить мова Object Pascal, що надає можливість повної реалізації основних принципів ООП (інкапсуляція, спадкування, поліморфізм) і володіє вбудованою обробкою виняткових ситуацій. Компонентна архітектура Delphi є прямим розвитком підтримуваної об'єктної моделі. Всі компоненти є об'єктними типами (класами), що володіють можливістю необмеженого успадкування. Компоненти Delphi підтримують РМЕ-модель (Property, Method, Events - властивості, методи, події), що дозволяє змінювати поведінку компонентів без необхідності створення нових класів. При створенні даної програми я користувався наступними компонентами і методами:
Компонент Image (знаходиться на вкладці Additional) - cлужіт для відображення графічного реєстрового файлу, іконки або метафайлу. Компонент Image багато багатшими за своїми можливостями і зручніше, ніж PaintBox. Він має істотну перевагу: у ньому не доводиться думати про перемальовуванні зображення, зіпсованого через перекриття даного вікна іншими. Все, пов'язане з обробкою подій OnPaint, в Image здійснюється автоматично. Крім того за допомогою Image простіше, ніж при безпосередньому малюванні на канві форми, розташувати у вікні додатка кілька зображень і управляти ними. При цьому відпадає необхідність складних і нудних розрахунків координат канви форми, що забезпечують необхідну взаємне розташування зображень, тобто повною мірою виявляються переваги візуального програмування. Так що, ймовірно, у всіх випадках краще працювати з канвою Image, ніж з канвою форми.
Але крім цих можливостей в компонента Image маються властивості, що дозволяють працювати з різними типами графічних файлів. Delphi підтримує три типи файлів - бітові матриці, піктограми і метафайли. Всі три типи файлів зберігають зображення; відмінність полягає лише в способі їх зберігання всередині файлів і в засобах доступу до них. Бітова матриця (файл з розширенням .bmp) відображає колір кожного пікселя в зображенні. При цьому інформація зберігається таким чином, що будь-який комп'ютер може відобразити зображення з роздільною здатністю і кількістю квітів, відповідними його конфігурації.
Піктограми (файли з розширенням .ico) - це маленькі бітові матриці. Вони повсюдно використовуються для позначення значків додатків, в швидких кнопках, в пунктах меню, в різних списках. Спосіб зберігання зображень в піктограмах схожий з зберіганням інформації в бітових матрицях, але є й відмінності. Зокрема, піктограму неможливо масштабувати, вона зберігає той розмір, в якому була створена.
Метафайли (Metafiles) зберігають не послідовність бітів, з яких складається зображення, а інформацію про спосіб створення картинки. Вони зберігають послідовності команд малювання, які й можуть бути повторені при відтворенні зображення. Це робить такі файли, як правило, більш компактними, ніж бітові матриці.
Компонент Image дозволяє відображати інформацію, що міститься в графічних файлах всіх зазначених типів. Для цього служить його властивість Picture - об'єкт типу TPicture.
Коли ви в процесі проектування завантажили зображення з файлу в компонент Image, він не просто відображає його, а й зберігає у додатку. Це дає вам можливість поставляти ваш додаток без окремого графічного файлу. Втім, як ми побачимо пізніше, в Image можна завантажувати і зовнішні графічні файли в процесі виконання програми.
Властивості компонента Image:
autoSize. Якщо він в true, то розмір компонента Image буде автоматично підганяти під розмір вміщеній в нього картинки. Якщо ж властивість AutoSize встановлено в false, то зображення може не поміститися в компонент або, навпаки, площа компонента може виявитися багато більше площі зображення.
stretch. Воно дозволяє підганяти НЕ компонент під розмір малюнка, а малюнок під розмір компонента. Встановлювати Stretch в true може мати сенс тільки для якихось візерунків, але не для картинок. Властивість Stretch не діє на зображення піктограм, які не можуть змінювати своїх розмірів.
center. Встановлене в true, центрує та на площі Image, якщо розмір компонента більше розміру малюнка.
transparent (прозорість). Якщо Transparent одно true, то зображення в Image стає прозорим. Це можна використовувати для накладення зображень один на одного. Одне...