Вывод текстовой информации


 

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

1. OutTextXY(X,Y:integer;Text:string) - выводит строку, начиная с точки, имеющей координаты (X,Y).

2. SetTextJustify(Horiz,Vert:word) - устанавливает значения выравнивания текста. Для установки значения выравнивания в модуле Graph определены следующие константы:

а) горизонтальное выравнивание;

LeftText = 0 - выравнивание слева,

CenterText = 1 - выравнивание по центру,

RightText = 2 - выравнивание справа,

б) вертикальное выравнивание;

Bottom Text = 0 - выравнивание снизу,

CenterText = 1 - выравнивание по центру,

TopText = 2 - выравнивание сверху.

3. SetTextStyle(Font,Direction,CharSize:word) - устанавливает текущий шрифт, тип и коэффициент увеличения символов. Параметр Font - тип шрифта. Для установки типа шрифта в модуле Graph описаны следующие константы:

DefaultFont = 0 Побитовый шрифт ,

TriplexFont = 1 Тройной шрифт,

SmallFont = 2 Малый шрифт,

SansSerifFont = 3 Гротесковый шрифт,

GothicFont = 4 Готический шрифт

и другие.

Direction задает направление вывода. (0 - горизонтальное, слева направо,1 - вертикальное, снизу вверх). CharSize - коэффициент увеличения символов.

 

Пример 3.2.1. Массив X(N) напечатать на экране в виде столбцов по М элементов в каждом. Выделить элементы, превышающие по значению величину К.

 

PROGRAM P1;

USES Crt;

VARx:array[1..20] of real;

i, N, M:integer;

K:real;

BEGIN

writeln(' N M K');readln(N,M,K);

FOR i:=1 TO N DO

BEGIN

write('X[',i,']=');readln(x[i])

END;

ClrScr;

FOR i:=1 TO N DO

IF x[i]>K THEN

BEGIN

TextColor(14);TextBackGround(4);

END

ELSE

BEGIN

TextColor(15);TextBackGround(1);

END;

GotoXY(10*((i-1) div M)+1,(i-1) mod M+1);

write(i:2,' ',x[i]:6:4)

END.

 

Пример 3.2.2. Составить программу введения пароля.

 

USES Crt;

CONSTtext:ARRAY [1..5] OF string=

(’ ’,

’ ВВЕДИТЕ ПАРОЛЬ ’,

’ ’,

’ ’,

’ ’);

VARa:string[6]; f1:char; i:integer;

BEGIN

REPEAT

ClrScr; {Очистка экрана}

TextColor(15); {Установка цвета символов. Белый.}

TextBackGround(3); {Установка цвета фона. Темно-голубой.}

{Зарисовка рамки}

FOR i:=1 TO 5 DO

BEGIN

GotoXY(25,10+i);

writeln(text[i]);

END;

a:=’’;

{Ввод пароля}

FOR i:=1 TO 6 DO

BEGIN

GotoXY(32+(i-1),13);

f1:=readkey; {Ввод символа с клавиатуры}

TextColor(5);

GotoXY(32+(i-1),13);

write(’*’);

a:=a+f1;

END;

IF a=’paroll’ THEN

BEGIN

TextColor(12);

GotoXY(33,14);

writeln(‘OK !’);

{Звуковой сигнал “Верно”}

sound(2500);

delay(2500);

nosound;

delay(20000);

END

ELSE

BEGIN

TextColor(6);

TextBackGround(0);

{Звуковой сигнал “Неверно”}

sound(100);

delay(2500);

nosound;

delay(20000);

END;

UNTIL a=’paroll’

END.

 

Пример 3.2.3. Составить программу построения графика функции y=sin(x).

USES Graph;

{Описание функции y=sin(x)}

FUNCTION f(x:real):real;

BEGIN f:=sin(x);

END;

VARgd, gm, Nx, Nx1, Nx2, Ny, Ny1, Ny2:integer;

x, x1, x2, h, y, y1, y2:real;

BEGIN

{Переход в графический режим}

gd:=Detect;

InitGraph(gd,gm,'c:\bp\bgi');

x1:=0;

x2:=4*Pi;

h:=0.01;

y1:=-1;

y2:=1;

{Размеры рамки}

Nx1:=10;

Nx2:=GetMaxX-Nx1;

Ny1:=10;

Ny2:=GetMaxY-Ny1;

{Зарисовка рамки}

rectangle(Nx1,Ny1,Nx2,Ny2);

{Построение графика по точкам}

x:=x1;

REPEAT

y:=f(x);

{Вычисление координаты точки экрана по заданным x и y}

Nx:=round(Nx1+(Nx2-Nx1)*(x-x1)/(x2-x1));

Ny:=round(Ny2-(Ny2-Ny1)*(y-y1)/(y2-y1));

PutPixel(Nx,Ny,12);

x:=x+h;

UNTIL x>x2;

readln; {Пауза}

closegraph {Выход из графического режима}

END.




Дата добавления: 2016-06-15; просмотров: 1885;


Поиск по сайту:

Воспользовавшись поиском можно найти нужную информацию на сайте.

Поделитесь с друзьями:

Считаете данную информацию полезной, тогда расскажите друзьям в соц. сетях.
Poznayka.org - Познайка.Орг - 2016-2024 год. Материал предоставляется для ознакомительных и учебных целей.
Генерация страницы за: 0.018 сек.