Смекни!
smekni.com

Обучающая программа Графика программированию в графическом режиме на языке turbo-pascal 7.x (стр. 22 из 24)

щему положению курсора. Параметры процедуры описаны в модуле Graph

как константы и могут принимать следующие значения:

Horiz: LeftText =0 - левым краем строки к курсору

CenterText=1 - симметрично к курсору

RightText =2 - правым краем строки к курсору

Vert: BottomText =0 - строка над курсором

CenterText =1 - симметрично к курсору

TopText =2 - строка под курсором

По "умолчанию" устанавливается параметр привязки выводимого

графического текста соответствующий обращению SetTextJustify(0,2);.

#

ФОРМИРОВАНИЕ ГРАФИЧЕСКИХ ТЕКСТОВ

* procedure OutText(TextString:string);

Выводит на экран последовательность символов, начиная с текущей

позиции, которая меняется только если текст выводится горизонтально

с левым выравниванием. Если текст не помещается в графическое окно,

он либо вообще не высвечивается ("грубый" шрифт, принятый по умолча-

нию), либо высвечивается частично("гладкий" шрифт).Текущий цвет

текста задается процедурой SetColor . параметры шрифта - процедурами

SetTextStyle SetTextJustify.Коэффициенты увеличения ширины и высоты

штриховых шрифтов можно задать процедурой SetUserCharSize. Ширину и

высоту строки определяют с помощью функций TextWidth TextHeight.

* procedure OutTextXY(X,Y:integer;TextString);

Выводит на экран последовательность символов начиная с позиции

(X,Y) и возвращает курсор в положение, предшествующее обращению к

данной процедуре.

* procedure GetTextSettings(var TextInfo:TextSettingsType);

Возвращает текущий тип текстового шрифта,его направление, раз-

мер,параметры горизонтального и вертикального выравнивания, установ-

ленные ранее процедурами SetTextStyle и SetTextJustify,либо по умол-

чанию при вхождении в графический режим. Тип TextSettingsType описан

в модуле Graph как запись, поля которой - Font,Direction:word;

CharSize:CharSizeType; Horiz,Vert:word; - по смыслу и типу аналогич-

ны одноименныым параметрам процедур SetTextStyle и SetTextJustify.

ФОРМИРОВАНИЕ ГРАФИЧЕСКИХ ТЕКСТОВ

В языке Turbo-Pascal предусмотрена возможность использовать

новые штриховые шрифты,не входящие в систему фирмы Borland Interna-

tional, но совместимых с этой системой по файловой форме представле-

ния. Для этого необходимо файлы новых шрифтов, которые должны иметь

расширение .chr, предварительно загрузить в каталог, содержащий файл

Turbo.exe интегрированной среды Turbo-Pascal, а в прикладной

программе использовать функцию InstallUserFont.

* function InstallUserFont(NewFont:string):integer;

Инсталлирует новый штриховой шрифт, т.е.вводит во внутреннюю

таблицу шрифтов имя файла нового шрифта NewFont и возвращает номер

этого шрифта в указанной таблице для использования в качестве значе-

ния параметра Font процедуры SetTextStyly.

Внутренняя таблица может содержать до 10 имен шрифтов, из

которых 4 стандартных в ней содержатся постоянно. В файловой системе

лабораторных компьютеров содержатся файлы 4 нестандартных штриховых

шрифтов с именами: Bold.chr, Goth.chr, Sans.chr,Trip.chr.

Если внутренняя таблица штриховых шрифтов переполнена, то

функция возвращает значение 0 и, следовательно, устанавливается

стандартный растровый шрифт. Для сброса внутренней таблицы шрифтов в

исходное положение можно заново перезапустить операционную систему.

На следующем экране Вы можете наблюдать примеры четырех нес-

тандартных штриховых шрифтов, упомянутых в данном разделе.

#

ФОРМИРОВАНИЕ ГРАФИЧЕСКИХ ТЕКСТОВ

3

0

01КАКИЕ ВОЗМОЖНОСТИ , СВЯЗАННЫЕ С НАПРАВЛЕНИЕМ ВЫВОДА ТЕКСТОВОЙ

ИНФОРМАЦИИ, ДАЕТ ГРАФИЧЕСКИЙ РЕЖИМ?

1 Возможен только горизонтальный вывод.

2 Возможен как горизонтальный так и вертикальны выводы.

3 Горизонтальный, вертикальный и вывод по горизонтали.

4 Имеется возможность горизонтального вывода для всех шрифтов и

для растрового - вывод по вертикали.

*

02УСТАНАВЛИВАЮТСЯ ЛИ ТИП СТАНДРАТНОГО ШРИФТА, НАПРАВЛЕНИЕ ТЕКСТОВОЙ

