68891

Виведення тексту

Лекция

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

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

Украинкский

2014-09-26

46.5 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, у  знаходиться  числова інформація, для виведення її на екран необхідно перетворити їх в строкові змінні відповідно 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;       { орієнтація по у}

                                        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 і у}

Outtextxy(200,100,`x`);  {x-центр,y-верхній край рядка}

Outtextxy(215,100,`2`);


 

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

48267. Бюджетний механізм, його призначення та структура, роль в регулюванні соціально-економічних процесів у державі 45 KB
  Бюджетний механізм його призначення та структура роль в регулюванні соціальноекономічних процесів у державі. Бюджетний механізм може бути охарактеризований як комплекс спеціально розроблених і законодавчо закріплених у державі форм і методів створення і використання фінансових ресурсів для регулювання економічних і соціальних процесів. В економічній літературі відсутня єдина думка щодо визначення поняття фінансовий механізм . У працях провідних західних учених фінансовий механізм не вивчається як окремий об'єкт але всебічно досліджуються...
48268. Використання природи як засобу виховання в історії російської педагогіки 69.5 KB
  Мукачево 2011 Тема: Використання природи як засобу виховання в історії російської педагогіки. Концепція національного виховання “Освітаâ€. Теорія національного виховання.
48269. АВТОМАТИЗАЦІЯ ТЕХНОЛОГІЧНИХ ПРОЦЕСІВ ТА ОБЄКТІВ В ЧОРНІЙ МЕТАЛУРГІЇ 15.25 MB
  Всі задачі контролю і регулювання вихідних параметрів процесів і обєктів класифікуються таким чином: 1 Задача стабілізації параметрів. Структура: 2 Задача програмного регулювання програмна зміна параметрів. 3 Задача слідкуючого регулювання співвідношення паливоповітря. Розглянемо задачу регулювання співвідношення паливоповітря для одної зони методичної печі.
48270. Понятие и классификация компьютерных вирусов 198 KB
  Так репликаторные программы благодаря своему быстрому воспроизводству приводят к переполнению основной памяти при этом уничтожение программ-репликаторов усложняется если воспроизводимые программы не являются точными копиями оригинала. В компьютерных сетях распространены программычерви. Например такая вирусная программа начинает работать после некоторого числа прикладной программы комплекса при наличии или отсутствии определенного файла или записи файла и т. Программы-мутанты самовоспроизводясь воссоздают копии которые явно отличаются...
48271. Банковское дело 797.5 KB
  Организационноправовые основы создания банка и его структурных подразделений 1. Понятие банка и его организационноправовая форма Банк кредитная организация которая имеет исключительное право осуществлять в совокупности следующие банковские операции: привлечение во вклады денежных средств физических и юридических лиц размещение указанных средств от своего имени и за свой счет на условиях возвратности платности срочности открытие и ведение банковских счетов физических и юридических лиц. БР устанавливает определенные требования к...
48272. Беларусь у перыяд спаборніцтва і канкурэнцыі двух сацыяльна-палітычных сістэм (2-я палова 40-х – 80-я гг.) 97 KB
  Грамадскапалітычнае жыццё БССР ва ўмовах 2хрушчоўскай адлігіâ€. Сацыяльнаэканамічнае развіццё БССР у 7080я гг. Пад час ваенных дзеянняў і акупацыі было разбурана і спалелна 209 гарадоў і раёцных цэнтраў рэспублікі нашчэнту была разбурана сталіца БССР Мінск: Пасля вайны нават ставіліся пытанні аб пёраносе сталіцы рэспублікі ў г. у БССР было адноўлена 196 машынабудаўнічых прадпрыемства дзе быў арганізаваны рамонт і выпуск вайсковай тэхнікі і прадукцыі.
48273. Международные экономические отношения 83 KB
  1999 год Тема: Международные товарные биржи. Международные товарные биржи: понятие виды функции. Россия времена Петра I наибольшее развитие биржи получили в СанктПетербурге торговали в основном государственной мануфактурной продукцией. Биржи просуществовали вплоть до 19281929 г.
48274. Виды изделий при конструировании 29 KB
  При разработке конструкции изделия его как правило разделяют на отдельные составные части с целью: 1 более правильного понимания структуры изделия; 2 более правильной обработки изделия на технологичность его изготовления и сборки по принципу агрегатирования; 3 с целью наиболее оптимального выполнения конструкторских документов на изделие в целом и его составных частей. В рамках курсового проекта рациональной разбивки изделия на составные части является получение наиболее короткой спецификации на изделие в которой будет как можно...
48275. ОСНОВНЫЕ ТИПЫ ЛЕКСИЧЕСКИХ ЗНАЧЕНИЙ СЛОВА 243.5 KB
  Виноградов ОСНОВНЫЕ ТИПЫ ЛЕКСИЧЕСКИХ ЗНАЧЕНИЙ СЛОВА Виноградов В. 162189 I Проблема значения слова проблема смысловой стороны слов и выражений существенна для марксистского языкознания. Изучение закономерностей развития словарного состава языка также невозможно без глубокого проникновения в существо исторических изменений значений слов. Следовательно выяснение сущности значения слова анализ качественных изменений в структуре слов в их историческом движении является одной из основных задач лексикологии.