Имя: Пароль:
1C
 
Промблема определения длины текстовой строки в мм.
Ø
0 aKomper
 
01.07.05
09:04
Есть строка, для простоты выводится строго определенным шрифтом. Как можно наиболее точно определить длину этой строки в миллиметрах? Набор символов строки заранее неизвестен
1 NoName
 
01.07.05
09:06
используй моноширинный шрифт - будет легче
2 Ирбис
 
01.07.05
09:06
а на кой, извините, ляд это нужно? Может проблема решается по другому?
3 aKomper
 
01.07.05
09:11
1 - скажи, че за шрифты такие?
2 - Треба печатать документы на стандартной заготовке. Для некоторых полей в заготовке предусмотрено две строки, одна под другой. Например, так печатается адрес в ПТС на авто. Так вот, нужно разделить троку с адресом на две строки, и правильно определить момент разрыва исходной строки.
4 jurii
 
01.07.05
09:11
А никак!
Есть конечно способ:
- делаешь ячейку таблицы определенной длиной (чем длиньше, тем лучше)
- забиваешь её одним символом (полностью) до конца строки. Останавливаешся когда следующий символ перенесётся на сл.строку
- делишь длину строки в мм на количество введенных символов
Так можно получить сколько данный символ занимает мм
Прогоняешь весь алфавит... И получаешь то, что тебе нужно.
НО!!!!!!!!!
Если ты настраивал на компе, к которому подключен HP, то это ДАЛЕКО НЕ ЗНАЧИТ, ЧТО ТОТ ЖЕ РЕЗУЛЬТАТ БУДЕТ на Canon или Xerox
5 BigBro
 
01.07.05
09:12
курьер вроде моноширинный был.
6 jurii
 
01.07.05
09:14
(3) Если принтера меняться не будут, то попробуй способ 4
А (1) имел в виду шрифт типа Courier
7 aKomper
 
01.07.05
09:14
4 - Я так и делал, только ширина символов разная, потому точно определить место переноса так не выходит. Вот если-бы ширина была одинакова у всех символов, как говорит (1). Счас ищу это дело. А принтер один, на него вся настройка пойдет, проблемы тут не будет с моделями
8 elisabet
 
01.07.05
09:17
(3) я для ПТС печать делала - разрыв был по словам и определенному количеству букв ... методом проб и ошибок ...
9 Северянин
 
01.07.05
09:17
(3) Courier - моноширинный
10 aKomper
 
01.07.05
09:17
1,6 - Спасиба, точно ширина одинакова у всех символов. Этого мне за глаза :)
11 aKomper
 
01.07.05
09:19
8 - Я так сделал, но мне не нравится неопределенность. Всегда есть шанс на косяк в таком случае, потому как никогда точно не знаешь, какие будут символы в строках. А вот когда точно знаешь, сколько символов получится на строку, тогда ошибок не будет
12 Юрикс
 
01.07.05
09:23
(11) а почему бы не сделать ячейку нужного размера и автоперенос?
зы: печать из 1С?
13 elisabet
 
01.07.05
09:31
(12) Автоперенос в данном случае не катит, ПТС - это номерной бланк, его только один раз выдают, поэтому нужно точно в ячейки попадать ...
14 Наркотики
 
01.07.05
09:31
1. Замерь ширину каждой буквы алфавита на бумаге.
2. Напиши функцию определения длины строки.
15 aKomper
 
01.07.05
09:36
14-изврат
16 Юрикс
 
01.07.05
09:40
(13) и кто мешает точно попасть??
17 aKomper
 
01.07.05
09:46
16 - Если верхняя строка (из которой перенос) будет левее и короче нижней (на которую перенос), да еще между ними расстояние больше, чем получается при переносе, то как ты перенесешь тут?
Основная теорема систематики: Новые системы плодят новые проблемы.