trains_hr.gif
 


В ПОМОЩЬ СТУДЕНТУ И ШКОЛЬНИКУ

 


Горбачев Л.И. Основы программирования в среде Turbo Pascal.

[НАЗАД]  [ДАЛЕЕ]

5. Вывод текстовой информации.

   В графическом режиме вывод текстовой информации осуществляется с помощью штриховых и побитных шрифтов. Каждый символ в штриховом шрифте определен серией отрезков, что позволяет использовать любой коэффициент увеличения символов без ухудшения качества изображения. Побитовый шрифт определен матрицей 8х8 пикселей для каждого символа. Для увеличения побитового шрифта используется коэффициент масштабирования, однако большое увеличение шрифта делает его грубым.

   Каждый шрифт хранится в соответствующем файле с расширением CHR. При использовании шрифтов они автоматически загружаются с диска (шрифт может быть подсоединен к загрузочному модулю).

   Вывод текстовой информации в графическом режиме осуществляется с помощью следующих процедур модуля Graph:

  • OutText(TextString: string); - вызывает вывод строки TextString, начиная с позиции текущего указателя.
  • OutTextXY(X, Y: integer; TextString: string); - выводит строку, начиная с точки, имеющей координаты (X, Y).
  • SetTextStyle(Font,Direction: word; CharSize: word); - устанавливает текущий шрифт, тип и коэффициент увеличения символов. CharSize задает следующий коэффициент увеличения символов: если CharSize = 1, то шрифт не увеличивается; если CharSize = 2, то размер символов увеличивается в два раза по вертикали и горизонтали и т.д. Direction - задает направление вывода (HorizDir - горизонтальное, слева направо; VertDir - вертикальное, снизу вверх). Font - задает тип устанавливаемого шрифта.
  • SetTextJustify(Horiz, Vert: word); - устанавливает значение выравнивания текста. Для установки значения выравнивания определены следующие константы:

    Горизонтальное выравнивание Вертикальное выравнивание
    Константа Значение Константа Значение
    LeftText - слева 0 BottomText - снизу 0
    CenterText - центр 1 CenterText - центр 1
    RightText - справа 2 TopText - сверху 2

    По умолчанию используется SetTextJustify(LeftText,TopText).

       Кроме перечисленных констант и их значений выравнивание текста может быть задано в абсолютных координатах. Например, SetTextJustify(100,100) обеспечивает выравнивание текста относительно точки с координатами (100,100).

  • GetTextSettings(var TextInfo: TextSettingsType); - возвращает значения параметров текущего шрифта (направление, размер, выравнивание и пр.). Эти параметры объединены в запись типа TextSettingsType, описанную в разделе интерфейса модуля Graph как
    type TextSettingsType = record
    Font: word;
    Direction: word;
    CharSize: word;
    Horiz: word;
    Vert: word;
    end;
    Значения отдельных полей записи TextSettingsType определяются на основании следующего списка констант в разделе интерфейса модуля Graph:
    const DefaultFont = 0; {файл 8х8}
    TriplexFont = 1; {тройной шрифт}
    SmallFont = 2; {малый шрифт}
    SansSerifFont = 3; {гротесковый шрифт}
    GothicFont = 4; {готический шрифт}
    HorizDir = 0; {направление слева направо}
    VertDir = 1; {направление снизу вверх}
  • SetUserGharSize(MultX, DivX, MultY, DivY: word); - изменяет ширину и высоту символов для штриховых шрифтов.
  • TextHeight(TextString: string): word; - возвращает высоту строки в пикселях.
  • TextWidth(TextString: string): word; - возвращает длину строки в пикселях.
  • RegisterBGIFont(Font: pointer): integer; - совмещает загружаемый шрифт с графической системой.
Пример: Пример использования TextHeight
[program TextHeight]

Пример: Пример использования GetTextSettings
[program GTSet]

Пример: Демонстрация использования CHR - шрифтов;
- используется процедура InstallUserFont;
- шрифт должен находится в том же каталоге, что и исполняемый модуль;
- шрифт в модуль не включается.
[program CHRFont]

[НАЗАД]  [ДАЛЕЕ]


Главная
Новости
TurboPascal
Учебное пособие
Лекции
Исходники
Математика
Книги
Лекции
Шпоры
ЦТ и ЕГЭ
Физика

Книги

Шпоры
ЦТ и ЕГЭ

Литература

Сочинения

Краткие содержания

Другое
Мой родной край
Фотогалерея
Форум
Ссылки

Гостевая






 

                                        © Copyright(c) 2004 Amro Group. All rights reserved

 

Hosted by uCoz