рефераты конспекты курсовые дипломные лекции шпоры

Реферат Курсовая Конспект

Процедура SetTextStyle

Процедура SetTextStyle - раздел Информатика, Технологии программирования Устанавливает Стиль Текстового Вывода На Графический Экран. Заголовок: ...

Устанавливает стиль текстового вывода на графический экран. Заголовок:

Procedure SetTextStyle(Font,Direct,Size: Word);

Здесь Font – код (номер) шрифта; Direct – код направления; Size – код размера шрифта.

Для указания кода шрифта можно использовать следующие предварительно определенные константы:

const

DefaultFont = 0;{Точечный шрифт 8x8}

TriplexFont = 1;{Утроенный шрифт TRIP.CHR}

SmallFont = 2;{Уменьшенный шрифт LITT.CHR}

SansSerifFont = 3;{Прямой шрифт SANS.CHR}

GothicFont = 4;{Готический шрифт GOTH.CHR}

Заметим, что эти константы определяют все шрифты для версий 4.0, 5.0, 5.5 и 6.0. В версии 7,0 набор шрифтов значительно расширен, однако для новых шрифтов не предусмотрены соответствующие мнемонические константы. В этой версии помимо перечисленных вы можете при обращении к SetTextStyle использовать такие номера шрифтов:

Номер Файл Краткое описание
scri.chr «Рукописный» шрифт
simp.chr Одноштриховый шрифт типа Courier
tscr.chr Красивый наклонный шрифт типа Times Italic
Icom.chr Шрифт типа Times Roman
euro . chr Шрифт типа Courier увеличенного размера
bold.chr Крупный двухштриховый шрифт

Шрифт DefaultFont входит в модуль Graph и доступен в любой момент. Это – единственный матричный шрифт, т.е. его символы создаются из матриц 8x8 пикселей. Все остальные шрифты – векторные: их элементы формируются как совокупность векторов (штрихов), характеризующихся направлением и размером. Векторные шрифты отличаются более богатыми изобразительными возможностями, но главная их особенность заключается в легкости изменения размеров без существенного ухудшения качества изображения. Каждый из этих шрифтов размещается в отдельном дисковом файле. Если вы собираетесь использовать какой-либо векторный шрифт, соответствующий файл должен находиться в вашем каталоге, в противном случае вызов этого шрифта игнорируется и подключается стандартный.

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

Для задания направления выдачи текста можно использовать константы:

const

HorizDir = 0;{Слева направо}

VertDir = 1;{Снизу вверх}

Как видим, стандартные процедуры OutText и OutTextXY способны выводить сообщения лишь в двух возможных направлениях – слева направо или снизу вверх. Зная структуру векторных шрифтов, нетрудно построить собственные процедуры вывода, способные выводить сообщения в любом направлении.

Каждый шрифт способен десятикратно изменять свои размеры. Размер выводимых символов кодируется параметром Size, который может иметь значение в диапазоне от 1 до 10 (точечный шрифт – в диапазоне от 1 до 32). Если значение параметра равно 0. устанавливается размер 1, если больше 10 – размер 10. Минимальный размер шрифта. при котором еще отчетливо различаются все его детали, равен 4 (для точечного шрифта – 1).

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

Uses Graph, CRT;

const

FontNames: array [1..10] of String[4] =

( 'TRIP' , 'LITT'' SANS ' , ' GOTH ' , 'SCRI ' , ' SIMP ' ,'TSCR ' , ' LOOM ' , ' EURO',' BOLD ' );

Tabl = 50;

Tab2 = 150;

Tab3 =220;

var

d, r, Err,{Переменные для инициации графики}

Y,dY,{Ордината вывода и ее приращение}

Size,{Размер символов}

MaxFont,{Максимальный номер шрифта}

k: Integer;{Номер шрифта}

NT, SizeT, SynibT: String;{Строки вывода}

c: Char;

{-------------------}

Procedure OutTextWithTab ( S1, S2, S3, S4: String);

{Выводит строки S1..S4 с учетом позиций табуляции Таb1..ТаbЗ}

begin

MoveTo( (Tab1-TextWidth(Sl) ) div2,Y);

OutText (S1) ;

MoveTo(Tabl+(Tab2-Tabl-TextWidth(S2)) div2,Y);

OutText (S2) ;

MoveTo(Tab2+(Tab3-Tab2-TextWidth(S3)) div 2,Y);

OutText(S3);

if S4='Symbols' then {Заголовок колонки Symbols}

