68914

Вывод текста

Лекция

Информатика, кибернетика и программирование

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

Русский

2014-09-27

54 KB

0 чел.

Лекция 2

Вывод текста

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

Выбор шрифта и стиля.

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

Для обозначения  этих шрифтов введены константы:

 Const 

DefaultFont=0;                 {матричный шрифт 8*8–устанавливается по               умолчанию для текстового и графического режимов}

         {штриховые шрифты устанавливаются векторным способом}

TriplexFont=1;                {полужирный шрифт}

SmallFont=2;                   { светлый шрифт (тонкое начертание})

SansSerifFont=3;           {книжная гарнитура}

GethicFont=4;                 {готический шрифт}

Активизация любого из названых шрифтов осуществляется процедурой

     SetTextStyle(Font, Direction,CharSize:Word)

Здесь параметр Fontномер шрифта,

Direction–расположение текста(по умолчанию горизонтальное).

Возможны две ориентации текста:

Const

, равное

      HorizDir=0;    {горизонтальная ориентация, слева направо}

      VertDir=1;      {вертикальная ориентация, снизу вверх}

При значении Direction,  равном VertDir , все символы будут повернуты против часовой стрелки на 90 градусов и выводятся снизу вверх.

Размер символа устанавливается параметром CharSize, диапазон изменения которого составляет   от1 до 10.

Регистрация  новых штриховых шрифтов.

Модуль Graph предоставляет возможность использовать новые шрифты, не имеющие идентификаторов в системе – главное, чтобы файл шрифтов был в формате фирмы Borland. Пользуясь функцией:

InstallUserFont (FontFileName  :  String ) : Integer

можно установить соответствие между именем штрихового файла (FontFileName)  и его регистрационным номером в системе. После этого можно выбрать этот шрифт процедурой SetTextStyle, указав первым параметром номер нового шрифта.

Непосредственный вывод строк.

 

Для вывода текста существуют процедуры:

  OutText(Text:String)

выводит строку Text, начиная с текущей позиции курсора,

  OutTextXY(x,y:integer; Text:String)

выводит строку,  ориентированную относительно координат  ( Х,Y).

Например

     OutText(`Borland Pascal`);

Например

    Const

            C:string=`график функции y=sinx`;

. . .   

 OutTextXY(200,300,C);

. . .

Шрифт предварительно может быть  установлен процедурой SetTextStyle.

Например

   OutTextStyle(100,100,`горизонтальная строка`);

SetTextStyle(3,0,1);          {горизонтальная строка}

OutTextXY(100,200,`книжная гарнитура`);

SetTextStyle(4,1,5);       {вертикальная строка}

OutTextXY(100,300,`готический шрифт`);

Вся числовая информация должна предварительно преобразовываться в строковую (процедуру Str).

Например, в переменных  x , y  находится  числовая информация , для вывода ее на экран необходимо преобразовать их в строковые переменные соответственно Sx  и  Sy.

  Var

         SX,SY:String;

        x,y:real;

        gd,gm:integer;

    Begin

gd:=0;

