Показать сообщение отдельно
Старый 18.08.2011, 02:21
Sergespb вне форума Посмотреть профиль Отправить личное сообщение для Sergespb Найти все сообщения от Sergespb
  № 3  
Ответить с цитированием
Sergespb
 
Аватар для Sergespb

Регистрация: Jul 2011
Сообщений: 34
Полный код ошибки:
Код:
TypeError: Error #1010: Термин не определен и не имеет свойств.
at com.***.***::TextMetric()
at com.***.***::ResultTextField/selectionInit()
TextMetric():
Код AS3:
function selectionInit (e:Event) {
	Mertic = new TextMetric(resTF, resTF.mouseX, resTF.mouseY);
 
	if (Mertic.sentMetric == true) {
		//записываем номер выделенного предложения в событие
		var assetEvent:TextFieldEvent = new TextFieldEvent(TextFieldEvent.SENT_SELECTED);
		assetEvent.sentNumber = Mertic.selectedSent;
		dispatchEvent(assetEvent);
		//выделяем предложение
		sentenceSelect(Mertic.startSentNum, Mertic.endSentNum);
	} else {
		clearSentSelection();
	}
	if (Mertic.wordMetric == true) {
		wordSelect(Mertic.startWordNum, Mertic.endWordNum);
	} else {
		clearWordSelection();
	}
}
ResultTextField/selectionInit():
Код AS3:
package com.***.*** {
	import flash.text.TextField;
	import com.***.***.WWT;
 
	public class TextMetric {
 
		var wwt:WWT = new WWT();
		var sentCount:int;
 
		var startSentNum:int;
		var endSentNum:int;
 
		var sentMetric:Boolean = new Boolean(false);
		var wordMetric:Boolean = new Boolean(false);
 
		var startWordNum:int;
		var endWordNum:int;
 
		var selectedSent:int;
 
		const DROP_SENTENCE:RegExp = /(\?+ |\!+ |\!\?+ |\?\!+ *|\.+ |\r)/
		const SHORT_WORDS:RegExp = /(Dr\. |dr\. |Mr\. |mr\. |Mrs\. |mrs\. )/
		const DROP_SENT_BY_TAG:RegExp = /(<\/sent\d>)(<sent\d>)/
		const DROP_SENT_BY_TAG_CORRECT:RegExp = /<\/sent\d>/
 
 
		public function TextMetric (obj:TextField, x:Number, y:Number){
 
			var array:Array = wwt.getSentArray(obj.text);
			var position:int = obj.getCharIndexAtPoint(x, y);
			var stSCh:Number = new Number(0);
			var enSCh:Number = new Number(array[0].length);
 
			if (position != -1) {
				position == 0 ? position = 1 : position = position
 
				sentCount = array.length;
 
				position++;
				for (var i = 0; i < sentCount; i++) {
					if ((stSCh < position) && (position < enSCh)) {
						selectedSent = i+1;
						break;
					}
					stSCh += array[i].length;
					enSCh += array[i+1].length;
				}
				position--;
 
 
				while (obj.text.substring(stSCh, stSCh+1) == " ") {
					stSCh++;
				}
 
				startSentNum = stSCh;
				endSentNum = enSCh-1;
 
				sentMetric = true;
 
				if (obj.text.substring(position, position+1) == ".") {
					wordMetric = false;
				} else {
					var expString:String = wwt.symbolsToSpaces(obj.text);
 
					startWordNum = expString.lastIndexOf(" ", position);
 
					startWordNum == -1 ? startWordNum = 0 : startWordNum++
 
					endWordNum = expString.indexOf(" ", position);
 
					endWordNum == -1 ? endWordNum = obj.length : endWordNum = endWordNum
					wordMetric = true;
				}
			} else {
				wordMetric = false;
				sentMetric = false;
			}
		}
	}
}