Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Використання клавіш редагування рядків

Поиск

При вводі інформації за допомогою клавіатури символи, що вводяться, відображаються на екрані, а їх коди передаються в буфер клавіатури для тимчасового зберігання. Процедури Read і ReadLn зчитують інформацію з буферу тільки після натиснення клавіші [Enter]. Поки вона не натиснута, рядок, що вводиться, не рахується введеним і його можна редагувати, використовуючи клавішу [Backspace].

Після підключення модуля Crt, крім [Backspace], з’являється можливість використовувати для редагування рядків ряду додаткових клавіш та їх комбінацій. Всі доступні при вводі рядків клавіші і клавіатурні комбінації для редагування приведені в таблиці

Клавіша призначення
[Backspace] видаляє останній введений символ
[Esc] видаляє всі введені символи
[Enter] завершує ввід рядка і записує ознаку кінця рядка в буфер
[Ctrl+A] виконує ті ж дії, що і[Esc]
[Ctrl+S] виконує ті ж дії, що і [Backspace]
[Ctrl+D] дістає з буфера останній введений символ, але стертий з екрану символ, і виводить його на екран
[Ctrl+F] відновлює на екран весь раніше стертий введений рядок
[Ctrl+Z] завершує ввід рядка і вибирає ознаку кінця файлу, якщо значення змінної CheckEOF модуля Crt рівне True. По замовчуванню воно рівне False.

ВИКОРИСТАННЯ КОМАНДНИХ СИМВОЛІ

При підключенні модуля Crt символи з кодами 0..31, які являються командними, відображаються на екрані у відповідності з таблицею символів ASCII як звичайні символи, без виконання зв’язаних з ними функціями.

ТЕМА: МОДУЛЬ GRAPH

Для створення графічного зображення в мові Turbo Pascal призначений стандартний бібліотечний модуль Graph. Він представляє собою бібліотеку програм, яка повністю забезпечує управління графічними режимами різних адаптерів дисплеїв: CGA, EGA, VGA, MCGA, Hercules, PC 3270, AT&T6300 і IBM 8514. Бібліотека містить близько 80 графічних констант і описаний типів даних.

Підключення модуля Graph до програми здійснюється стандартним способом, тобто за допомогою зарезервованого слова USES:

USES Graph;

Щоб запустити програму, в якій використовуються процедури модуля Graph, необхідно розташувати в робочий каталог відповідні графічні драйвери (файли з розширенням.BGI). якщо ви використовуєте штрихові шрифти, необхідно включити в цей каталог і файли шрифтів (з розширенням.CHR).

Модуль Graph представляє собою окремий файл GRAPH.TPU, який не входить в склад бібліотеки TURBO.TPL, і щоб забезпечити можливість роботи з графікою, потрібно зробити файл GRAPH.TPU доступним для комп’ютера.

ТИПИ ДРАЙВЕРІВ

В представленій нижче таблиці приведені типи графічних адаптерів і назви сумісних з ними драйверів

Драйвер апаратне забезпечення
CGA. BGI адаптери CGA, MCGA
EGAVGA.BGI адаптери EGA, VGA
HERC.BGI монохромний адаптер Hercules
ATT.BGI AT&T 6300 (400 рядків)
PC3270.BGI IBM 3270 PC
IBM8514.BGI IBM 8514

