:: Архив конференции по VFP до 2005 года
Помогите с отчетом
rain

Сообщений: 5
Дата регистрации: 17.02.2005
Народ, подскажите - надо при печати отчета делать масштабирование полей - т.е. в зависимости от длины данных подгонять шрифт дабы данные нормально отображались, а не обрезались пословно, как это делает Fox("Stretch with overflow" не подходит, поскольку требуется уместить в одну строку, без переноса). Подскажите - может кто решал эту проблему.
Ratings: 0 negative/0 positive
Re: Помогите с отчетом
Гулин Федор

Сообщений: 4633
Откуда: Минск
Дата регистрации: 24.10.2002
единственный способ который я знаю
забиваешь в базу значения по всей длине поля c(10) - 10 символов и выводишь
моноширинным шрифтом и смотришь
а если Arial - то забивай символы поширше типа W

зы а вот в ексел есть такая галочка вместить значение поля в ячейку
Ratings: 0 negative/0 positive
Re: Помогите с отчетом
rain

Сообщений: 5
Дата регистрации: 17.02.2005
Про Exel - не трави душу... ну нельзя там Exel использовать - запрещено.

У меня значения из Вьюва, берутся, а база там на редкость муда..ая FireBird, так что не подойдет твой способ.




------------------
Ratings: 0 negative/0 positive
Re: Помогите с отчетом
Дмитрий Петров

Сообщений: 3066
Откуда: Пермь
Дата регистрации: 09.07.2001
Моя думает пропорцию составлять надо однако.
выбираем MAX(LEN(ALLTRIM()) для каждого поля
сумма этих длин- вся ваша ширина.
Дальше считаем при каком fontsize поместится на лист
(с моноширинным шрифтом)
Ratings: 0 negative/0 positive
Re: Помогите с отчетом
rain

Сообщений: 5
Дата регистрации: 17.02.2005
Ага, моя так-же думает. Не проблема эту пропорцию посчитать. Однако для этого я должен открыть файл отчета как таблицу - раскопать проблемные поля(где не влазит) - изменить для них шрифт и т.п. А так хотелось цивилизованного изменения, чтобы внутри отчета динамически менять шрифт типа - Если не влазить, найти подходящий и установить параметры шрифта для этого поля.
Ratings: 0 negative/0 positive
Re: Помогите с отчетом
piva

Сообщений: 18655
Откуда: Курган
Дата регистрации: 24.03.2004
Тогда бери 9-ку - там в ReportListener это на ура делается




------------------
Часто бывает так, что есть над чем задуматься, а нечем.
Ratings: 0 negative/0 positive
Re: Помогите с отчетом
rain

Сообщений: 5
Дата регистрации: 17.02.2005
Спасибо, приму к сведению. Правда эти ...ы уже 8-ку купили.
Ratings: 0 negative/0 positive
Re: Помогите с отчетом
Владимир Максимов
Автор

Сообщений: 14095
Откуда: Москва
Дата регистрации: 02.09.2000
Варианты:

-) Кладешь в это место 2...3 (сколько может быть вариантов шрифта) абсолютно одинаковых объекта, но для каждого из них настрой свой шрифт и установи Print When, чтобы печатался только какой-то один. При подготовке отчета просто устанавливаешь флаг, чтобы печатался только один из этих объектов. Правда, редактировать такой отчет - та еще песня.

-) Выбираешь шрифт, в котором ширина пробела очень маленькая, например Arial Narrow. После каждого символа в строке вставляешь пробел. Т.е. в качестве "слова" для переноса FoxPro будет использовать каждую букву в отдельности. По сути, вместо:

Цитата:
"Длинное предложение"

Надо выввести

"Д л и н н о е п р е д л о ж е н и е"

-) Использовать шрифт равной ширины, например Courier New и самому вычислять количество символов на строку, вставляя в нужном месте Chr(13) или Chr(10)

"Длинное пред"+CHR(13)+"ложение"




------------------
Ratings: 0 negative/0 positive
Re: Помогите с отчетом
rain

Сообщений: 5
Дата регистрации: 17.02.2005
Спасибо, мне вариант с несколькими объектами друг под другом больше подойдет(хоть и проблемней) - уже и функции написал.
Вдогонку может кто подскажет имеется или нет функция, возвращающая ширину поля отчета(не текста, который в этом поле набран). Можно конечно открывать Отчет.frx искать в мемо полях по значению переменной нужное тебе поле и смотреть его ширину - но ведь Fox это значение туда кладет, значит такая функция должна быть.
А Микрософт за изгаживание продукта просто поубивал-бы - это надо было так поиздеваться... Отчеты до 9-ой версии принципиально не менялись, а это ну лет 7 как.
Ratings: 0 negative/0 positive
Re: Помогите с отчетом
Владимир Максимов
Автор

Сообщений: 14095
Откуда: Москва
Дата регистрации: 02.09.2000
Цитата:
Вдогонку может кто подскажет имеется или нет функция, возвращающая ширину поля отчета(не текста, который в этом поле набран).
-) В режиме модификации отчета пункт меню View - Show Position. У этого пункта при повторном открытии должна появиться "птичка"
-) Выделяешь нужный объект и смотришь в StatusBar собственно FoxPro положение и размер объекта в текущих единицах измерения отчета (дюймы или сантиметры)




------------------
Ratings: 0 negative/0 positive


Извините, но у вас нет прав для того, чтобы оставлять сообщения в этом форуме.

On-line: 8 (Гостей: 8)

© 2000-2024 Fox Club 
Яндекс.Метрика