:: Главная :: Решения :: Статьи :: Проект "Русский help" :: Файловый архив :: Фотоальбом :: Ссылки ::
   Л и с о в о д ы   в с е х   с т р а н,  о б ъ е д и н я й т е с ь !!!  


Форумы  :: FAQ FoxPro

VFP8 некорректно отображает содержимое отчета
Дата: 18.09.05 10:40:19 ОтветитьЦитировать

Проблема.

При выполнении отчета в среде Visual FoxPro 8.0 буквы наезжают друг на друга или отображаются непонятные "закорючки"

Причина.

Причина связана с тем, что в Visual FoxPro 8 как-то изменили обработку отчетов, использующих TrueType - шрифты в случае оптимизации печати принтером. Т.е. это ситуации, когда принтер пытается печатать такие шрифты не как графику, а используя некую внутреннюю библиотеку шрифтов.

Решение.

Есть несколько решений

  1. Отказаться от использования TrueType-шрифтов
  2. Изменить настройки драйвера принтера у клиента
  3. Принудительно изменить настройки каждого файла отчета


Отказаться от использования TrueType-шрифтов.

Данный совет трудно исполним на практике. Как правило, при подготовке отчетов используют несколько видов шрифтов. Сложно найти адекватную замену TrueType-шрифтам.

В идеале, желательно создать собственные шрифты. Но далеко не каждый программист на это способен.


Изменить настройки драйвера принтера у клиента.

В операционных системах Windows 95 или Windows 98 необходимо установить печать шрифтов в виде графики. Для старших версий операционной системы такого переключателя нет. Там необходимо отключить оптимизацию печати.

Проблема только в том, что это "внешние" по отношению к самой программе настройки. А это значит, что проконтролировать их значение у клиента практически невозможно. Тем более некорректно требовать принудительного задания настроек внешних устройств только для того, чтобы корректно работала одна из многих программ, установленная на компьютере клиента.


Принудительно изменить настройки каждого файла отчета.

А вот это то, что может реально сделать разработчик программы, хотя это достаточно кропотливое занятие, требующее от программиста повышенной бдительности.

Физически, файлы отчетов FoxPro - это обычные DBF-таблицы. Просто у них изменено расширение. DBF - FRX, FPT - FRT.

Вам следует открыть файл отчета как таблицу командой

USE MyReport.frx
BROWSE
В этой команде следует обязательно указать расширение файла отчета "FRX". В противном случае, FoxPro посчитает, что речь идет о файле с расширением DBF.

Теперь находите в этом файле запись со значениями полей

ObjType = 1
ObjCode = 53
Как правило, это физически самая первая запись.

Откройте на редактирование в этой записи Memo-поле с именем Expr. Найдите (или создайте) строку, начинающуюся с ключевого слова TTOPTION и установите значение

TTOPTION=1
Это и означает команду принтеру печатать TrueType-шрифты как графику. Сохраните внесенные изменения и закройте файл отчета.

Недостаток данного решения в том, что после каждой модификации отчета при помощи дизайнера отчетов эта настройка опять примет значение 2 или 3. Т.е. после каждой модификации отчетов надо не забыть еще раз открыть файл отчета как таблицу и внести нужные изменения.

Кстати, значение TTOPTION = 2 - это значение по умолчанию, для принтеров Hewlett-Packard использующих Printer Control Language (PCL). Именно поэтому данная проблема чаще всего встречается при работе с принтерами Hewlett-Packard.


Достаточно подробно данная проблема обсуждалась на этом сайте. Можете почитать дискуссию по приведенной ссылке

forum.foxclub.ru
Ratings: 0 negative/0 positive


Тема Просмотров Написано Написано
  Report 5279 Владимир Максимов 01.03.05 22:07
  Неустранимая ошибка при выполнении отчета 5847 Владимир Максимов 15.09.05 20:58
  VFP8 некорректно отображает содержимое отчета 8266 Владимир Максимов 18.09.05 10:40
  Как выбрать принтер из окна предварительного просмотра 7088 Владимир Максимов 01.02.06 23:15
  Как отобразить окно предварительного просмотра в As Top-Level форме 5825 Владимир Максимов 01.02.06 23:55
  Как запретить печать из окна предварительного просмотра 4959 Владимир Максимов 02.02.06 00:19
  При запуске отчета из формы формируются неверные данные 7005 Владимир Максимов 24.09.06 11:39


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

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

© 2006 Fox Club 
Яндекс.Метрика