Просмотр полной версии : количество строк в текстовом поле
как посчитать количество строк в текстовом поле?
например _root.text
...?
Insane shout
23.03.2002, 00:04
Используй свойство _maxscroll.
Например:
_root.text._maxscroll;
mne nada poschitat' kolichestwo strok w pole _root.text i zapisat' eto chislo w peremennuy count
wot tak ne poluchaetsya count=_root.text._maxscroll
tak chto... wopros po prezhnemy otkrit...
а слабо динамически менять размер строки и количество строк? (без насильного ввода пустых пробелов - чтобы контент был не кривой)
Insane shout
23.03.2002, 01:52
Упс :rolleyes: , ошибся немного :D , не _maxscroll, а maxscroll.
Тобишь, count=_root.text.maxscroll;
Вот так.
И не забудь, что в текстовом поле отсчёт строк начинается не с одного, а с нуля.
Nox Noctis
23.03.2002, 02:44
2xfiles
эххх... тебе ли не знать, что истина где-то рядом :)
во-первых:
максскролл показывает не количество строчек в поле, а количество _непомещающихся_ в поле строчек... чувствуете разницу ? ;)
во вторых - в пятерке нет способа абсолютно точно узнать количество строк (или ширину ими занимаемую) в текстовом поле... даже если у вас моноширинный шрифт (вроде Курьера), то подсчет ширины по количеству символов абсолютной точности не даст...
так что все можно сосчитать только приблизительно...
а слабо динамически менять размер строки и количество строк? (без насильного ввода пустых пробелов - чтобы контент был не кривой)
а слабо ! :D
слушай, расскажи, да ? :D
Insane shout
23.03.2002, 03:01
А для определения кол-ва строк в поле (именно в видимой части прокрутки всего текста) можно использовать scroll, а не maxscroll. :)
Nox Noctis
23.03.2002, 03:09
2insane shout
ээээ... извините :) это опять не то :)
свойство scroll имеет диапазон значений
от 1
до maxscroll
уже из этого понятно, что как определение количества отображаемых за один раз строчек это свойство испоьзовать нельзя...
чтобы определить емкость поля (количество символов, помещающихся за один раз в поле) можно вначале, до загрузки в поле текста, прогнать цикл, в котором в это поле записываетс известое число символов и проверяется свойство maxscroll этого поля:
как только maxscroll стал отличен от единицы - все, текст вылез за границы поля...
этот метод бывает полезен когда поле хтмльное и размер шрифта (а соответственно количество влезающих строчек) может меняться
а больше способов вроде нету... только если не-динамически:
просто посмотреть сколько строчек влезает в это поле для данного размера шрифта...
tak wsezhe mozet kak to poschitat' kolichestwo simwolow potom eto kolichestwo podelit' na kolichestwo simwolow w odnoy stroke i okruglit' k bol'shemy znacheniu?
toka kak eto sdelat'?
2 Nox Noctis
не расскажу.
мне и самому слабо :)
2 xfiles
не забывай что символы имеют разную ширину.
пользуйся maxscroll и не изобретай велосипеды.
Нахрена тебе это? Вычислять размер скроллера в зависимости от количества строк?
Всё что сказали выше - это исчерпывающая информация.
nu i kak zhe max scrollom poshitat' skol'ko strok?
Nox Noctis
24.03.2002, 16:06
да никак... :rolleyes:
я, помнится, пробовал посчитать как можно точнее ширину строки при помощи измерения количества пикселей, занимаемых каждой буквой для определенного шрифта и сложения этих цифирек - но то ли пиксели во флэше не того размера, то ли еще что - точности не получается... то же самое для моно ширинного шрифта... даже для него точно ничего не считается...
так что можно только приблизительно прикинуть...
ну, можно еще заняться изобретением велосипеда -
делаешь поле нужной ширины, но по высоте в одну строку.
записываешь туда посимвольно свой текст и каждый раз когда maxscroll становится больше 1... ну короче я писал чуть выше...
но тормозить это будет... или, если нормально сделать - тормозить не будет, но будет просто долго работать :D
blin...
wse chto mne nuzhno tak eto priswoit' peremennoy scr znachenie "true" esli text wmeshaetsya w dyn. pole i "false" esli ne pomeshaetsya...
to est' esli tak
----------------------------------------
|aaaaaaaaaaaaaaaaaaaaaaaa|
|aaaaaaaaaaaaaaaaaaaaaaaa|
|aaaaaaaaaaaaaaaaaaaaaaaa|
|aaaaaaaaaaaaaaaaaaaaaaaa|
----------------------------------------
to scr="true"
a esli
----------------------------------------
|aaaaaaaaaaaaaaaaaaaaaaaa|
|aaaaaaaaaaaaaaaaaaaaaaaa|
|aaaaaaaaaaaaaaaaaaaaaaaa|
|aaaaaaaaaaaaaaaaaaaaaaaa|
----------------------------------------
aaaaaaaaaaaaaaaaaaaaaaaaa
bbbbbbbbbbbbbbbbbbbbbbbbb
eeeeeeeeeeeeeeeeeeeeeeeee
to scr="false"
а текстбокс всегда одной высоты?
if(scr.maxscroll>4)scr=false;
или не так?
Nox Noctis
24.03.2002, 16:45
Оригинал написал(а) xfiles
priswoit' peremennoy scr znachenie "true" esli text wmeshaetsya w dyn. pole i "false" esli ne pomeshaetsya...
и правда "блин" !.. :D
а раньше никак нельзя было это сказать ? :p
и потом тут уже несколько раз сказали:
если maxscroll отличен от единицы - то текст НЕ помещается в поле
если maxscroll равен единице - то текст помещается в поле
какие еще вопросы - то ? ;) ;)
spasibo bol'shoe wsem, eto ya tak cherez zadnicy wopros zadal... =))
=))
chto oops?
wse rabotaet!!
Nox Noctis
24.03.2002, 18:14
2xfiles
надо переделать девиз на
"The truth is not here"
;) :) :p
xfiles - эт я сам с собой разговариваю :D
Делай так:
_visible=Text.maxscroll>1;
OOPs.. опоздал :)
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.