Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 1.0/2.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 04.05.2008, 15:22
marat_sa вне форума Посмотреть профиль Отправить личное сообщение для marat_sa Посетить домашнюю страницу marat_sa Найти все сообщения от marat_sa
  № 1  
Ответить с цитированием
marat_sa
 
Аватар для marat_sa

Регистрация: Nov 2006
Сообщений: 487
Отправить сообщение для marat_sa с помощью ICQ Отправить сообщение для marat_sa с помощью Skype™
По умолчанию Якори в TextArea по ключевым словам

Добрый день. Возможно ли в компоненте TextArea реализовать переход на определенную строку по содержимому, а не только по номеру строки, или хоть как-то связать их между собой. Был реализован метод с массивом "якорей"-индексов строк, но экземпляр текстАрии может изменять пропорции, длина строк тоже изменяется, и соответственно, сбиваются индексы...

Старый 04.05.2008, 16:07
chingachgoog вне форума Посмотреть профиль Найти все сообщения от chingachgoog
  № 2  
Ответить с цитированием
chingachgoog
Banned
[+4 01.02.09]
[+1 01.02.09]
 
Аватар для chingachgoog

блогер
Регистрация: Nov 2006
Адрес: Moscow
Сообщений: 2,145
Записей в блоге: 7
String.indexOf()

Старый 04.05.2008, 16:38
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 3  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
Цитата:
Сообщение от chingachgoog Посмотреть сообщение
String.indexOf()
Развите мысль, пожалуйста.

Старый 04.05.2008, 16:52
marat_sa вне форума Посмотреть профиль Отправить личное сообщение для marat_sa Посетить домашнюю страницу marat_sa Найти все сообщения от marat_sa
  № 4  
Ответить с цитированием
marat_sa
 
Аватар для marat_sa

Регистрация: Nov 2006
Сообщений: 487
Отправить сообщение для marat_sa с помощью ICQ Отправить сообщение для marat_sa с помощью Skype™
Я не точно выразился, нужен не просто поиск, а именно прокрутка компонента на нужное место в тексте.

Старый 04.05.2008, 18:15
chingachgoog вне форума Посмотреть профиль Найти все сообщения от chingachgoog
  № 5  
Ответить с цитированием
chingachgoog
Banned
[+4 01.02.09]
[+1 01.02.09]
 
Аватар для chingachgoog

блогер
Регистрация: Nov 2006
Адрес: Moscow
Сообщений: 2,145
Записей в блоге: 7
А, нужно еще и получить номер строки с найденным фрагментом?
Это просто. Бъете текст пополам String.indexOf()
Вставляете в текстовое поле только первую половину текста.
TextField.maxscroll запоминаете номер строки
Вставляете вторую половину текста.
TextField.scroll перематываете на нужное место.

PS я не знаю как там в дефолтном компоненте адобовском сделано, т.к. компоненты я делаю сам и вам советую.

Старый 04.05.2008, 18:31
iNils вне форума Посмотреть профиль Отправить личное сообщение для iNils Посетить домашнюю страницу iNils Найти все сообщения от iNils
  № 6  
Ответить с цитированием
iNils
Негуру
 
Аватар для iNils

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,884
Записей в блоге: 7
2 chingachgoog: если половина текста закончилось половиной слова, то при добавлении второй половины, слово вполне может перескочить на строчку ниже.
__________________
(и)Нильс.ru | Плагины для FlashDevelop

Старый 04.05.2008, 19:15
Molecula вне форума Посмотреть профиль Отправить личное сообщение для Molecula Найти все сообщения от Molecula
  № 7  
Ответить с цитированием
Molecula
 
Аватар для Molecula

Регистрация: Apr 2007
Сообщений: 1,369
Самое простое:
ta - TextArea;
b - MovieClip
q - Input TextField, сюда пишем слово или сочетание слов, которое хотим найти;
Код:
ta.setSize(200, 100);
ta.text = "The following example creates a window and then defines a complete handler that resizes the window to fit its contents. It uses the content property to reference the width of the window's movie clip content. You drag a Window component from the Components panel to the current document's library, and then add the following code to Frame 1: Returns the floor of the number or expression specified in the parameter x. The floor is the closest integer that is less than or equal to the specified number or expression."
b.onPress = function(){
var index = ta.text.indexOf(q.text);
var a:Number = (Math.floor(ta.text.length/ta.maxVPosition));
var cur:Number = Math.floor(index/a);
ta.vPosition = cur;
Selection.setFocus("ta");
Selection.setSelection(index, index+q.length);
}
__________________
john


Последний раз редактировалось Molecula; 04.05.2008 в 19:36.
Старый 04.05.2008, 21:38
chingachgoog вне форума Посмотреть профиль Найти все сообщения от chingachgoog
  № 8  
Ответить с цитированием
chingachgoog
Banned
[+4 01.02.09]
[+1 01.02.09]
 
Аватар для chingachgoog

блогер
Регистрация: Nov 2006
Адрес: Moscow
Сообщений: 2,145
Записей в блоге: 7
Цитата:
Сообщение от iNils Посмотреть сообщение
2 chingachgoog: если половина текста закончилось половиной слова, то при добавлении второй половины, слово вполне может перескочить на строчку ниже.
Это уже легко решаемые детали.
Главное человеку понять принцип, так сказать ноу-хау.

Старый 05.05.2008, 13:21
marat_sa вне форума Посмотреть профиль Отправить личное сообщение для marat_sa Посетить домашнюю страницу marat_sa Найти все сообщения от marat_sa
  № 9  
Ответить с цитированием
marat_sa
 
Аватар для marat_sa

Регистрация: Nov 2006
Сообщений: 487
Отправить сообщение для marat_sa с помощью ICQ Отправить сообщение для marat_sa с помощью Skype™
Всем спасибо, выстроил-таки, на основе ответов, функцию для корректного перехода и скроллинга по ключевым словам! Вроде даже работает )))

Создать новую тему Ответ Часовой пояс GMT +4, время: 01:33.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 01:33.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.