MoveTo((Tab3+GetMaxX-TextWidth(S4)) div 2,Y)

else {Остальные строки}

MoveTo(Tab3+3,Y);

OutText(S4)

end;

{------------}

begin

{Инициируем графику}

InitGraph(d,r, ' ');

Err := GraphResult; if ErrogrOk then

WriteLn(GraphErrorMsg(Err))

else

begin

{Определяем количество шрифтов:}

{$IFDEF VER70'}

MaxFont := 10; .

{$ELSE}

MaxFont := 4;

{$ENDIF}

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,ТаЬЗ,GetMaxY);

{Ждем инициативы пользователя}

ReadLn;

CloseGraph

end

end.

– Конец работы –

Эта тема принадлежит разделу:

Технологии программирования

Красноярский государственный аграрный университет...

Если Вам нужно дополнительный материал на эту тему, или Вы не нашли то, что искали, рекомендуем воспользоваться поиском по нашей базе работ: Процедура SetTextStyle

Что будем делать с полученным материалом:

Если этот материал оказался полезным ля Вас, Вы можете сохранить его на свою страничку в социальных сетях:

Все темы данного раздела:

Учебно-методическое пособие к учебной практике
для студентов специальности (направления) 010502.65 – «Прикладная информатика (в экономике)», 080700.62 – «Бизнес - информатика»     Красноярск

Цель и задачи практики
  Учебная практика по технологиям программирования является а) логическим продолжением дисциплин «Информатика и программирование» и «Вычислительные системы, сети и телекоммун

Организация проведения практики
  Учебная практика по технологиям программирования проводится после сдачи летней сессии первого курса (второго семестра). По ее окончании студенты, успешно выполнившие программу практ

