Форум 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)
-   -   Текст внутри поля (http://www.flasher.ru/forum/showthread.php?t=102276)

Mnilionic 12.10.2007 00:34

так по-проще мне кажется:
Код:

var str = "какой-нить длинный текст";

var words = str.split(" ", 200);
var newstr = "";
for(var i=0; i<words.length; i++){
        newstr += words[i];
        txt.text = newstr + "\n"
        if(txt.maxscroll != 1) break;
        else newstr += " ";
}
txt.text = newstr + "..."

+
а вот так вообще идеально :)
Код:

var str = "какой-нить длинный текст";

var words = str.split(" ", 200);
var newstr = "";
for (var i = 0; i<words.length; i++) {
        newstr += words[i];
        txt.text = newstr + " " + words[i+1] + "...";
        if (txt.maxscroll != 1) {
                newstr += "..."
                break;
        } else newstr += " ";
}
txt.text = newstr;


Wolsh 12.10.2007 02:01

2Mnilionic : И при каких условиях это работает? Первый же вставленный текст просто обрезался на 200-м символе и добавились три точки :)

Mnilionic 12.10.2007 02:03

при условии, что показать надо как максмум 200 слов.. ну или 256
Wolsh, в качестве сепаратора в функции сплит стоит пробел - думаю вы ег пропустили случайно.

Wolsh 12.10.2007 02:09

Ты сам придумал себе эту задачу ? :) Тогда хоть не сравнивай решенья :)

Mnilionic 12.10.2007 02:12

А что имено вас не устраивает в моем решении вопроса топика?

Wolsh 12.10.2007 11:02

То, что оно его вообще никак не решает.
Что требуется - обрезать текст любой длины так, чтобы он заполнил текстфилд размером в две строчки и заменить последние символы на троеточие. Делаю текстфилд в две строчки, пишу Ваш код, заменяю строку на абзац обычного русского текста - в результате в текстфилде длинная строка, уходящая далеко за пределы границ, обрезанная где-то посередине слова и закрытая троеточием. Второй строки нет вообще.

Mnilionic 12.10.2007 13:43

Вложений: 1
специально для криворуких :) без обид

Wolsh 12.10.2007 14:09

Клёво! Мог просто сказать что мультилайн надо включить, а точнее - мог бы записать это в коде, раз уж это необходимое условие. Прикинь сколько препирательств избежали бы?
Работает, молодец!

Теперь-то понял, что ты делаешь, красивое решение!


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

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