Форум 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=113990)

CaXaP 15.07.2008 23:14

Загрузка большого текстового файла
 
Здравствуйте!

У меня такая проблема: Я пытаюсь загрузить во флешку файл с большим количеством текста (примерно 2кб) в текстбокс. При этом грузится лишь часть текста, а остальная "обрезается" - видимо проблема в ограничениях скачиваемого текста или размера текстбокса...

Подскажите, пожалуйста, как загрузить и показать текст целиком.

Заранее спасибо.

Просьба ногами не бить - в поиске много тем про загрузку текста, но своей проблемы там не нашёл :)

Волгоградец 16.07.2008 10:55

Что такое "текстбокс"? Компонент, динамическое текстовое поле? Стоит autosize, wordwrap или др. свойства?

Alex_beginner 16.07.2008 13:11

Здравствуйте CаХаР!

Вопрос: С помощью какого класса или функции загружаете текстовые данные?

CaXaP 16.07.2008 18:49

да я код лучше выложу весь :)

Код:

var loader:LoadVars = new LoadVars();

initialize()
{
        loader.load("welcome.txt");
        stage.showMenu = false;
        TB_welcome.html=true;
        TB_welcome.autoSize = false;
}

loader.onLoad = function(success)
{
        if (success)
        {
                TB_welcome.htmlText=loader.data1;
        }
        else TB_welcome.htmlText="error";
}

initialize();


crazyone 16.07.2008 19:28

Цитата:

Код:

TB_welcome.autoSize = false;

Это вы зачем октлючили автосайз? Ясное дело, что не влезает и не показывается. Включайте обратно или приделывайте к текстовому полю скролл.

Alex_beginner 16.07.2008 19:40

СаХаР! Вероятно дело в том, что полученные текстовые данные нужно перехватить до того, как будет произвена разборка пар имя-значение, т.е. в обработчике onData. событие onData, возникающее после того, как текст будет закачан, но до того, как он будет разобран и на основании прописанных в нем пар имя-значение будут созданы свойства объекта LoadVars. В качестве параметра обработчику этого события передается строка, хранящая импортированный текст. Пример:

Код:

var loader:LoadVars=new LoadVars();
loader.load("welcom.txt");
loader.onData=function(str:String):Void {
pole.htmlText=str;
delete loader;
};

Красным выделен немаловажный момент: "Не забывайте удалять лоадер, в противном случае он может замедлять работу приложения и жрать дополнительные ресурсы!".

Также, считаю вероятен вариант решения проблемы, предложенный crazyone!

crazyone 16.07.2008 19:57

Если только в самой строке нету где-то ампресанда(&), то во флеше нет ограничений на длину LoadVars. Т.е. теоретически должны быть какие-то, но 2 Кб спокойно загружаются и нигде не обрезаются.

Только что попробовал ~2Мб текста подгрузить. Грузилось долго, но все-равно ничего нигде не обрезалось.
Так что проблемма не в этом.

Alex_beginner 16.07.2008 20:06

Но мы не знаем какой текст грузит СаХаР, поэтому трудно судить есть там амперсанд или его нет, ну и тд, поэтому считаю, оба варианта равновероятными. Я думаю, СаХаР не сильно расстроиться, если он перенесет код из onLoad в onData и одновременно включит автосайз! Видите ли зачем лишний раз заставлять работат парсер, даже если проблема не в этом.

CaXaP 16.07.2008 21:47

Аааа! проблема оказывается была в скроллинге, а не в загрузке :)
Я ошибся, и вместо 77 строчек, для прокрутки было доступно лишь 67...

Всё равно всем спасибо за помощь.


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

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