Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Деление строки [D7, XP]


Артём ©   (2011-02-25 00:59:00) 

Удалено модератором
Примечание: Не надо заводить кучу тем с одинаковым вопросом.


Германн   (2011-02-25 03:36:00) [1]


> Здравствуйте мастера! Подскажите как можно решить данную
> проблему


> sniknik ©   (25.02.11 01:28) [1]
>
> http://www.delphimaster.ru/cgi-bin/forum.pl?id=1298464739&n=18
>

Какую проблему нужно решить?


KilkennyCat   (2011-02-25 01:52:00) [2]

TStringList - загнав в него текст для разбития и установив соответствующие делиметеры (пробел - по умолчанию уже) можно легко получить массив слов.
Подробнее описано в интернете миллионократно.

Далее можно поступить следующим образом: вычислить длину каждого слова, и дальше сформировать строку, где сумма длин будет не более длины вывода, либо постепенно формировать строку, пока ее длина не превысит длину вывода.
Для вычисления использовать Canvas.TextWidth.

Либо выводить столько слов, сколько требуется.
Либо выводить, пока не встретится конкретное слово.
Либо что-угодно вообще.

проделать эту операцию пока слова не кончатся.

либо использовать DrawText c DT_CALCRECT.

Но все это извращение.
В отчетах имеется автоматический перенос строк.


sniknik   (2011-02-25 01:28:00) [3]

http://www.delphimaster.ru/cgi-bin/forum.pl?id=1298464739&n=18


Наверх

Титульная страница Поиск, карта сайта Написать письмо