InitGraph(gd.gm,'G:\');

     x:=24.7;    y:=5.8;

   Str(x,SX);

   Str(y,SY);

   OutText(100,100,`x=`+SX);

   OutText(200,200,`y=`+SY);

Readln;

CloseGraph;

End.

Размер букв и масштабирование штриховых шрифтов.

Определение размера букв и строк

В некоторых задачах возникает необходимость определить ширину и высоту выводимых строк или букв в пикселях, для этой цели существуют функции:

TextHeight(TextString:String):Word

          TextWidth(TextString:String):Word

Эти функции возвращают высоту и ширину строки TextString в пикселях.

Например

Const

        My.Str=`Grafika`;

Var

    X,y,xx,yy:Word;

     …

     

    y:=TextHeight(my_Str);

    x:=TextWidth(my_Str);

    xx:=TextHeight(`D`);

     yy:=TextWidth(`D`);

Масштабирование штриховых шрифтов.

Размер букв (высота и ширина) штриховых шрифтов может задаваться процедурой

SetUserCharSize(x,dx,y,dy:Word).

Она меняет размер шрифта, установленный в SetTextStyle.

Отношение x/dx задает масштабирование ширины вычерчиваемого шрифта, а отношение y/dy выражает масштаб изменения высоты шрифта.

Например, задание параметров x=3 и dx=1, говорит о том, что буквы выводимого штрихового шрифта будут в 3 раза шире нормы.

SetTextStyle(SansSerif, HorizDir,4);{4–нормальный размер}

OutText(`Нормальный размер`);

SetUserSize(3,1,1,1);

OutTextXY(50,100,`Текст увеличен по ширине`);

SetUserSize(1,1,1,2);

OutTextXy(50,200,`Текст уменьшен по высоте`);

Опрос стиля или ориентации шрифтов.

Полную информацию о текущем режиме выводимого текста можно получить, используя  процедуру

          GetTextSettings(Var Settings:TextSettingsType).

В параметре Settings она возвращает исчерпывающую информацию обо всем, что относится к выводу строк.

Тип этого параметра предопределен в модуле Graph :

   Type

         TextSettingsType=record

         Font;                  {номер шрифта}

         Direction;          {направление}

         CharSize;          {размер шрифта}

          Horiz;               {ориентация по х}

          Vert:Word;       {ориентация по y}

                                        End;

Выравнивание текста

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

Ориентиров кастроки относительно текущей позиции курсора.

задается процедурой:

  SetTextJustify(Horizontal,Vertical:Word).

Параметры этой процедуры могут принимать  одно из трех  объявленных в модуле Graph значений:

Const

              {Для  горизонтального ориентирования (Horizontal )}

LeftText=0;     {координата X задает левый край строки}

CenterText=1;   {координата X задает середину строки}

RightText=2;    {координата X задает правый край строки}

              {Для  вертикального ориентирования (Vertical )}

BottomText=0;   {координата Yзадает нижний край строки}

CenterText=1;     {координата Y задает середину строки}

TopText=2;        {координата Y задает верхний край строки}

Например, вывести на экран  xn     и   x2.

               X n

 SetTextStyle(0,0,2); {горизонтально-матричное увеличение в 2  раза}                       SetTextJustify(1,1);    {ориентация по центру строки}

OutTextXY(100,100,`x`);

 SetTextJustify(1,0);        {x–центр,y–нижний край}

OutTextXY(115,100,`r`);

             X2

SetTextStyle(0,0,2);{горизонтально-матричное увеличение в 2  раза}

SetTextJustify(1,1);         {центрирование по x и y}

OutTextXY(200,100,`x`);  {x–центр,y–верхний край строки}

OutTextXy(215,100,`2`);


 

А также другие работы, которые могут Вас заинтересовать

43770. Рентабельность перевозок ООО «Тир Транс» 324.85 KB
  Из приведенной формулы следует что рентабельность перевозок зависит от изменения двух факторов: реализации на рубль производственных фондов; прибыли на рубль реализации. Изменение рентабельности за счет влияния фондоотдачи с одного рубля производственных фондов равно: Δ Rпд = РП1 ОФ1 МС1БП0 РП0 – РП0 ОФ0 МС0БП0 РП06 Изменение рентабельности производственной деятельности за счет влияния уровня рентабельности реализованной продукции равно: Δ Rпд = РП1 ОФ1 МС1БП1 РП1 – РП1 ОФ1 МС1БП0 РП07 Необходимо отметить...
43771. Технология и организация приготовление банкетных горячих блюд из баранины 426.87 KB
  Сначала мясо ели сырым потом начали жарить на огне варить тушить. С тех давних времен изменились не только рецепты и технологии приготовления мясных блюд и изделий изменилось само мясо. Мясо является важным источником энергии в питании человека. Также мясо содержит биологически активные вещества витамины гормоны ферменты и вещества не используемые организмом в процессах жизнедеятельности так называемые неалиментарные вещества.
43772. Создание библиотеки строительных элементов для САПР учебного процесса ГБОУ СПО НСО «НППК» 7.29 MB
  Разработке проекта предшествует анализ проектной ситуации, включающий изучение исходных условий проектирования – социально экономических и технических требований, градостроительного и природного окружения, природно-климатических и гидрогеологических характеристик местности.
43773. Строительство малоэтажного жилого одноквартирного дома в городе Иваново 1.9 MB
  В конструктивном отношении здание решено как бескаркасное с продольными и поперечными несущими стенами, выполненными из керамзитобетонных блоков с шагом продольных стен 2,55 м. Пространственная жесткость и устойчивость здания обеспечивается сопряжением наружных стен с внутренними, с настилами перекрытия, опирающимися на эти стены и крепящимися к ним с помощью арматурных анкеров.
43774. Свадебный обряд мордовского народа как источник творчества художников Мордовии 62.64 KB
  Собиратель сообщает ценные сведения о роли родни при соглашении между родителями жениха и невесты дает любопытные подробности участия братьев в прощальных церемониях невесты и символическом выкупе ее у родни жениха а так же в целом ряде пережиточных обрядов связанных с обычаем умыкания Большая статья священника А. А иногда и отдельная деревня имеет свои особенности как в обрядах так и в причитаниях невесты.
43775. Техническое обслуживание и ремонт медицинской аппаратуры 217.01 KB
  Сопротивление определяется по падению напряжения между указанными точками. Однако целесообразнее применить известные схемотехнические решения которые позволяют получить разно полярные выходные напряжения с одним трансформатором. Источник питания формирует два выходных напряжения значение которых равны 15В но одно положительно относительно корпуса а второе отрицательно. Двухканальный источник с разнополярными выходными напряжениями можно использовать для питания самых различных электронных устройств.
43776. Организация участка по ремонту электрооборудования автомобилей на СТОА ООО «Рольф-Алтуфьево» 804.75 KB
  Перед автомобильной промышленностью поставлена задача увеличить ресурс автомобильных двигателей до первого капитального ремонта и обеспечить вторичный ресурс не менее 80% от первичного.
43777. Проект панно из ткани 3.78 MB
  Игрушка - неизменный спутник ребенка с первых дней рождения. Ее специально создает взрослый в воспитательных целях, чтобы подготовить малыша к вхождению в общественные отношения. Ведущей деятельностью в дошкольном возрасте является игра и как ее средство - игрушка.
43778. РАЗРАБОТКА ЗАЛЕЖИ “Южно-Карловской” БАЖЕННОВСКОГО МЕСТОРОЖДЕНИЯ ХРИЗОТИЛ-АСБЕСТА 378.01 KB
  Мощность водоносного горизонта в породах палеозоя определяется глубиной развития открытой трещиноватости и составляет 4060 м. Объем вскрыши в торцах карьера м3 определяется по формуле: =9241874 1 где: Д – ширина дна карьера м; Hср – средняя глубина торцевого борта м; ﻻ угол откоса торца карьера о; ﻻ л и ﻻ в – углы откосов нерабочих бортов карьера с лежачей и висячей стороны о. Объем вскрыши в торцах карьера м3 определяется по формуле: =10410274 2 Прирезаемый...