Загрузка текста частями @ DeForum.ru
DeДверь  
Логин:  
Пароль:  
  Автологин  
   
Разместить рекламу
Письмо админу
Правила | FAQ | *Поиск | Наша команда | Регистрация | Вход
 
 
 Страница 1 из 1 [ Сообщений: 10 ] 
*   Список форумов / Технологии изображения / Flash » ответить » создать топик « | »
Автор Сообщение
mzd1e
новый человек
0
Сообщения: 18
Зарегистрирован: 08.06.05
Заголовок сообщения: Загрузка текста частями
Сообщение Добавлено: 2 Апрель 2006, 17:19:52 
Здравствуйте,
возникла такая проблема -
нужно сделать загрузку текста (соответственно из внешнего txt) частями, для того что бы не использовать скрол.
т.е. есть текстовое поле определенного размера, две кнопки (вперед, назад). загружается столько строчек, сколько влезает в это поле, при нажатии вперед - грузятся следующее кол-во строчек в это окно и т.д.
при нажатии назад - предыдущие.

был выбран следующий вариант скрипта:

//
content.multiline = true;
content.wordWrap = true;
content.html = true;
bla = new XML();
this.bla.load("bla.html");
//
this.bla.onLoad = function() {
content.htmlText = bla;
};
//
this.b_late.onRelease = function() {
content.scroll = content.bottomScroll;
};
//

но тут возникла другая проблема - как, сохранив возможность выделения текста запретить ему "скролироваться" за счет этого выделения?

если запретить никак нельзя, то как по-другому сделать загрузку текста частями?
Мигель Муж.
участник
75
Сообщения: 1453
Зарегистрирован: 09.01.04
Откуда: http://design-cafe.ru
Сообщение Добавлено: 2 Апрель 2006, 17:37:56 
mzd1e, в прямом смысле слова частями загрузить текстовый файл нельзя.
Но вы можете сначала загрузить весь текст, а потом разбить его на несколько стринговых переменных, внести их в массив, и пожалуйста, выводите куски текста как заблагорассудится.

_________________
_____
Работа Изображение Работы Изображение О Работе
mzd1e
новый человек
0
Сообщения: 18
Зарегистрирован: 08.06.05
Сообщение Добавлено: 2 Апрель 2006, 17:43:07 

Мигель писал(а):
...разбить его на несколько стринговых переменных, внести их в массив...



можно ли разбить по-строчно? причем строка будет определяться в зависимости от текстового поля? или даже разбивать по кускам, влезающим в это самое текстовое поле?
Мигель Муж.
участник
75
Сообщения: 1453
Зарегистрирован: 09.01.04
Откуда: http://design-cafe.ru
Сообщение Добавлено: 2 Апрель 2006, 17:50:05 
ну, как выделить подстроку из строки, надеюсь объяснять не надо?
А вот с длинной ее надо самому подумать.
Можно проанализировать _width текстового поля, отсюда какуюто среднюю длину строки вывести, исходя из кегля шрифта .
А если пользоваться моноширными шрифтами - тогда вообще проще простого.

_________________
_____
Работа Изображение Работы Изображение О Работе
mzd1e
новый человек
0
Сообщения: 18
Зарегистрирован: 08.06.05
Сообщение Добавлено: 2 Апрель 2006, 18:05:13 
Мигель, моноширные шрифты использоваться не будут (. + ко всему мне не извесно не название шрифтов, не их кегль.

может все таки есть какая нибудь возможность запретить тексту скролироваться?
@st@l@vist@
участник
70
Сообщения: 1606
Зарегистрирован: 20.03.03
Откуда: St.Petersburg
Сообщение Добавлено: 2 Апрель 2006, 18:44:56 
Да ради бога :laugh:

text = "Draws a source image or movie clip onto a destination image, using the Flash Player vector renderer. You can use Matrix, ColorTransform, BlendMode objects, and a destination Rectangle object to control how the rendering performs."

createEmptyMovieClip("txtHolder", 1);

txtHolder._x = 100;
txtHolder._y = 100;
txtHolder.createTextField("txt", 1, 0, 0, 100, 50);

txtHolder.txt.multiline = true;
txtHolder.txt.wordWrap = true;
txtHolder.txt.text = text;

w = txtHolder._width;
h = txtHolder._height;
x = txtHolder._x;
y = txtHolder._y;

txtHolder.txt.text = "";
txtHolder.txt.autoSize = "left";
txtHolder.txt.text = text;

createEmptyMovieClip("mask_mc", 20);

mask_mc._x = x;
mask_mc._y = y;

mask_mc.beginFill(0xFF);
mask_mc.moveTo(0,0);
mask_mc.lineTo(w,0);
mask_mc.lineTo(w,h);
mask_mc.lineTo(0,h);
mask_mc.lineTo(0,0);
mask_mc.endFill();

txtHolder.setMask(mask_mc);
mzd1e
новый человек
0
Сообщения: 18
Зарегистрирован: 08.06.05
Сообщение Добавлено: 3 Апрель 2006, 03:10:16 
@st@l@vist@, а каким образом показать следующие три строчки?
@st@l@vist@
участник
70
Сообщения: 1606
Зарегистрирован: 20.03.03
Откуда: St.Petersburg
Сообщение Добавлено: 3 Апрель 2006, 03:37:35 
Это шутка :)
А вообще вот так txtHolder._y -=h; Но не подогнать так чтобы не торчали "хвосты" снизу и сверху от других строк. Тем более с HTML текстом …
Мигель Муж.
участник
75
Сообщения: 1453
Зарегистрирован: 09.01.04
Откуда: http://design-cafe.ru
Сообщение Добавлено: 3 Апрель 2006, 11:19:32 
mzd1e, а может тогда просто selectable = false? )))
или не приемлемо?

_________________
_____
Работа Изображение Работы Изображение О Работе
mzd1e
новый человек
0
Сообщения: 18
Зарегистрирован: 08.06.05
Сообщение Добавлено: 5 Апрель 2006, 02:47:16 
Мигель, хотелось оставить это свойство... но раз так, то что поделаешь... selectable = false
*   Список форумов / Технологии изображения / Flash « | » » ответить » создать топик
 Страница 1 из 1 [ Сообщений: 10 ] 
Показать сообщения за:   Поле сортировки  
Найти:
Перейти:  
Уровень доступа: Вы не можете начинать темы. Вы не можете отвечать на сообщения. Вы не можете редактировать свои сообщения. Вы не можете удалять свои сообщения. Вы не можете добавлять вложения.
cron


ООО ДеФорум
При использовании материалов сайта ссылка на DeForum.ru — обязательна.
Проект Павла Батурина ©2001-2077; // Powered by phpBB © 2013 phpBB Group
Rambler's Top100