Драйвери представляють собою файли з розширенням.BGI, які забезпечують взаємодію програм з графічними пристроями (згідно стандартам фірми Borland, розширення.BGI повинні мати файли графічного інтерфейсу (Borland Graphic Interface). При ініціалізації визначеного графічного режиму підключається відповідний драйвер. Для забезпечення роботи програми в одному з графічних режимів процедура InitGraph визначає тип адаптера і завантажує відповідний BGI-файл. Процедура CloseGraph слугує для видалення графічного драйвера з пам'яті і відновлення текстового режиму роботи відеоадаптера.

При роботі з графікою в Turbo Pascal є можливість підключати не тільки стандартні, але і драйвери користувача. Останні повинні задовольняти стандарти Borland International. В модулі Graph знаходиться процедура RegisterBGIDriver, яка забезпечує підтримку роботи з драйверами користувача.

ТИПИ ШРИФТІВ

При відображенні тексту на екран дисплея в графічних режимах можуть застосовуватися найрізноманітніші шрифти – як стандартні, так і користувача. По замовчуванню після ініціалізації графічного режиму встановлюється шрифт DefaultFont. Для формування кожного символу шрифту використовується матриця розміром 8х8 бітів.

Шрифт Файл
TriplexFont TRIP.CHR
SmallFont LITT.CHR
SansSerifFont SANS.CHR
GothicFont GOTH.CHR

Стандартний набір шрифтів включає шрифти, приведені в таблиці. Кожному шрифту відповідає файл з розширенням.CHR. активізація потрібного шрифту здійснюється спеціальною процедурою. Висота і ширина символів кожного шрифту може змінюватися за допомогою спеціальних засобів.

ІНІЦІАЛІЗАЦІЯ ГРАФІКИ

Класифікація типів драйверів і відео режимів

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

Нижче приведений список констант для задання типу графічного адаптера. Ці константи визначенні в модулі Graph.

Detect =0 автовизначник
CGA =1 адаптер CGA
MCGA =2 адаптер MCGA
EGA =3 адаптер EGA 256K
EGA64 =4 адаптер EGA 64K
EGAMono =5 EGA з монохромним дисплеєм
IBM8514 =6 адаптер 8514
HercMono =7 адаптер Hercules
ATT400 =8 для ПК AT&T
VGA =9 адаптер VGA
PC3270 =10 адаптер 3270
CurrendDriver =-128 для GetModeRange

Наступна таблиця містить перелік можливих графічних режимів для різноманітних типів відеоадаптерів.

драйвер ім'я константи режиму і її значення розширення екрану (в точках) палітра число відеосторінок
CGA CGAC0=0 CGAC1=1 CGAC2=2 CGAC3=3 CGAHi=4 320x200 320x200 320x200 320x200 640x200 4 кольори 4 кольори 4 кольори 4 кольори 2 кольори  
MCGA MCGAC0=0 MCGAC1=1 MCGAC2=2 MCGAC3=3 MCGAMed=4 MCGHi=5 320x200 320x200 320x200 320x200 640x200 640x480 4 кольори 4 кольори 4 кольори 4 кольори 2 кольори 2 кольори  
EGA EGALo=0 EGAHi=1 640x200 640x350 16 кольорів 16 кольорів  
EGA64 EGA64Lo=0 EGAHi=1 640x200 640x350 16 кольорів 4 кольори  
EGAMono EGAMonoHi=3 640x350 2 кольори 1 (2)
HERC HercMonoHi=0 720x348 2 кольори  
ATT400 ATT400C0=0 ATT400C1=1 ATT4002=2 ATT400C3=3 ATT400Med=4 ATT400Hi=5 320x200 320x200 320x200 320x200 640x200 640x400 4 кольори 4 кольори 4 кольори 4 кольори 2 кольори 2 кольори  
VGA VGALo=0 VGAMed=1 VGAHi=2 640x200 640x350 640x480 16 кольорів 16 кольорів 16 кольорів  
PC3270 PC3270Hi=0 720x350 2 кольори  
IBM8514 IBM8514Lo=0 IBM8514Hi=1 640x480 1024x768 256 кольори 256 кольори  

Ініціалізація і завершення відеорежиму

Процедура ініціалізації InitGraph. Будь-яка програма, призначена для роботи з графікою, обов’язково повинна містити блок викликів процедур ініціалізації графічного режиму і звернення до процедури його завершення. В такому блоці прохолодить ініціалізація графічного режиму, перевіряється правильність ініціалізації і, якщо всі операції пройшли успішно, дозволяється подальша робота програми. Процедура ініціалізації оголошена наступним чином:

InitGraph (VAR GraphDriver: INTEGER; {тип адаптера}

VAR GraphMode: INTEGER; {режим графіки}

VAR DriverPath: STRING); {шлях до драйвера}

Змінні GraphDriver і GraphMode задають драйвер і режим у відповідності з значеннями, приведеними в попередній таблиці.

Наприклад:

GraphDriver: =EGA; GraphMode: =EGAHi;

В якості значень кожного х цих параметрів можна задати як ім'я відповідної зарезервованої константи, так і її значення; обидва параметри можна встановити до виклику процедури InitGraph.

Якщо параметр GraphDriver містить номер конкретного адаптера, то і другий параметр, GraphMode, повинен мати значення режиму, допустимого для цього адаптера. Коли GraphDriver присвоюється значення константи Detect, система переходить в режим автовизначення. Якщо можливе переключення системи в графічний режим, то проходить ініціалізація відповідного BGI-драйвера і вмикається режим з максимальним розширенням для даного типу відеоадаптера. В GraphDriver і GraphMode при цьому процедура поверне автоматично визначені значення цих параметрів чи код помилки.

Таке встановлення параметру GraphDriver рекомендується в тих випадках, коли програма повинна робити на різних комп’ютерах з різними відеоадаптерами. Але цей метод має один суттєвий недолік: оскільки під час виконання програми всі драйвери одночасно повинні знаходитися в пам'яті чи на диску, для великих програм це може привести до зменшення швидкості роботи програми.

Всі решта графічні установки (положення поточного вказівника, палітра, колір, параметри графічного вікна і т. д.) при ініціалізації приймаються по замовчуванню.

Необхідно спеціально відмітити той факт, що Turbo Pascal підтримує графічну плату IBM 8514 – графічну плату з високим розширенням, яка дозволяє отримати розширення до 1024х768 точок і палітру, яка містить 256 відтінків з 256 кольорів. Файл драйвера для цієї графічної плати називається IBM8514.BGI.

Turbo Pascal не може правильно розпізнавати графічну плату IBM 8514 в режимі автовизначення (вона буде розпізнаватися даними алгоритмами як плата VGA). Таким чином, щоб використовувати плату IBM 8514, параметру GraphDriver при виклику InitGraph потрібно присвоїти значення IBM8514 (яке визначене в модулі Graph). При роботі з платою IBM 8514 не слід використовувати з InitGraph процедуру DetectGraph чи константу Detect.

Плата AT&T 400 також розпізнається автоматично. Щоб використовувати відповідний драйвер, необхідно відмітити автовизначення і передати процедурі InitGraph попередньо встановленні значення параметрів GraphDriver і GraphMode.

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

В процесі свого виконання ця процедура, звільняє пам’ять, яка була розділена під драйвери графіки, файли шрифтів і проміжні дані, і відновлює той режим роботи адаптера, в якому він знаходився до виконання ініціалізації системи. Наступні переключення в графічний режим можливі тільки повторної ініціалізації.



Поделиться:


Последнее изменение этой страницы: 2016-09-19; просмотров: 275; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.12.147.137 (0.014 с.)