Руководство по actionscript. часть 5, стр. 092
Для динамического определения начального и конечного индексов символов в абзаце используйте методы экземпляра getFirstCharInParagraph ( ) и getParagraphLength ( ) класса TextField. Например, следующий код применяет метод getParagraphLength ( ), чтобы динамически определить начальные и конечные индексы двух абзацев в текстовом поле из предыдущего примера. После этого данный код использует полученные индексы для применения форматирования — выравнивания текста — ко всей последовательности символов во втором абзаце.
// Создаем текстовое поле
var t:TextField = new TextFieldC );
t. width = 100;
t. border = true;
t. wordwrap = true;
t. text = «This is paragraph oneAnThis is paragraph two.»;
// Создаем объект TextFormat
var alignFormat:TextFormat = new TextFormat( );
alignFormat. align = TextFormatAlign. CENTER;
// Определяем начальные и конечные индексы абзацев var firstParagraphStart:int = 0;
var firstParagraphEnd:int = t. getParagraphl_ength(firstParagraphStart)-l; var secondParagraphStart:int = firstParagraphEnd+1; var secondParagraphEnd:int = secondParagraphStart
+ t. getParagraphLength(secondParagraphStart)-l;
// Применяем форматирование
t. setTextFormat(alignFormat, secondParagraphStart, secondParagraphEnd);
Получение информации о форматировании для последовательности символов
Чтобы получить информацию о существующем форматировании для одного или более символов, находящихся в текстовом поле, мы используем метод экземпляра getTextFormat ( ) класса TextField. Этот метод возвращает объект TextFormat, переменные которого описывают форматирование указанных символов. В общем виде метод getTextFormat ( ) записывается следующим образом:
0бьектТехЬПе1с1 .деиех^огтИиндексНачалд, индексКонца)
Если при вызове этого метода указывается один целочисленный аргумент или значение аргумента индексКонца равно значению выражения индексНачала+1, то возвращаемый объект TextFormat будет отражать форматирование для одного символа,
находящегося в позиции индексНачала. Например, в следующем коде мы применяем форматирование к первым четырем символам текстового поля, а затем проверяем название шрифта для первого символа:
// Создаем текстовое поле
var t:TextField = new TextField( );
t. width = 100;
t. border = true;
t. wordwrap = true;
t. text = «What time is it?»;
// Создаем объект TextFormat, переменной font которого присваивается // значение «Arial»
var arialFormat:TextFormat = new TextFormatC ); arialFormat. font = «Arial»;
// Применяем форматирование к слову ‘What’, индексы символов -
// от 0 до 3 (включительно)
t. setTextFormat(arialFormat, 0, 4);
// Получаем объект TextFormat для первого символа var firstCharFormat:TextFormat = t. getTextFormat(0);
// Проверяем значение переменной font trace(firstCharFormat. font); // Выводит: Arial
Если при вызове метода getTextFormat ( ) указываются два целочисленных аргумента, то возвращаемый объект TextFormat представляет форматирование для последовательности символов, начиная с позиции индексНачала и заканчивая позицией индексКонца-1. Если же метод getTextFormat ( ) вызывается без аргументов, то возвращаемый объект TextFormat представляет форматирование для всех символов в этом поле.