PDA

Просмотр полной версии : количество строк в текстовом поле


xfiles
22.03.2002, 23:58
как посчитать количество строк в текстовом поле?
например _root.text
...?

Insane shout
23.03.2002, 00:04
Используй свойство _maxscroll.
Например:
_root.text._maxscroll;

xfiles
23.03.2002, 01:29
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...

Racer
23.03.2002, 01:30
а слабо динамически менять размер строки и количество строк? (без насильного ввода пустых пробелов - чтобы контент был не кривой)

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 стал отличен от единицы - все, текст вылез за границы поля...

этот метод бывает полезен когда поле хтмльное и размер шрифта (а соответственно количество влезающих строчек) может меняться

а больше способов вроде нету... только если не-динамически:
просто посмотреть сколько строчек влезает в это поле для данного размера шрифта...

xfiles
23.03.2002, 15:01
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'?

xfiles
23.03.2002, 23:28
ale...

Racer
24.03.2002, 03:14
2 Nox Noctis

не расскажу.

мне и самому слабо :)

Racer
24.03.2002, 03:20
2 xfiles

не забывай что символы имеют разную ширину.
пользуйся maxscroll и не изобретай велосипеды.

Нахрена тебе это? Вычислять размер скроллера в зависимости от количества строк?

Всё что сказали выше - это исчерпывающая информация.

xfiles
24.03.2002, 04:14
nu i kak zhe max scrollom poshitat' skol'ko strok?

Nox Noctis
24.03.2002, 16:06
да никак... :rolleyes:
я, помнится, пробовал посчитать как можно точнее ширину строки при помощи измерения количества пикселей, занимаемых каждой буквой для определенного шрифта и сложения этих цифирек - но то ли пиксели во флэше не того размера, то ли еще что - точности не получается... то же самое для моно ширинного шрифта... даже для него точно ничего не считается...

так что можно только приблизительно прикинуть...

ну, можно еще заняться изобретением велосипеда -
делаешь поле нужной ширины, но по высоте в одну строку.
записываешь туда посимвольно свой текст и каждый раз когда maxscroll становится больше 1... ну короче я писал чуть выше...

но тормозить это будет... или, если нормально сделать - тормозить не будет, но будет просто долго работать :D

xfiles
24.03.2002, 16:24
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"

sts
24.03.2002, 16:45
а текстбокс всегда одной высоты?

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 равен единице - то текст помещается в поле

какие еще вопросы - то ? ;) ;)

xfiles
24.03.2002, 17:20
spasibo bol'shoe wsem, eto ya tak cherez zadnicy wopros zadal... =))
=))

sts
24.03.2002, 17:21
oops...

xfiles
24.03.2002, 17:37
chto oops?
wse rabotaet!!

Nox Noctis
24.03.2002, 18:14
2xfiles
надо переделать девиз на
"The truth is not here"
;) :) :p

sts
24.03.2002, 18:20
xfiles - эт я сам с собой разговариваю :D

Racer
25.03.2002, 01:05
Делай так:
_visible=Text.maxscroll>1;

OOPs.. опоздал :)

xfiles
25.03.2002, 03:08
thanx all... =))