Логин:     Забыли пароль?
 
Пароль:   Регистрация

Форум / Программирование - MSWord. Расчет длины строки  

MSWord. Расчет длины строки

Murcha
Murcha
Посетитель
Сообщения: 5
[Сообщение #1] 4 ноября 2011, 21:37
Пишу программу для заполнения бумажных форм через принтер. Отсюда и неизменность размеров ячейки для вывода.
Подскажите как рассчитать длину введенного предложения в TEdit и как увеличить/уменьшить шрифт, чтобы влезло в ячейку MSWord заданного размера? И еще как поставить в нужный момент знак перехода строки (если маленький шрифт - то влезе 2 строчки).
Суть работы программы: находит в шаблоне метку (например ##дом.адрес##) и заменяет.
И еще: можно ли подсчитать длину ячейки программой? Чтобы самому константой не вбивать - а то там много разных.

bugmenot
bugmenot
3-ий класс
Сообщения: 88
[Сообщение #2] 4 ноября 2011, 21:40
см. Graphics.TCustomCanvas.TextWidth

виконання програми розпочинається з того самого мiсця, де призупинилося.

Murcha
Murcha
Посетитель
Сообщения: 5
[Сообщение #3] 4 ноября 2011, 21:44
Можно ссылку на русское описание? А то гугл на английское все кидает.

Murcha
Murcha
Посетитель
Сообщения: 5
[Сообщение #4] 4 ноября 2011, 21:45
И какой-нибудь пример использования

Ерёмин А.А.
Ерёмин А.А.
*Администратор
Сообщения: 435
[Сообщение #5] 4 ноября 2011, 21:57
В случае с шириной текста в Word Canvas.TextWidth может дать и другой результат — там ведь у шрифта куча всяких параметров, которые будут влиять на ширину. Так что не всё так просто, имхо.

Murcha
Murcha
Посетитель
Сообщения: 5
[Сообщение #6] 4 ноября 2011, 22:22
Шрифт стандартный, TimesNewRoman.
Незнаю как тут пример документа вставить, но смысл такой:
допустим длинна ячейки 20 символов, тогда если в TEdit 27 символов, то шрифт с 12 уменьшаем до 9 (примерно) и вставляем ...
Как это рассчитать - я понимаю, как реализовать в коде - нет, в этом прошу помощи (код, ссылки, советы)

bugmenot
bugmenot
3-ий класс
Сообщения: 88
[Сообщение #7] 5 ноября 2011, 00:39

Цитата (Ерёмин А.А.):

там ведь у шрифта куча всяких параметров, которые будут влиять на ширину
Резонно, но все текстовые метрики можно воспроизвести. Хотя тогда будет непонятно зачем вообще нужен Ворд.

виконання програми розпочинається з того самого мiсця, де призупинилося.

Ерёмин А.А.
Ерёмин А.А.
*Администратор
Сообщения: 435
[Сообщение #8] 5 ноября 2011, 11:52
Автор решил ещё и вопрос задать — вопрос #5719, не поймёшь, где и писать теперь.

А вот про 2 строки я что-то не понял:

Цитата (Murcha):

И еще как поставить в нужный момент знак перехода строки (если маленький шрифт - то влезе 2 строчки).

Так нужна одна или можно две? И зачем делать этот перенос вручную, Word и сам в состоянии.

Murcha
Murcha
Посетитель
Сообщения: 5
[Сообщение #9] 14 ноября 2011, 22:24
Ерёмин А.А.: не совсем разобрался в структуре сайта :)
Предложенная там книжка не раскрывает этого вопроса, к сожалению. С неё я и начал, собственно.
Дело в том, что высоту и ширину ячейки менять нельзя, иначе на печатной форме (типографской) текст на поля выйдет...


Всего сообщений: 9 (сейчас показаны: с 1 по 9)

Перейти в раздел:


 © 2004 - 2017, Delphi.int.ru
Версия форума: 1.10 (19.01.2010)
RSS Delphi.int.ru Expert Код
Выполнено за 0.03 сек.
Обратная связь  
Рейтинг@Mail.ru Majordomo.ru - надёжный хостинг