Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   как узнать количеству строк в TextField? (http://www.flasher.ru/forum/showthread.php?t=97464)

divinus 21.06.2007 17:10

как узнать количеству строк в TextField?
 
ну думаю вопрос понятен...
эксперименты типа перевести текст в массив функцией split() по переносу строки и вернуть длинну массива не увенчались успехом.
ваши соображения господа...

Torero 21.06.2007 17:19

Извращенный вариант - посчитать высоту одной стоки=размер шрифта+расстояние между строками. Я так делал - лучше не придумал.
И то и другое вытаскивается из TextFormat-а. Не сработает если текст разного размера - тогда придется усложнять конструкцию.

Kikasso 21.06.2007 17:25

Код:

trace( my_txt.text.split('\r').length );
оно конвертирует '\n' в '\r'

divinus 21.06.2007 17:26

Torero, спасибо, этот вариант был рассмотрен в первую очередь и отправлен в мусорное ведро... :)

можно конечно развить мысль с массивом. Например дописывать "###" в конец каждой строки перед применением split(), затем возвращать длину массива а потом удалять "###"
но это ведь тоже не слишком изящно...

Kikasso, о, спасибо, не подумал... я почемуто считал что эта идея провалится как и с \n

Kikasso 21.06.2007 17:42

Вот так нагляднее:
Код:

my_txt = createTextField('t', 1, 0, 0, 100, 100);
my_txt.multyline = true;
my_txt.text = "_\n_\n_";
trace (my_txt.text === "_\r_\r_"); //true

Весело?
Можно хранить строку в переменной, с ней ничего не случится.

Torero 21.06.2007 17:50

А можно аналогично сделать то-же самое если нам неизвестно где окончание той или иной строки? - просто задана ширина TextField и установлен wordWrap=true

DJ_ManiaC 21.06.2007 17:53

Я когда писал текстовый скрол делал так:
Код:

        View = target.bottomScroll - target.scroll + 1;
        Total = target.maxscroll + View + 1;


Kikasso 21.06.2007 17:57

Torero, так тогда и строка будет одна. Но есть свойство textHeight..

iNils 22.06.2007 01:15

Код:

txt.maxscroll + txt.bottomScroll - 1


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

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