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`);


 

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

22686. Міжнародні комерційні операції 36.5 KB
  Проблеми: відбувається неодночасно тобто одна сторона в багатьох випадках кредитує іншу сторону внаслідок чого виникають ризикові ситуації фірми ризикують отримати непотрібні їм товари. Наприклад Україна експортує до Китаю товари. Китай сплачує ці товари якщо Україна закупить на певну суму виручки товари в Китаї. офсет подібний до зустрічної закупівлі тим що одна сторона погоджується придбати товари і послуги за певний суми виторгу від початкового продажу.
22687. Принципи ЗЕД 26 KB
  Принцип свободи зовнішньоекономічного підприємництва що полягає у праві субєктів зовнішньоекономічної діяльності добровільно вступати у зовнішньоекономічні звязки; праві субєктів зовнішньоекономічної діяльності здійснювати її в будьяких формах які прямо не заборонені чинними законами України; виключному праві власності субєктів зовнішньоекономічної діяльності на всі одержані ними результати зовнішньоекономічної діяльності. Принцип юридичної рівності і недискримінації що полягає у рівності перед законом всіх субєктів...
22688. Облік фінансових вкладень та консолідована звітність 209 KB
  ІНВЕСТИЦІЯ - це актив, яким володіє підприємство з метою збільшення капіталу через розподіл доходу (наприклад, відсотків, роялті, дивідендів та ренти), для зростання вартості капіталу або для інших вигод.
22689. Сальдо платіжного балансу України 30 KB
  обсяги прямих іноземних інвестицій в Україну постійно зростали. З початку 2001 року темпи надходження прямих іноземних інвестицій в Україну уповільнилися. Слід окремо наголосити на тому що значна частина інвестицій надійшла з офшорних зон.
22690. Операції з давальницькою сировиною (толінг) 29.5 KB
  Важлива підстава для віднесення операції до толінгу: сировину яка ввозиться або купується на території країни переробки переробне підприємство вносить під безмитний режим. Основні схеми толінгу: іноземний постачальник сировини оплачує вітчизняному виробникові її переробку стає власником одержаного продукту вивозить його за межі країни і продає на закордонних ринках. давальницька сировина переробляється на підприємстві даної країни з наступним експортом продукту переробки під митним контролем. Толінг: зовнішній внутрішній сировина...
22691. Митно-тарифне регулювання ЗЕД 32.5 KB
  Правові економічні та організаційні основи митної справи визначені Митним Кодексом України 1991 р. Система митних органів України: Державний митний комітет України регіональні митні управління митниці митні пости Основні функції митних органів: приймають участь у розробці митної політики та її реалізації забезпечують дотримання законодавства захищають економічні інтереси України стягують мита податки та інші платежі здійснюють митну статистику зовнішньої торгівлі та спеціальну статистику ведуть товарну номенклатуру ЗЕД...
22692. Стан внутрішнього ринку 25 KB
  З огляду на те що ринок є визначальним інститутом ринкового механізму який забезпечує регулювання та координацію дій субєктів господарювання вузькість внутрішнього ринку веде до серйозних негативних наслідків. Подруге порушуються зв'язки між окремими економічними суб'єктами галузями регіонами тощо. Вшосте виникає дефіцит або викривленість інформації для суб'єктів господарювання про стан попиту суспільну оцінку ефективності виробництва рівень його конкурентоспроможності. Звуженість ринків робить цю інформацію некоректною частково...
22693. Конкурентоспроможність економіки та конкурентна політика України 133 KB
  випущено Світовий звіт що стосується проблем конкурентоспроможності Про конкурентоспроможність окремих національних економік. Результат дослідження: було визначено індекс конкурентоспроможності який визначався за основними групами факторів які є найбільш впливовими. Фактори конкурентоспроможності: відкритість вимірює відкритість до зовнішньої торгівлі і інвестицій політики обмінних курсів і легкості експорту. Україна зайняла 53 місце по індексу конкурентоспроможності.
22694. Експорт в Україні 21.5 KB
  Україна мала позитивне сальдо але за рахунок поточних операцій платіжного балансу. Платіжний баланс співвідношення між сумою всіх грошових надходжень отриманих державою від інших країн за певний період і сумою всіх платежів які здійснювалися за цей період. Структура ПБ в міжнародній статистиці однакова і складається з наступних частин: баланс надходжень і платежів із зовнішньої торгівлі баланс надходжень і платежів за послуги баланс некомерційних надходжень і платежів баланс надходжень і платежів із закордонних капіталовкладень...