фіцієнта CharSize. Якщо CharSize=l, то символ будує ся в матриці 8x8, якщо CharSize=2, то використовується матриця 16x16 і т.д. до 10-крат- ного збільшення.
Таблиця 2. Шрифти
КонстантаЗначеніеОпісаніеDefaultFont08x8 бітовий шріфтTriplexFont1Штріховие шріфтиSmallFont2Малий шріфтSansSerifFont3СансеріфGothicFont4ГотіческійКонстанти оріентацііHorizDir0Слева направоVertDir1Снізу вгору
Як приклад шрифтом DefaultFont виведемо два рядки: вертикальну і горизонтальну різної величини:
SetTextStyle (0, l, l);
{Букви стандартної величини}
Outtextxy (200,200, Вертикальна рядок );
SetTextStyle (0,0,2);
{Розмір літер збільшений)
Outtextxy (200,220, Горизонтальний рядок );
При завантаженні шрифтів можлива поява помилок, їх коди представлені нижче, можуть бути отримані для аналізу за допомогою GraphResult.
2.3 Рух графічних об'єктів в Турбо Паскаль
Створити видимість руху на екрані можна двома способами.
Перший спосіб полягає в тому, що імітація руху об'єкта на екрані створюється за рахунок багаторазового виконання програмою напору дій: намалювати - пауза - стерти малюнок (намалювати його в тому ж місці кольором фону) - змінити координати зображення.
Перед початком складання програми треба продумати опис «рухається» об'єкта; характер зміни координат, що визначають поточний стан об'єкта; діапазон зміни і крок.
Завдання 1. Організувати імітацію руху автомобіля по екрану комп'ютера.
Другий спосіб імітації руху малюнка або його частини складається і його запам'ятовуванні в окремій області оперативної пам'яті з тим, щоб надалі швидко відновити це зображення в іншому місці екрана.
Для зберігання фрагмента найзручніше використовувати динамічну область пам'яті. Отримати розмір пам'яті в байтах, необхідної для збереження образу фрагмента, дозволяє функція ImageSize (X1, Yl, X2, Y2: integer): word. Тут (X1, YI) і (X2, Y2) - координати верхнього лівого та нижнього правого кутів прямокутника. Якщо отриманий розмір пам'яті більше 64Кб, то значення ImageSize=0, a GraphResult=- 1. Щоб цього уникнути, слід зберігати зображення по частинах.
Отриманий за допомогою функції ImageSize розмір пам'яті застосовують в якості вхідної інформації для процедури GetMem (p, Size), яка виділяє зазначений обсяг пам'яті в динамічній області. Тут р - покажчик на область пам'яті, Size - її розмір.
Процедура GetImage (Xl, Yl, X2, Y2: integer; var BitMap: word); зберігає образ фрагмента в пам'яті, де XI, Y1, X2, Y2 - координати фрагмента, BitMap - змінна, яка вказує, де зберігається образ зображення.
Процедура Putlmage (X, Y: integer; var BitMap, Mode: word); відновлює збережений у буфері Bit-Map прямокутник, лівий верхній кут якого задається координатами (X, Y). Параметр Mode задає режим виведення зображення.
Продемонструємо імітацію руху з використанням вище описаних процедур при вирішенні наступного завдання.
Завдання 2. Побудувати на екрані комп'ютера вежу, імітуючи процес її побудови знизу вгору.
.4 Розробка і реалізація програм в середовищі Турбо Паскаль «Графіка»
. Зображує на екрані гриб.
. Зображує на екрані квітка.
3.Ізображает на екрані зірку.
Висновок
Об'єктно-орієнтоване програмування є прямим наслідком ускладнення сучасних додатків, ускладнення, яке часто змушує багатьох програмістів у відчаї підкидати вгору руки. Успадкування та інкапсуляція є максимально ефективними засобами для управління складністю. (Існує різниця між десятьма тисячами комах, класифікованих за таксономічної схемі, і десятьма тисячами комах, дзижчать біля ваших вух.) Представляючи собою значно більше, ніж просто структурне програмування, об'єктно-орієнтоване програмування вносить раціональний порядок в структуру програмного забезпечення ЕОМ, що, як і таксономічна схема, встановлює порядок, не встановлюючи меж.
Додайте сюди перспективи можливості розширення і повторному використання існуючого коду і все це почне звучати настільки добре, що буде схожа на правду. Ви думаєте, що це не можливо?
Але це ж BorlandPascal! Слово неможливо в ньому не визначено.
Список літератури
<...