Просмотр полной версии : Загрузка большого текстового файла
Здравствуйте!
У меня такая проблема: Я пытаюсь загрузить во флешку файл с большим количеством текста (примерно 2кб) в текстбокс. При этом грузится лишь часть текста, а остальная "обрезается" - видимо проблема в ограничениях скачиваемого текста или размера текстбокса...
Подскажите, пожалуйста, как загрузить и показать текст целиком.
Заранее спасибо.
Просьба ногами не бить - в поиске много тем про загрузку текста, но своей проблемы там не нашёл :)
Волгоградец
16.07.2008, 10:55
Что такое "текстбокс"? Компонент, динамическое текстовое поле? Стоит autosize, wordwrap или др. свойства?
Alex_beginner
16.07.2008, 13:11
Здравствуйте CаХаР!
Вопрос: С помощью какого класса или функции загружаете текстовые данные?
да я код лучше выложу весь :)
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 и одновременно включит автосайз! Видите ли зачем лишний раз заставлять работат парсер, даже если проблема не в этом.
Аааа! проблема оказывается была в скроллинге, а не в загрузке :)
Я ошибся, и вместо 77 строчек, для прокрутки было доступно лишь 67...
Всё равно всем спасибо за помощь.
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.