СТРОКИ И РАЗМЕР СИМВОЛОВ ОДНОЙ ПРОЦЕДУРОЙ?

1 Нет. Эти параметры устанавливаются разными процедурами:

InstallUserFont; - стандартный шрифт

TextWidth; - размер символов

OutText; - направление вывода

2 Да. Эти параметры устанавливаются с помощью одной процедуры,

InstalUserFont;

3 Да. Перечисленные параметры устанавливаются с помощью процедуры

SetTextStyle;

4 Нет. В языке нет возможности устанавливать шрифт, направление

строке и размер символов.

*

03МОЖНО ЛИ ИЗМЕНИТЬ ПРОПОРЦИИ СИМВОЛОВ ЛЮБОГО ШРИФТА И ЕСЛИ МОЖНО, ТО

С ПОМОЩЬЮ КАКОЙ ПОЦЕДУРЫ?

1 Нет. Пропорции символов предусмотрены шрифтом и изменить их

нельзя .

2 Можно. С помощью процедуры SetUserCharSize .

3 Можно изменить пропорции только штрихового шрифта с помощью

процедуры SetUserCharSize.

4 Можно. С помощью процедуры SetTexStyle.

*

04ЧЕМ ОТЛИЧАЮТСЯ ПРОЦЕДУРЫ OutText и OutTextXY?

1 Ничем. Они полностью аналогичны.

2 Процедуры отличаются привязкой выводимого текста.

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

курсора после выполнения процедур.

4 Процедура OutText осуществляет вывод символьной строки с

текущего положения курсора, а процедура OutTextXY обеспечивает

привязку графического текста без его вывода.

*

05СОСТАВИТЬ ПРОГРАММУ ВЫВОДА СЛОВА "ПРОГРАММА" ПО НИЖНЕЙ КРОМКЕ БЕЛОГО ЭКРАНА РАСТРОВЫМ ШРИФТОМ ЗЕЛЕНОГО (2) ЦВЕТА РАЗМЕРА 6.

1 SetBkColor(15);

SetColor(2);

SetTextStyle(1,0,6);

OutTextXY(0,GetMaxY,'ПРОГРАММА');

2 SetBkColor(15);

SetColor(2);

SetTextStyle(0,1,6);

OutTextXY(GetMaxX,0,'ПРОГРАММА');

3 SetBkColor(15);

SetColor(2);

SetTextStyle(0,6,1);

OutTextXY(0,GetMaxY,'ПРОГРАММА');

4 SetBkColor(15);

SetColor(2);

SetTextStyle(0,0,6);

OutTextXY(0,GetMaxY,'ПРОГРАММА');

*

06СОСТАВИТЬ ПРОГРАММУ ГОРИЗОНТАЛЬНОГО ВЫВОДА СЛОВА "КЛАСС" В ВИДЕ

СТРОКИ ДЛИНОЙ 300 ПИКСЕЛОВ С ИСПОЛЬЗОВАНИЕМ ГОРИЗОНТАЛЬНО

ДЕФОРМИРОВАННОГО СТАНДАРТНОГО ШТРИХОВОГО ШРИФТА SanserifFont

КРАСНОГО (4) ЦВЕТА РАЗМЕРА 10.

1 SetColor(4);

SetTextStyle(SanSerifFont,HorizDir,10);

K:=TextWidth('КЛАСС');

SetUserCharSize(300,K,1,1);

2 SetColor(4);

SetTextStyle(SanSerifFont,VertDir,10);

K:=TextWidth('КЛАСС');

SetUserCharSize(300,K,1,1);

3 SetColor(4);

SetTextStyle(SanSerifFont,Horizdir,10);

K:=TextHeight('КЛАСС');

SetUserCharSize(1,1,300,K);

4 SetColor(4);

SetTextStyle(HorizDir,SanSerifFont,10);

K:=TextWidth('КЛАСС');

SetUserCharSize(300,K,1,1);

*

07СОСТАВИТЬ ПРОГРАММУ ВЕРТИКАЛЬНОГО ВЫВОДА СЛОВА "ПАСКАЛЬ" В ВИДЕ

СТОЛБЦА ШИРИНОЙ 80 ПИКСЕЛОВ, ИСПОЛЬЗУЯ ВЕРТИКАЛЬНО-ДЕФОРМИРОВАННЫЙ СТАНДАРТНЫЙ ШТРИХОВОЙ ШРИФТ SmallFont СИНЕГО(1) ЦВЕТА РАЗМЕРА 5.

1 SetTextStyle(SmallFont,0,5);

SetColor(1);

L:=TextHight('ПАСКАЛЬ');

