PDA

Просмотр полной версии : интервал между строками


d0cent
14.06.2007, 03:53
Я загружаю текст в dynamic-поле из текстового файла и проблема в том, что интервал между строками, которые в текстовом файле разделены ентером, слишком большой, в то время как в остальных случаях, там где текст переносится сам - интервал нормальный. Как это лечится?

iNils
14.06.2007, 05:01
В windows новая строка обозначается с помощью двух символов 0x0D и 0x0A, во флеше же нужен только один из них. А так флеш получает двойной перенос вместо одного. Поэтому, в текстовом файле надо заменить его на \n или \r

d0cent
14.06.2007, 05:31
В windows новая строка обозначается с помощью двух символов 0x0D и 0x0A, во флеше же нужен только один из них. А так флеш получает двойной перенос вместо одного. Поэтому, в текстовом файле надо заменить его на \n или \r

Так если там ставить \n оно в тексте и выводится как текст. Как там правильно в коде это обработать?

iNils
14.06.2007, 05:39
Обработать строку (допустим она называется str)
str = str.split ("\\n").join ("\n")

d0cent
14.06.2007, 17:37
Обработать строку (допустим она называется str)

А куда это вставить?
Что-то, куда не приткну - или вообще текст не выводится, или выводится без каких либо изменений.
У меня текст берется вот так:
var my_lv2:LoadVars = new LoadVars();
my_lv2.onData = function(txt2:String):Void {
_root.text1.wordWrap = true;
_root.text1.textColor=0xCCCCCC;
_root.text1.html=true;
_root.text1.embedFonts = true;
_root.text1.multiline = true;
_root.text1.setTextFormat(my_fmt);
my_lv2=my_lv2.split ("\\n").join ("\n");
_root.text1.htmlText = txt2;

};
my_lv2.load("price.html");

chingachgoog
14.06.2007, 18:14
http://flasher.ru/forum/showthread.php?t=96712

d0cent
14.06.2007, 18:38
http://flasher.ru/forum/showthread.php?t=96712

Что-то всеравно не догоняю. Что куда вставить-то?

chingachgoog
14.06.2007, 19:52
По-моему, если text1.html=true, то работать не будет.
С другой стороны, если text1.html=true, то зачем вообще эти \r? Ведь можно <br> и без всяких split/join...

В коде выше надо так

_root.text1.html=false
...
txt2=txt2.split ("\\n").join ("\n");
_root.text1.text = txt2;

d0cent
14.06.2007, 22:07
По-моему, если text1.html=true, то работать не будет.
С другой стороны, если text1.html=true, то зачем вообще эти \r? Ведь можно <br> и без всяких split/join...

В коде выше надо так

_root.text1.html=false
...
txt2=txt2.split ("\\n").join ("\n");
_root.text1.text = txt2;


Так и сделал, но никакой реакции. Может и правда из за html. А <br> там почему-то не действует, может я какие-то не те символы в embed включил...

chingachgoog
15.06.2007, 12:42
Странно...
Если хтмл включен, то <br> должен работать:

_root.text1.html=true
...
_root.text1.htmlText = txt2

Если выключен, то толжен работать метод split/join с \r

_root.text1.html=false
...
txt2=txt2.split ("\\n").join ("\n");
_root.text1.text = txt2;


Надеюсь, видна разница в назначении text1 переменных?
(.text и .htmlText )

d0cent
15.06.2007, 17:09
Да теперь вроде бы работает. Сам не понял почему раньше не работало.