Самостійна робота з теми: Модуль crt Створення користувацьких модулів (16 год.)
Мета: Ознайомитись з можливостями стандатрного модуля CRT та відпрацювати іх використання при розв’язуванні задач.
Питання до вивчення
Можливості модуля CRT по робот з областю екрана.
Константи та змінні модуля CRT.
Стандартні процедури та функції модуля CRT.
Створення користувацьких модулів
Завдання
Створити користувацький модуль, використавши можливості стандартного модулю CRT, реалізувавши в ньому запропоновані нижче процедури і функції :
Написати процедуру “Візитка”(ім’я, прізвище і телефон), використавши в ній:
попередню очистку екрана;
розміщення курсору в центрі екрану;
кольори фону і символів;
ефект блимання символів.
Написати процедуру “Підготовка до роботи”, використавши в ній:
очистку екрану, заливку екрану кольором фону і розміщення курсору в точку (1,1);
виведення назви запущеної програми;
Примітка: назва запущеної програми оформляється в процедурі як параметр-значення типу string(рядковий тип)
Написати функцію “Запит на роботу”, використавши в ній:
виведення з поточного місця курсору повідомлення “Ви бажаєте продовжити роботу? Введіть Y(так) або N(ні)”
Примітка: результатом функції буде символ (тип char). При поверненні результату в основну програму забезпечити перехід на початок програми у випадку результату “Y” або в кінець (якщо результат “N”). Це робиться за допомогою міток та оператора безумовного переходу goto.
Записати створений модуль у відповідний файл та продемонструвати його роботу, підключивши його до власних програм
Примітка: ім.’я файлу повинно співпадати з іменем модулю.
Методичні рекомендації по роботі з моделум crt
Одним із стандартних модулів, які використовуються при роботі з Turbo Pascal 7.0 є модуль CRT. При роботі з екраном через модуль CRT весь екран розбивається на окремі рядки, а кожен рядок на окремі позиції, в кожну з яких можна помістити один символ (у тому числі і пробіл). Таким чином, весь екран розбивається на окремі неподільні прямокутні елементи. Для кожного елемента можна задати колір фону (задній план) і колір символа (передній план). Крім того, в разі необхідності, символ можна зробити мигаючим.
Модуль CRT дозволяє не тільки працювати з усім екраном, але й виділяти у ньому прямокутні вікна. Будь-яке вікно задається своїми лівим верхнім та нижнім правим кутами. Ці кути, так само як і положення будь-якої точки екрану, задаються двома координатами: X і Y.
Координатою X є номер позиції у рядку (нумерація починається з одиниці і йде зліва направо), а координатою Y виступає номер рядка (нумерація починається з одиниці і йде зверху вниз). При роботі у вікні координати беруться від лівого верхнього кута у вікні. Якщо режим адаптера 25 рядків по 80 позицій, то координати такого вікна (1,1) і (80,25).
Таблиця 16.5. Константи модуля CRT.
Ім’я |
Значення |
Призначення |
|
Коди режимів для процедури Text Mode |
|||
BW40 |
0 |
4025 чорно-білий для кольорового адаптера |
|
BW80 |
2 |
8025 чорно-білий для кольорового адаптера |
|
CO40 |
1 |
4025 кольоровий для кольорового адаптера |
|
CO80 |
3 |
8025 кольоровий для кольорового адаптера |
|
FONT 88 |
256 |
EGA/VGA 43 і 50 рядків |
|
MONO |
7 |
8025 для монохромного адаптера |
|
C40 |
CO40 |
Для сумісності з версією 3.0 |
|
C80 |
CO80 |
Для сумісності з версією 3.0 |
|
Коди кольорів |
|||
Black |
0 |
Чорний |
|
Blue |
1 |
Синій |
|
Green |
2 |
Зелений |
|
Cyan |
3 |
Блакитний |
|
Red |
4 |
Червоний |
|
Magenta |
5 |
Фіолетовий |
|
Brown |
6 |
Коричневий |
|
Light gray |
7 |
Світло-сірий |
|
Dark gray |
8 |
Темно-сірий |
|
Light blue |
9 |
Світло-синій |
|
Light green |
10 |
Світдо-зелений |
|
Light cyan |
11 |
Світло-блакитний |
|
Light red |
12 |
Рожевий |
|
Light magenta |
13 |
Світло-фіолетовий |
|
Yellow |
14 |
Жовтий |
|
White |
15 |
Білий |
|
Blink |
128 |
Мигання символу |
Кольори з кодами від 0 до 7 включно можна використовувати як для символів так і для фону. Інші кольори і код мигання можна використовувати для символів.
Тадлиця 2. Змінні модуля CRT.
Ім’я |
Тип |
Призначення |
Check break |
Boolean |
Дозволення аналізу Ctrl+Break |
Check eof |
Boolean |
Дозволення розміщення кінця файлу |
Check Snow |
Boolean |
Дозволення погашення “снігу” |
Direct video |
Boolean |
Дозволення прямої адресації відеопам’яті |
Last mode |
Word |
Поточний текстовий режим |
Text attr |
Byte |
Поточні атрибути тексту |
Wind min |
Word |
Координати лівого верхнього кута вікна |
Wind max |
word |
Координати правого нижнього кута вікна |
Змінна Check Break керує реакцією програми на комбінацію клавіш Ctrl+Break. Якщо ця змінна рівна true, комбінація Ctrl+Break викликає зупинку роботи програми, в іншому випадку ніякої реакції на цю комбінацію не виникає. Змінна Check Eof керує розміщенням признаку кінця файлу. Якщо ця змінна рівна true, комбінація клавіш Ctrl+Z відмічає у файлі признак кінця файлу, в іншому випадку ця комбінація не має ніякої дії. Змінна Check Snow дозволяє або забороняє (True або False) заглущення “снігу” на екрані. Змінна DirectVideo дозволяє або забороняє безпосередній запис інформації у відеопам’ять. У змінній LastMode знаходиться значення текстового режиму, встановленого процедурою TextMode. Змінна TextAttr містить встановлені атрибути (колір фону і символів) тексту. В змінних WindMin і WindMax знаходяться координати верхнього лівого і правого нижнього кута вікна.