Показать сообщение отдельно
Старый 15.07.2009, 12:25
dimarik вне форума Посмотреть профиль Отправить личное сообщение для dimarik Найти все сообщения от dimarik
  № 15  
Ответить с цитированием
dimarik
.
 
Аватар для dimarik

модератор форума
Регистрация: Sep 2003
Адрес: Москва
Сообщений: 4,630
Записей в блоге: 20
кат-то так можно

Код AS1/AS2:
var app:				Object = this;
var pattern:			String = '<a href="{s}"></a>';
 
var outputTextField:	TextField;
 
var beginIndex:			Number = -1;
var endIndex:			Number = -1;
 
 
this.button.onRelease = function():Void {
	if (app.beginIndex == -1 ||
	    app.endIndex <= app.beginIndex
	) return;
 
	Selection.setFocus( String(app.outputTextField) );
    Selection.setSelection(app.beginIndex, app.endIndex);
 
	var inline:	String = app.substitute
			(
				 	pattern, 
					app.outputTextField.text.slice(app.beginIndex, app.endIndex) 
			);
 
	app.outputTextField.replaceSel(inline);
};
 
this.outputTextField.onMouseUp = 
this.outputTextField.onKeyUp = function():Void {
	app.beginIndex = Selection.getBeginIndex();
	app.endIndex   = Selection.getEndIndex();
};
 
this.outputTextField.onSetFocus = function():Void {
	Key.addListener(this);
	Mouse.addListener(this);
};
 
this.outputTextField.onKillFocus = function():Void {
	Key.removeListener(this);
	Mouse.removeListener(this);
};
 
function substitute():String {
	var temp:	Array = arguments[0].split('{s}');
	var i:		Number = temp.length;
	if (i-- > 1) while (i--) temp[i] += arguments[i + 1];
	return temp.join('');
}
__________________
Воспитан в TimeZero. Работаю в Mail.ru.