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


 

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

78156. Социализация личности. Семейное воспитание 52.23 KB
  Признаки и функции коллектива методика его формирования. Признаки развитого коллектива: наличие общественно и личностно значимых целей; включение членов коллектива в разнообразную социальную деятельность; соответствующая организация совместной деятельности; связь коллектива с обществом; наличие положительных традиций и перспектив; атмосфера взаимопомощи доверия и требовательности; развитые критика и самокритика сознательная дисциплина и др. Это результат упорного целенаправленного и длительного труда всего коллектива результат...
78157. Социальная подструктура личности 33.17 KB
  Стадии социализации личности. Полученные в процессе социализации знания приобретенные личностные качества не станут лишь индивидуальным достоянием а станут достоянием общества так как человек не только обогащается опытом но и реализует себя как личность влияя на жизненные обстоятельства и окружающих людей. Механизмы социализации: Имитация механическое повторение воспроизведение наблюдаемых человеком социальных действий без понимания их подлинного смысла.
78158. Эмоции и психические состояния личности 115.54 KB
  Эмоции имеются и у животных но у человека они приобретают особую глубину имеют множество оттенков и сочетаний. Эмоции различают по интенсивности и длительности а также по степени осознанности причины их появления. В связи с этим выделяют: настроение собственно эмоции и аффекты.
78159. Биологическая и психологическая подструктуры личности 129.43 KB
  Механизмы развития и тренировки памяти. Этот образ соотносится с информацией хранящейся в памяти и мотивационными установками человека. информированность индивида об объекте представлений и продолжительность сохранения его образов: представления памяти т. Особенности памяти: память немыслима без других психических процессов так как она запечатляет сохраняет и воспроизводит психические продукты этих процессов когда мы воспринимаем чтото оно запоминается; память – это сквозной психический процесс так как присутствует в течение...
78160. Введение в курс «Основы психологии» 196.17 KB
  Психология и очень старая и совсем молодая наука. Начало превращения психологии в самостоятельную науку связывают с именем немецкого ученого Христиана Вольфа 1679-1754 опубликовавшего книги Рациональная психология 1732 и Экспериментальная психология 1734 в которых он использовал термин психология. психология окончательно выделилась в самостоятельную науку. Возникли такие ее отрасли как педагогическая юридическая военная управленческая спортивная психология и т.
78162. Личность и группа как субъект и объект управления 49.27 KB
  Особенности коммуникации в организации. И это в полной мере относится и к личности и к организации в качестве субъектов и объектов управления. Управление личностью может складываться из: правильного определения социальной роли каждого работника и его места в организации; усвоения каждым индивидом предназначенной ему роли; обеспечения выполнения каждым работником своей роли. Нормы служат ориентиром личности в ситуации выбора обеспечивают социальный контроль ее поведения а также упорядочивают характер взаимодействий в рамках организации...
78163. Личность и творчество 55.97 KB
  Одной из важнейших задач современной педагогики является формирование у человека способности быть творцом что позволит ему достигнуть успехов в различных видах деятельности. Для реализации и развития субъекта в творческой деятельности и в частности для развития его творческого потенциала необходимым условием является свобода. При организации творческой деятельности важное значение имеет степень активности субъекта творчества. Творческая активность это мотивированная готовность личности к творческой деятельности определяемая скоростью...
78164. Межличностные отношения и взаимодействия людей в малых группах 63.18 KB
  Понятие малой группы. Социальнопсихологический климат группы. Социометрическая структура группы. Социальная роль всегда несет на себе печать общественной оценки: общество может либо одобрять либо не одобрять некоторые социальные роли иногда одобрение или неодобрение может дифференцироваться у разных социальных групп оценка роли может приобретать совершенно различное значение в соответствии с социальным опытом той или иной общественной группы.