Как вычислить длину строки
|
|
andrej | Дата: Среда, 06 Февраля 2008, 14:11 | Сообщение # 1 |
Новый участник
Группа: Пользователи
Сообщений: 3
Репутация: 0
Награды: 0
Статус: Offline
| Здравствуйте! Вопрос такой: Всякие текстовые объекты по-своему форматируют текст. Как можно рассчитать длину и.или высоту строки в пикселях, чтобы правильно вписывать текст в объект? Может плагин какой есть? Спасибо.
Андрей
|
|
| |
andrej | Дата: Среда, 06 Февраля 2008, 15:59 | Сообщение # 2 |
Новый участник
Группа: Пользователи
Сообщений: 3
Репутация: 0
Награды: 0
Статус: Offline
| Вот зачем: Размер объекта 'Paragraph ',например задан в пикселях и при выводе строк разной длины он их всякий раз по разному переносит, а нужно соблюдать колонки. ListBox-воовще обрезает. Я эмпирически нашел нужную длину строки и/или ширину овъекта, но стоит измениться размеру шрифта,как все надо подгонять заново. На самом деле в инете этот вопрос поднимается достаточно часто.Т.к.размер текста, или списка относительно небогльшой (100-150 строк макс.) , возможен и горизонтальный скроллинг.
Андрей
|
|
| |
toizy | Дата: Среда, 06 Февраля 2008, 20:10 | Сообщение # 3 |
Студийная субстанция
Группа: Администраторы
Сообщений: 2309
Репутация: 29
Награды: 12
Статус: Offline
| Quote (andrej) а нужно соблюдать колонки для форматирования используй плагины. Параграф для этого не подходит
Жизнь оказалась не такой уж и забавной, как поначалу...
|
|
| |
as-master | Дата: Суббота, 09 Февраля 2008, 02:54 | Сообщение # 4 |
Разводящий
Группа: Модераторы
Сообщений: 2337
Репутация: 101
Награды: 5
Статус: Offline
| Что касается ПОЛУЧЕНИЯ размеров объектов, то для этого естт констаны: ObjectX(ИмяОбъекта) - позволяет получить координату Х объекта ObjectWidth(ИмяОбъекта) - позволяет получить длину указанного объектат и тд.. То есть ты всегда можещь знать положения и размеры твоеи объектов в проекте. и это используется очень часто. по крайней мере мной
Да пребудет с вами ММВ!
|
|
| |
toizy | Дата: Суббота, 09 Февраля 2008, 09:26 | Сообщение # 5 |
Студийная субстанция
Группа: Администраторы
Сообщений: 2309
Репутация: 29
Награды: 12
Статус: Offline
| Да нет, ему нужны метрики текста в параграфе. К тому же форматирование. Ни то, ни другое не получится. Кстати, что-то автор темы потерялся. Заходит, а ничего не отвечает - как там дела?
Жизнь оказалась не такой уж и забавной, как поначалу...
|
|
| |
as-master | Дата: Суббота, 09 Февраля 2008, 12:21 | Сообщение # 6 |
Разводящий
Группа: Модераторы
Сообщений: 2337
Репутация: 101
Награды: 5
Статус: Offline
| На самом деле ты совершенно прав. Я столкнулся с этой проблемой когда делал свой проект с альтернативной прокруткой. То есть прокрутка была рисования, но было нужно соблюдение условия, что ширина параграфа в строках или там в пикселах была бы заданной изначально. LEX, кстати наш потерявшийся чен клуба, когда делал свой конкурсный проект "Перемещение мышью пунктов в списке", тоже столкнулся с тем, что высота строк разных шрифтов может быть разной. Более того: она может быть разной даже... у шрифта с одним и тем же названия, но сделанным разными производителями. Спасибо за внимание.
Да пребудет с вами ММВ!
|
|
| |
Alex3A | Дата: Суббота, 09 Февраля 2008, 15:19 | Сообщение # 7 |
Друг клуба ММВ
Группа: Проверенные
Сообщений: 2646
Репутация: 39
Награды: 11
Статус: Offline
| Я втречал такую фичу, в принципе это возможно, но это не под билдер. В билдере тоже возможно, однако надо немного поработать головой, так что если кто то пожелает осилить такой алгоритм - это будет достойный пример.
|
|
| |
Alex3A | Дата: Суббота, 09 Февраля 2008, 19:16 | Сообщение # 8 |
Друг клуба ММВ
Группа: Проверенные
Сообщений: 2646
Репутация: 39
Награды: 11
Статус: Offline
| А если использовать в качестве параграфа объект броузер то проблема решается елементарно - простым выравниванием, к примеру align='justify' равномерно распределит ваш текст.
|
|
| |
as-master | Дата: Суббота, 09 Февраля 2008, 19:27 | Сообщение # 9 |
Разводящий
Группа: Модераторы
Сообщений: 2337
Репутация: 101
Награды: 5
Статус: Offline
| Quote (Alex3A) В билдере тоже возможно, однако надо немного поработать головой, Можно сделать, да, но на больших массивах текста начнется враньё. Добавлено (09 Февраль 2008, 19:27) ---------------------------------------------
Quote (Alex3A) если использовать в качестве параграфа объект броузер Какр раз хотел добавить, что всё больше к использованию этого объекта. Тут тебе сразу и текст, и картинки. Есть только одно НО: у юзеров стоят РАЗНЫЕ браузеры по умолчанию И как-то оно там отобразиться?
Да пребудет с вами ММВ!
|
|
| |
Alex3A | Дата: Суббота, 09 Февраля 2008, 19:34 | Сообщение # 10 |
Друг клуба ММВ
Группа: Проверенные
Сообщений: 2646
Репутация: 39
Награды: 11
Статус: Offline
| Я имею ввиду объект броузер, правда он тоже зависит от установленого, но различия в работе скриптов явы не столь существенны, так что для большинства вариантов применения в качестве параграфа все покатит. Надо только не злоупотреблять таблицами и всякими излишествами, может иногда придеться немного прилизать хтмл код.
|
|
| |
YURIY | Дата: Суббота, 09 Февраля 2008, 20:41 | Сообщение # 11 |
Злостный админ
Группа: Администраторы
Сообщений: 3018
Репутация: 71
Награды: 28
Статус: Offline
| Quote (as-master) Есть только одно НО: у юзеров стоят РАЗНЫЕ браузеры по умолчаниюИ как-то оно там отобразиться? Я всегда думал, что объект браузер поддерживает работу ТОЛЬКО с IE. Разве не так?
Вечная память Андрею Сергееву!
|
|
| |
Alex3A | Дата: Воскресенье, 10 Февраля 2008, 14:13 | Сообщение # 12 |
Друг клуба ММВ
Группа: Проверенные
Сообщений: 2646
Репутация: 39
Награды: 11
Статус: Offline
| Здесь могут быть два варианта, мне просто сейчас в облом это выяснять, 1 - объект полностью автономен, то есть везде будет функционировать одинаково. 2 - объект использует елемент активе Х, в даном случае могут быть различия. В любом случае, можно добиться одинакового отображения. То что я писал в отношении явы относится к особо изощренным вариантам, с применением сценариев. В остальных случаях проблем не должно быть. Quote (as-master) Можно сделать, да, но на больших массивах текста начнется враньё. Как то не встречал такого, правда и текстов на сотни мег тоже не вставлял, но если вставить - будет километровая длина объекта:). Quote (Yuriy) Я всегда думал, что объект браузер поддерживает работу ТОЛЬКО с IE. Разве не так? Смотри выше, варианты 1 и 2, броузер это тср клиент имеющий поддержку скриптового языка, он может использовать некоторые имеющиеся в системе возможности или иметь свой вариант поддержки (это мне больше нравиться).
|
|
| |
toizy | Дата: Воскресенье, 10 Февраля 2008, 14:57 | Сообщение # 13 |
Студийная субстанция
Группа: Администраторы
Сообщений: 2309
Репутация: 29
Награды: 12
Статус: Offline
| Скорее всего, используется activex. Иначе размер плеера был бы немерянным в 1,2 мегабайта не уместить полноценный браузер наряду со всем остальным хламом.
Жизнь оказалась не такой уж и забавной, как поначалу...
|
|
| |
Alex3A | Дата: Воскресенье, 10 Февраля 2008, 18:01 | Сообщение # 14 |
Друг клуба ММВ
Группа: Проверенные
Сообщений: 2646
Репутация: 39
Награды: 11
Статус: Offline
| Quote (toizy) в 1,2 мегабайта не уместить полноценный браузер наряду со всем остальным хламом. В принципе, вполне может уместиться, интерпритатор билдера гораздо меньше объемом. Можешь посмотреть - у Тедди есть небольшой скриптовый движок, и места много он не занимает. Так что размер вовсе не определяет "умность" программы. А размеры большие от мелкософтовских "паровозов" с их жуткой иерархией. Конечно, использование актива проще всего, взял бы и определил, с чем имеем дело, это не так уж сложно.
|
|
| |
toizy | Дата: Воскресенье, 10 Февраля 2008, 18:41 | Сообщение # 15 |
Студийная субстанция
Группа: Администраторы
Сообщений: 2309
Репутация: 29
Награды: 12
Статус: Offline
| Quote (Alex3A) у Тедди есть небольшой скриптовый движок Это где скачать?
Жизнь оказалась не такой уж и забавной, как поначалу...
|
|
| |
Alex3A | Дата: Воскресенье, 10 Февраля 2008, 22:44 | Сообщение # 16 |
Друг клуба ММВ
Группа: Проверенные
Сообщений: 2646
Репутация: 39
Награды: 11
Статус: Offline
| Quote (toizy) Это где скачать? Quote http://thaddy.co.uk/ Web-сайт, автор Thaddy De Koning, домашняя страница: www.thaddy.com Компонента называется kol axscript, некий скриптовый движок, правда тоже гад на активе! msscript.ocx
|
|
| |
toizy | Дата: Понедельник, 11 Февраля 2008, 10:57 | Сообщение # 17 |
Студийная субстанция
Группа: Администраторы
Сообщений: 2309
Репутация: 29
Награды: 12
Статус: Offline
| Quote (Alex3A) правда тоже гад на активе! А! так на активе мы и сами написать смогём. Я думал, он свой интерпретатор слобал.Добавлено (11 Февраль 2008, 10:57) --------------------------------------------- Не, Алекс, не на активе. В комментах сказано, что "Active scripting without using msscript.ocx." Значиццо, актив не юзаеццо
Жизнь оказалась не такой уж и забавной, как поначалу...
|
|
| |
Alex3A | Дата: Понедельник, 11 Февраля 2008, 14:03 | Сообщение # 18 |
Друг клуба ММВ
Группа: Проверенные
Сообщений: 2646
Репутация: 39
Награды: 11
Статус: Offline
| Quote (toizy) Не, Алекс, не на активе. Недосмотрел, мож пригодиться, сильно не копал.
|
|
| |