SetUserCharSize(1,1,80,L);

OutTextXY(10,200,'ПАСКАЛЬ');

2 SetTextStyle(SmallFont,1,5);

SetColor(1);

L:=TextHight('ПАСКАЛЬ');

SetUserCharSize(80,L,1,1);

OutTextXY(10,200,'ПАСКАЛЬ');

3 SetTextStyle(SmallFont,1,5);

SetColor(1);

L:=TextHeight('ПАСКАЛЬ');

SetUserCharSize(1,1,80,L);

OutText('ПАСКАЛЬ');

4 SetTextStyle(1,5,SmallFont);

SetColor(1);

L:=TextHeight('ПАСКАЛЬ');

SetUserCharSize(1,1,80,L);

OutText('ПАСКАЛЬ');

*

08СКОЛЬКО НЕСТАНДАРТНЫХ ШРИФТОВ МОЖНО ИСПОЛЬЗОВАТЬ ПРИ РАБОТЕ С ГРАФИ ЧЕСКИМИ ТЕКСТАМИ?

1 Сколько угодно.

2 11 шрифтов.

3 Столько, сколько файлов нестандартных шрифтов содержится в

Вашем компьютере.

4 В Turbo-Pascal не предусмотрена возможность использования

шрифтов , не входящих в систему фирмы Borland International.

*

09СКОЛЬКО ИМЕН РАЗЛИЧНЫХ ШРИФТОВ МОЖЕТ СОДЕРЖАТЬ ВНУТРЕННЯЯ ТАБЛИЦА ШРИФТОВ И СКОЛЬКО ИЗ НИХ НЕСТАНДАРТНЫХ?

1 Не более 6, из них нестандартных - не более 2.

2 Не более 10, из них нестандартных - не более 6.

3 Не более 11, из них нестандартных - не более 7.

4 Не более 10, из них нестандартных - не более 4.

*

10КАКАЯ ПРОЦЕДУРА ИНСТАЛЛИРУЕТ НОВЫЙ ШТРИХОВОЙ ШРИФТ?

1 InstallUserFont;

2 GetTextSettings.

3 SetUserCharSize.

4 SetTextJustify.

*

0

011Ответ неверный. В Turbo-Pascal имеется возможность не только 002

горизонтального , но и вертикального вывода.

*

2Ответ правильный. 005

*

3Ответ неверный. В языке нет возможности вывода графического текста 002

в направлении по горизонтали.

*

4Ответ неверный. Ограничений на тип шрифта для осуществления 002

вертикального вывода нет.

*

*

021Ответ неверный. Перечисленные процедуры выполняют другие функции. 002

*

2Ответ неверный. Процедура InstallUserFont инсталлирует новый 002

нестандартный шрифт.

*

3Ответ правильный. 005

*

4Ответ неверный. Такая возможность есть. 002

*

*

031Ответ неверный. Пропорции символов увличить можно. 002

*

2Ответ неточный.Процедура SetUserCharSize изменяет пропорции символов004

после установки штрихового шрифта процедурой SetTextStyle.

*

3Ответ правильный. 005

*

4Ответ неверный. Процедура SetTextStyle устанавливает тип шрифта, но 002

не устанавливает пропорции символов.

*

*

041Ответ неверный. Эти процедуры отличаются привязкой выводимого текста002

и положением курсора после их выполнения.

*

2Ответ неполный. Процедуры отличаются не только привязкой выводимого 004

графического текста, но и положением курсора после их выполнения

*

3Ответ правильный. 005

*

4Ответ неверный. Обе процедуры обеспечивают вывод символьной строки, 002

однако отличаются местом привязки выводимой строкви и положением

курсора после их выполнения.

*

*

051Ответ неверный. Чтобы вывести строку растровым шрифтом следует 002

параметры процедуры SetTextStyle выбрать иначе.

*

2Ответ неверный. Параметры процедуры SetTextStyle указывают на то, 002

что строка будет выведена не по нижней кромке, а вертикально, снизу

вверх. Кроме того координаты начальной точки вывода в процедуре

OutTextXY соответствуют правому верхнему углу экрана и значит

надпись не будет выведена.

*

3Ответ неверный. Неверно указаны параметры процедуры SetTextStyle 002

Стандартного шрифта с номером 6 не существует.

*

4Ответ правильный. 005

*

*

061Ответ правильный. 005

*

2Ответ неверный. Данный фрагмент программы будет обеспечивать не 002

горизонтальный, в вертикальный вывод текста .

*

3Ответ неверный. Данный фрагмент программы будет обеспечивать не 002

горизонтальную, а вертикальную деформацию вывдимой строки.

*

4Ответ неверный. Ошибка в употреблении параметров процедуры 002