Основные требования к оформлению отчета
  Отчет оформляется на листах белой бумаги формата А4 (210х297 мм) с одной стороны. Шрифт: Times New Roman 14 – 16 (в схемах алгоритмов допускается использование более мелких шрифтов,

Структура модулей
Модуль имеет следующую структуру: UNIT <имя>; INTERFACE <интерфейсная часть> IMPLEMENTATION <исполняемая часть> BEGIN

Заголовок модуля и связь модулей друг с другом
Заголовок модуля состоит из зарезервированного слова UNIT и следующего за ним имени модуля. Для правильной работы среды Турбо Паскаля и возможности подключения средств, облегчающих разработку крупн

Компиляция модулей
В среде Турбо Паскаля имеются средства, управляющие способом компиляции модулей и облегчающие разработку крупных программных проектов. В частности, определены три режима компиляции: COMPILE, MAKE и

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

Стандартные модули
В Турбо Паскале имеется восемь стандартных модулей, в которых содержится большое число разнообразных типов, констант, процедур и функций [1-3, 5]. Этими модулями являются SYSTEM, DOS, CRT, PRINTER,

Использование библиотеки CRT
  Во многих случаях стандартные для Паскаля возможности ввода/вывода данных с помощью процедур Read, ReadLn, Write, WriteLn оказываются явно недостаточными для разработки удобных в ис

Функция KeyPressed
Возвращает значение типа Boolean, указывающее состояние буфера клавиатуры: False означает, что буфер пуст, a True – что в буфере есть хотя бы один символ, еще не прочитанный программой. В

Функция ReadKey
Возвращает значение типа Char. При обращении к этой функции анализируется буфер клавиатуры: если в нем есть хотя бы один непрочитанный символ, код этого символа берется из буфера и возвращается в к

Текстовый вывод на экран
Используемое в ПК устройство визуального отображения информации – дисплей – состоит из двух основных частей: монитора, содержащего экран (электронно-лучевую трубку или жидкокристаллическую панель)

Процедура TextMode
Используется для задания одного из возможных текстовых режимов работы адаптера. Заголовок процедуры: Procedure TextMode(Mode: Word); Здесь Mode – код текстового режима. В качестве

Процедура TextBackground
Определяет цвет фона. Заголовок: Procedure TextBackground(Color: Byte); Единственным параметром обращения к этим процедурам должно быть выражение типа Byte, задающее код нужного ц

Процедура ClrScr
Очищает экран или окно (см. ниже процедуру Window). После обращения к ней экран (окно) заполняется цветом фона и курсор устанавливается в его левый верхний угол. Например: Uses CRT;

Процедура Window
Определяет текстовое окно – область экрана, которая в дальнейшем будет рассматриваться процедурами вывода как весь экран. Сразу после вызова процедуры курсор помещается в левый верхний угол окна, а

Функции WhereX и WhereY
С помощью этих функций типа Byte можно определить текущие координаты курсора: WhereX возвращает его горизонтальную, a WhereY – вертикальную координаты. В следующей программе сначала в цент

Процедура AssignCRT
Связывает текстовую файловую переменную F с экраном с помощью непосредственного обращения к видеопамяти (т.е. к памяти, используемой адаптером для создания изображения на экране). В результате выво

Процедура Delay
Обеспечивает задержку работы программы на заданный интервал времени. Заголовок процедуры: Procedure Delay(T: Word); Здесь Т – выражение типа Word, определяющее интервал времени (в

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

Процедура InitGraph
Инициирует графический режим работы адаптера. Заголовок процедуры: Procedure InitGraph(var Driver,Mode: Integer; Path: String); Здесь Driver – переменная типа Integer, определяет

Функция GraphResult
Возвращает значение типа Integer, в котором закодирован результат последнего обращения к графическим процедурам. Если ошибка не обнаружена, значением функции будет ноль, в противном случае – отрица

Функция GraphErrorMsg
Возвращает значение типа String, в котором по указанному коду ошибки дается соответствующее текстовое сообщение. Заголовок функции: Function GraphErrorMsg(Code: Integer): String;

Процедура SetGraphMode
Устанавливает новый графический режим работы адаптера. Заголовок: Procedure SetGraphMode(Mode: Integer); Здесь Mode – код устанавливаемого режима. Следующая программа илл

Функция GetModeName
Возвращает значение типа String, содержащее разрешение экрана и имя режима работы адаптера по его номеру. Заголовок: Function GetModName(ModNumber: Integer): String; Здесь ModNumb

Процедура GetModeRange
Возвращает диапазон возможных режимов работы заданного графического адаптера. Заголовок: Procedure GetModeRange(Drv: Integer; var Min, Max: Integer); Здесь Drv – тип адаптера; Min

Процедура SetViewPort
Устанавливает прямоугольное окно на графическом экране. Заголовок: Procedure SetViewPort(XI,Y1,X2,Y2: Integer; ClipOn: Boolean); Здесь X1...Y2 – координаты левого верхнего (XI,Y1)

Процедура ClearViewPort
Очищает графическое окно, а если окно не определено к этому моменту - весь экран. При очистке окно заполняется цветом с номером О из текущей палитры. Указатель перемещается в левый верхний угол окн

Процедура GetAspectRatio
Возвращает два числа, позволяющие оценить соотношение сторон экрана. Заголовок: Procedure GetAspectRatio(var X,Y: Word); Здесь X, Y – переменные типа Word. Значения, возвращаемые

Процедура SetAspectRatio
Устанавливает масштабный коэффициент отношения сторон графического экрана. Заголовок: Procedure SetAspectRatio(X,Y: Word); Здесь X, Y- устанавливаемые соотношения сторон.

Процедура SetActivePage
Делает активной указанную страницу видеопамяти. Заголовок: Procedure SetActivePage(PageNum: Word); Здесь PageNum – номер страницы. Процедура может использоваться только с

Процедура SetVisualPage
Делает видимой страницу с указанным номером. Обращение: Procedure SetVisualPAge(PageNum: Word); Здесь PageNum – номер страницы. Процедура может использоваться только с ад

Процедура PutPixel
Выводит заданным цветом точку по указанным координатам. Заголовок: Procedure PutPixel(X,Y: Integer; Color: Word); Здесь X, Y– координаты точки; Color – цвет точки. Коорди

Процедура Line
Вычерчивает линию с указанными координатами начала и конца. Заголовок: Procedure Line(X1,Y1,X2,Y2: Integer); Здесь XL. .Yl – координаты начала (XI, Y1) и конца (Х2, Y2) линии.

Процедура SetLineStyle
Устанавливает новый стиль вычерчиваемых линий. Заголовок: Procedure SetLineStyle(Type,Pattern,Thick: Word) Здесь Type, Pattern, Thick – соответственно тип, образец и толщина линии

Процедура SetWriteMode
Устанавливает способ взаимодействия вновь выводимых линий с уже существующим на экране изображением. Заголовок: Procedure SetWriteMode(Mode); Здесь Mode – выражение типа Integer,

Процедура Rectangle
Вычерчивает прямоугольник с указанными координатами углов. Заголовок: Procedure Rectangle(X1,Y1,X2,Y2: Integer); Здесь X1... Y2 – координаты левого верхнего (X1, Y1) и правого ниж

Процедура DrawPoly
Вычерчивает произвольную ломаную линию, заданную координатами точек излома. Procedure DrawPoly(N: Word; var Points) Здесь N – количество точек излома, включая обе крайние точки; P

Процедура Circle
Вычерчивает окружность. Заголовок: Procedure Circle(X,Y: Integer; R: Word); ЗдесьX, Y– координаты центра; R – радиус в пикселях. Окружность выводится текущим цветом. Толщ

Процедура Arc
Чертит дугу окружности. Заголовок: Procedure Arc(X,Y: Integer; BegA,EndA,R: Word); Здесь X, Y – координаты центра; BegA, EndA – соответственно начальный и конечный углы дуги; R –

Процедура GetArcCoords
Возвращает координаты трех точек: центра, начала и конца дуги. Заголовок: Procedure GetArcCoords(var Coords: ArcCoordsType); Здесь Coords – переменная типа ArcCoordsType, в которо

Процедура Ellipse
Вычерчивает эллипсную дугу. Заголовок: Procedure Ellipse(X,Y: Integer; BegA,EndA,RX,RY: Word); Здесь X, Y – координаты центра; BegA, EndA – соответственно начальный и конечный угл

Процедура SetBkColor
Устанавливает цвет фона. Заголовок: Procedure SetBkColor(Color: Word); Здесь Color – цвет фона. В отличие от текстового режима, в котором цвет фона может быть только темн

Процедура SetPalette
Заменяет один из цветов палитры на новый цвет. Заголовок: Procedure SetPalette(N: Word; Color: Shortlnt); Здесь N – номер цвета в палитре; Color – номер вновь устанавливаемого цве

Процедура GetPalette
Возвращает размер и цвета текущей палитры. Заголовок: Procedure GetPalette(var Palettelnfo: PaletteType); Здесь Palettelnfo – переменная типа PaletteType, возвращающая размер и цв

Процедура SetAllPalette
Изменяет одновременно несколько цветов палитры. Заголовок процедуры: Procedure SetAllPalette(var Palette); Параметр Palette в заголовке процедуры описан как нетипизированный парам

Процедура SetFillStyle
Устанавливает стиль (тип и цвет) заполнения. Заголовок: Procedure SetFillStyle(Fill,Color: Word); Здесь Fill – тип заполнения; Color – цвет заполнения. С помощью заполнен

Процедура SetFillPattern
Устанавливает образец рисунка и цвет штриховки. Заголовок: Procedure SetFillPattern(Pattern: FillPatternType;Color: Word); Здесь Pattern – выражение типа FillPatternType; устанавл

Процедура GetFillSettings
Возвращает текущий стиль заполнения. Заголовок: Procedure GetFillSettings(var Pattlnfo: FillSettingsType); Здесь Pattlnfo – переменная типа FillSettingsType, в которой возвращаетс

Процедура SetRGBPalette
Устанавливает цветовую гамму при работе с дисплеем IBM 8514 и адаптером VGA. Заголовок: Procedure SetRGBPalette(ColNum, RedVal,GreenVal,BlueVal:Integer); Здесь ColNum – н

Процедура FloodFill
Заполняет произвольную замкнутую фигуру, используя текущий стиль заполнения (узор и цвет). Заголовок: Procedure FloodFill(X,Y: Integer; Border: Word); Здесь X, Y – координаты любо

Процедура Bar
Заполняет прямоугольную область экрана. Заголовок: Procedure Bar(X1,Y1,X2,Y2: Integer); Здесь XJ...Y2 – координаты левого верхнего (X1, Y1) и правого нижнего (Х2, Y2) углов закраш

Процедура Ваr3D
Вычерчивает трехмерное изображение параллелепипеда и закрашивает его переднюю грань . Заголовок: Procedure Ваr3D (X1,Y1,X2,Y2,Depth: Integer; Top: Boolean); Здесь X1... Y2 – коорд

Процедура FillPoly
Обводит линией и закрашивает замкнутый многоугольник. Заголовок: Procedure FillPoly(N: Word; var Coords); Здесь N – количество вершин замкнутого многоугольника; Coords – переменна

Процедура Sector
Вычерчивает и заполняет эллипсный сектор. Заголовок: Procedure Sector(X,Y: Integer; BegA,EndA,RX,RY: Word); Здесь BegA, EndA – соответственно начальный и конечный углы эллипсного сектора.

Процедура PieSlice
Вычерчивает и заполняет сектор окружности. Заголовок: Procedure PieSlice(X,Y: Integer; BegA,EndA,R: Word); В отличие от процедуры Sector, указывается лишь один горизонтальный ради

Процедура PutImage
Выводит в заданное место экрана копию фрагмента изображения, ранее помещенную в память процедурой Getlmage. Заголовок: Procedure Putlmage(X,Y: Integer; var Buf; Mode: Word); Здесь

Вывод текста
Описываемые ниже стандартные процедуры и функции поддерживают вывод текстовых сообщений в графическом режиме. Это не одно и то же, что использование процедур Write или WriteLn. Дело в том, что спец

Процедура OutText
Выводит текстовую строку, начиная с текущего положения указателя. Заголовок: Procedure OutText(Txt: String); Здесь Txt – выводимая строка. При горизонтальном направлении

Процедура SetTextJustify
Задает выравнивание выводимого текста по отношению к текущему положению указателя или к заданным координатам. Заголовок: Procedure SetTextJustify(Horiz,Vert: Word); Здесь Horiz –

Процедура SetUserCharSize
Изменяет размер выводимых символов в соответствии с заданными пропорциями. Заголовок: Procedure SetUserCharSize(XI,X2,Yl,Y2: Word); Здесь X1...Y2 – выражения типа Word, определяющ

Процедура GetTextSettings
Возвращает текущий стиль и выравнивание текста. Заголовок: Procedure GetTextSettins(var Textlnfo: TextSettingsType); Здесь Textlnfo – переменная типа TextSettingsType, который в м

Функция InstallUserFont
Позволяет программе использовать нестандартный векторный шрифт. Заголовок функции: Function InstallUserFont(FileName: String): Integer; Здесь FileName – имя файла, содержащего век

Функция InstallUserDriver
Включает нестандартный графический драйвер в систему BGI-драйверов. Заголовок функции: Function InstallUserDriver(FileName: String; AutoDetectPtr: Pointer): Integer; Здесь FileNam

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

Глоссарий
  Видеоадаптер (или видеокарта) – это специальное устройство, позволяющее выводить изображение на экран монитора. Видеокарта состоит из следующих частей: видеопамять,

Отчет по учебной практике
«Технологии программирования»     Выполнил(а) студент(ка) группы _____ _(Фамилия, имя, отчество)_ «___

ПРАВИЛА ВЫПОЛНЕНИЯ СХЕМ
1.1. При выполнении схем алгоритмов и программ отдельные функции алгоритмов и программ, с учетом степени их детализации, отображаются в виде условных графических обозначений – символов по ГОСТ 19.0

ПРАВИЛА ПРИМЕНЕНИЯ СИМВОЛОВ
2.1. Применения символов должно соответствовать указанному в таблице.     Фрагмент схемы Содержание обозначения

ГОСУДАРСТВЕННЫЙ СТАНДАРТ СОЮЗА ССР
Единая система программной документации ГОСТ 19.003-80 Взамен ГОСТ 19428-74   СХЕМЫ АЛГОРИТМОВ И ПРОГРАММ. ОБОЗНАЧ

ПЕРЕЧЕНЬ, НАИМЕНОВАНИЕ, ОБОЗНАЧЕНИЕ СИМВОЛОВ И ОТОБРАЖАЕМЫЕ ИМИ ФУНКЦИИ
1.1. Перечень, наименование, обозначение и размеры обязательных символов и отображаемые ими функции в алгоритме и программе обработки данных должны соответствовать указанным в таблице 1. Т

СООТНОШЕНИЕ ГЕОМЕТРИЧЕСКИХ ЭЛЕМЕНТОВ СИМВОЛОВ
2.1. Размер a должен выбираться из ряда 10, 15, 20 мм. Допускается увеличивать размер a на число, кратное 5. Размер b равен 1,5a. Примечание. При ручном выполнении схем ал

СИМВОЛЫ, ВЫПОЛНЕННЫЕ С ПОМОЩЬЮ ПЕЧАТАЮЩИХ УСТРОЙСТВ
Наименование Обозначение 1. Процесс

Хотите получать на электронную почту самые свежие новости?
Education Insider Sample
Подпишитесь на Нашу рассылку
Наша политика приватности обеспечивает 100% безопасность и анонимность Ваших E-Mail
Реклама
Соответствующий теме материал
  • Похожее
  • Популярное
  • Облако тегов
  • Здесь
  • Временно
  • Пусто
Теги