Робота з текстом, Рух графічних об’єктів у Турбо Паскаль, Розробка та реалізація програм у

Як приклад шрифтом DefaultFont виведемо два рядки: вертикальний і горизонтальний різної величини:

При завантаженні шрифтів можлива поява помилок, їх коди представлені нижче можуть бути отримані для аналізу за допомогою GraphResult.

Рух графічних об'єктів у Турбо Паскаль

Створити видимість руху на екрані можна двома способами.

Перший спосіб у тому, що імітація руху об'єкта на екрані створюється рахунок багаторазового виконання програмою напору дій: намалювати -- пауза -- стерти малюнок (намалювати його у тому місці кольором фону)-- змінити координати зображення.

Перед початком складання програми треба продумати опис «об'єкту, що рухається»; характер зміни координат, що визначають поточне становище об'єкта; діапазон зміни та крок.

Завдання 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. Побудувати башту на екрані комп'ютера, імітуючи процес її побудови знизу вгору.