Вывод текста
SetTextStyle(l,0.4); Y: = 0; OutTextWi thTab('N','Name',Size','Symbols'); {Определяем высоту Y линии заголовка} Y: = 4*TextHeight('Z') div3; Line(0,Y,GetMaxX,Y); {Определяем начало Y таблицы и высоту dY каждой строки} Y: = 3*TextHeight('Z') div 2; dY: = (GetMaxY-Y) div (MaxFont); {Готовим строку символов} SymbT: = ''; for с: = 'a' to 'z' do SymbT: = SymbT+c; {Цикл вывода строк таблицы} for k: = 1 to MaxFont do begin Size: = 0; {Увеличиваем размер до тех пор, пока высота строки не станет приблизительно равна dY} repeat inc(Size); SetTextStyle(k,0,Size+1); until (TextHeight('Z')>=dY) or (Size=10) or (Textwidth(FontNames[k])>(Tab2-Tab1)); {Готовим номер NT и размер SizeT шрифта} Str(k,NT); Str(Size,SizeT); {Выводим строку таблицы} SetTextStyle(k,HorizDir,Size); OutTextWithTab(NT,FontNames[k],SizeT,SymbT); inc(Y,dY) end; {Рисуем линии рамки} Rectangle(0.0,GetMaxX,GetMaxY); Line(Tab1.0,Tabl,GetMaxY); Line(Tab2.0,Tab2,GetMaxY); Line(Tab3.0,TabЗ,GetMaxY); {Ждем инициативы пользователя} ReadLn; CloseGraph end end.
Процедура SetTextJustify
Задает выравнивание выводимого текста по отношению к текущему положению указателя или к заданным координатам. Заголовок:
Procedure SetTextJustify(Horiz,Vert: Word);
Здесь:
- Horiz – горизонтальное выравнивание;
- Vert – вертикальное выравнивание.
Выравнивание определяет как будет размещаться текст – левее или правее указанного места, выше, ниже или по центру. Здесь можно использовать такие константы:
const LeftText = 0;{Указатель слева от текста} CenterText= 1;{Симметрично слева и справа,верху и снизу} RightText = 2;{Указатель справа от текста} BottomText= 0;{Указатель снизу от текста} TopText = 2;{Указатель сверху от текста}
Обратите внимание на неудачные, с моей точки зрения, имена мнемонических констант: если, например, Вы зададите LeftText, что в переводе означает "Левый Текст", сообщение будет расположено справа от текущего положения указателя (при выводе процедурой OutTextXY – справа от заданных координат). Также "наоборот" трактуются и остальные константы.