щему положению курсора. Параметры процедуры описаны в модуле 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
горизонтального , но и вертикального вывода.
*
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