ран зображення зазвичай супроводжуються пояснювальним текстом. У графічних режимах для цього використовуються процедури OutText і OutTextXY. OutText (Textstring: string)
Процедура OutText (Textstring: string) виводить рядок тексту, починаючи з поточного положення СР
Наприклад: OutText ( Bводіте дані: );
Явний недолік цієї процедури - не можна вказати довільну точку початку виведення. Його можна усунути за допомогою MoveTo, але краще скористатися процедурою OutTextXY (X, Y-: integer; TextString: string), де X, Y - координати точки початку виведення тексту, TextString - константа або змінна типу string. Наприклад, щоб вивести повідомлення Для продовження натисніть будь-яку клавішу raquo ;, починаючи з точки 60,100, треба записати:
OutTextXY (60,100, Для продовження натисніть будь-яку клавішу ... );
Висновок чисельних значень
У модулі GRAPH немає процедур, призначених для виведення чисельних даних. Тому для виведення чисельних даних потрібно спочатку перетворити число в рядок за допомогою процедури Str, а потім за допомогою + підключити її до виведеної OutTextXY рядку. Наприклад:
Мах:=34.56;
Str (Мах: 6: 2, Smax); {Результат перетворення знаходиться в Smax}
OutTextXY (4 00,40, Максимум= + Smax); {+ - Конкатенація}
Перетворення цілочисельних і речових типів даних в рядки зручно здійснювати спеціалізованими користувача функціями IntSt і RealSt:
function IntSt (Int: integer): string; {Перетворення цілочисельного значення в рядок. Int - цілочисельне значення} var Buf: s tring [10]; (Int, Buf);:=Buf; RealSt (R: real; Dig, Dec: integer): string;
{Перетворення речового значення в рядок. R - значення, Dig - кількість символів, Dec - кількість символів після коми}
var Buf: string [20]; (R: Dig: Deo, Buf); :=Buf
end;
Ці функції вказуються як параметри в процедурах OutText, OutTextXY і знімають всі проблеми виведення цифрових даних в графічних режимах з будь-якими поясненнями. Наприклад:
X: »5,295643871; OutText ( X « + RealSt (X, 11,9));
В результаті на екрані з'явиться: X=5.295643871
Шрифти
Виведення тексту в графічних режимах може відбуватися найрізноманітнішими стандартними (табл. 1.) і користувацькими шрифтами. Розрізняють два типи шрифтів: растрові і векторні. Растровий шрифт задається матрицею точок, а векторний - поруч векторів, що складають символ. Тому при збільшенні растрового символу ми починаємо розрізняти складові його точки, і якість зображення символу знижується, а при збільшенні векторного символу якість зображення не змінюється. За замовчуванням після ініціалізації графічного режиму встановлюється растровий шрифт DefauWFont, який, як правило, є шрифтом, використовуваним встановленим драйвером клавіатури. Кожен його символ формується в матриці 8x8 біт. Шрифти розміщені в окремих файлах, що мають розширення CHR. Активізація потрібного шрифту здійснюється спеціальною процедурою. Висота і ширина символів кожного шрифту можуть змінюватися за допомогою спеціальних засобів.
Таблиця 2. Стандартні шрифти
ШріфтФайлШріфтФайлTriplexFont SmallFontTRIP.CHR LITT.CHRSansSerifFont GothicFontSANS.CHR GOTH.CHR
Шрифти SmallFont, SansSerifFont, GothicFont є векторними і не містять російських символів, однак можна розробити власні шрифти або міняти окремі символи у вже наявних. Розробка шрифтів - досить складний і трудомісткий процес. Він може бути прискорений і спрощений, якщо скористатися спеціалізованими пакетами TurboFont, BgiToolKit. З їх допомогою можна формувати будь-яку кількість власних З HR-файлів і завантажувати їх за тим же принципом, що і стандартні.
Установка шрифту.
Якісне оформлення екрану вимагає при виведенні тексту використання самих різних шрифтів. Список наявних в Турбо Паскалі шрифтів наведено в табл. 2. Встановити потрібний шрифт можна процедурою
SetTextStyle (Font: word; Direction: word; CharSize: word)
де Font - обраний шрифт, Direction - напрям (горизонтальне або вертикальне), CharSize - розмір виведених символів.
Можливі значення двох перших параметрів представлені в табл. 2. При організації вертикального виведення необхідно враховувати, що, якщо програміст не встановить точку початку виведення за допомогою MoveTo, текст починається з нижнього рядка екрану і продовжується вгору. Величину виведених символів можна встановлювати за допомогою кое...