Просмотр полной версии : вопрос по текстфилдам
вопрос:
допусти есть текстфилд фиксированной длины и ширины и мультилайн, как разобрать его по строчкам?
не мужики серьезно?
есть текст филд, туда влезает например 3 строчки, как узнать
что из tf.text находится в каждой строчке? просто нужно очень !!!
На ум призодят два глупых способа:
1) Самому следить за количеством строчек, добавляя где надо "\r\n" или newline.
2) Заранее посчитать, водя пальцем по монитору, сколько символов влезает в на одну строчку :)
Самому будет интересно узнать, если кто-нибудь предложит универсальный нормальный способ
Оригинал написал(а) Nucer
На ум призодят два глупых способа:
1) Самому следить за количеством строчек, добавляя где надо "\r\n" или newline.
2) Заранее посчитать, водя пальцем по монитору, сколько символов влезает в на одну строчку :)
Самому будет интересно узнать, если кто-нибудь предложит универсальный нормальный способ
1. уже делал, но невсегда работает, так как размер буквы по _х не фиксирован, соответственно, бывают ляпы
2. то же самое что и 1, потом очень много тектфилдов, если на каждый еще функцию вешать...
хотелось бы чтонить поуниверсальней...
использовать RegExp - в качестве стоп-символов - \r и \n
PS класс RegExp можно взять тут (http://www.jurjans.lv/flash/regexp.html)
Динкин Дим извения в английском не силен...
я так понял это клас что типа posix regular expressions только для флаш ???
тогда извени, я не знаю как они мне могут помочь...
З.Ы. не мог бы мне оп аське объяснить нужно просто труба...
uin 18706810
Вопрос:
есть текст филд, туда влезает например 3 строчки, как узнать
что из tf.text находится в каждой строчке?
Ответ: разбываем текст содержащия в текстовом поле на несколько объектов типа String использовав при этом класс RegExp. Не секрет, что символами конца строки являются \n(конец строки) или \r(возврат каретки). поэтому в нашем случае мы просто ищем эти символы. После чего, закладываем результат рзделения текстового поля в массив, в котором каждый элемент - отдельная строчка.
Вот пример
ЗЫ Не ДиМ, а ДиН ;)
Динкин Дин, но ты меня не понял, я мог поделить строку по \r \n и без RegExp, мне просто не это нужно....
есть такой язык дебильный иврит, у него дебильнейшая особенность право-лево направление текста, вот в 2004, это для меня реальная проблема, в МХ я пользовался зеркальными шрифтами и флипом текстфилда
в 2004 такой трюк проканывает только с 2 шрифтами измоей коллекции, но есть другой вариант что 2004 прекрасно работает с юникодными шрифтами, но не берет направление...
поэтому когда одна строка я просто меняю расположение буквы (первая -> последняя, вторая -> предпоследняя и т.д.), но с многострочнами текстфилдами трабл, если так переворачивать получается что начало предложения находится в конце - то есть в последней строчке!!!!
Ковырялся, ковырялся - сделал что-то вроде этого... Багов, конечно, море - фокус ввода не там где нужно, собственно говоря, можно только вводить символы и удалять их бэкспейсом. Но хоть кое-что =)
Диндиныч спасибо :) за соучастие, но это опять не то!
с инпутом нету проблем, если в системе стоит иврит, то печатается без проблем, так как при инпуте если не внедрять шрифт, то это прибамбах виндовса, проблема с динамическими текстфилдами, у меня сайт динамический, все через базу, вот загоняешь
tf.text =_global.getLabel (21);
_global.getLabel = function (s) {
var output = "";
var string = _global.lb [s][_global.lang];
if (_global.lang == undefined || global.lang == "he") {
for (i = string.length; i >0; i--) {
output += string.substr (i-1,1);
}
} else {
output = string;
}
return output;
}
вот но проблема та же, как и в твоем примере, что когда строчек становиться больше чем одна, верхня (которая должна быть там) идет вниз...
З.Ы. я пробовал, добавлять по символу в текстфилд и смотреть TextField.maxscroll.... но это на маленькие стринги, а если большие текстблоки... можно конечно как прелоадер выдать :)
Э-ээ я похоже я совсем запутался... Может нужно это - ?
Народ мож я не прочитал все посты и буду повторяться, извенити
Ща релизровавал парсинг текста на вставку смайлов(( бредовая робота, компонентом пока не поделюсь, не готов
Для определения строк ислользовал myTextFormat.getTextExtent() возвращает параметры текста(высоту, ширину etc).
Процес простой заганяеш в буферное поле(размером с оригинал) по одному слову, проверяеш увеличение текста, если увеличилась произошол переход на новую строку, определьть чо за слово, думаю е проблема будет.
Недостаток: не работает с хтмл-тагами, пришлось все переделать, определять параметры каждого символа, блятьство но нуна сделать
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.