В данном разделе обсуждаются особенности системы отчетов Visual FoxPro 9, которые облегчают разработку отчетов для международных приложений.

NoteЗамечание

Некоторые из обсуждаемых здесь особенностей доступны в Visual FoxPro только в режиме отчета object assisted. Если Вы обнаружите, что не видите некоторых усовершенствований, обсуждаемых в этой теме, то используйте команду SET REPORTBEHAVIOR 90, или включите опцию OBJECT в команды REPORT FORM или LABEL. Для получения дополнительной информации смотрите Команда SET REPORTBEHAVIOR.

Использование языковых скриптов (Language Script) в отчетах

Так же, как Вы можете выбрать шрифт отдельно для каждого элемента отчета, Вы можете выбрать и языковой скрипт отдельно для каждого элемента. Для получения дополнительной информации смотрите Как: Изменение настроек шрифта для элементов управления отчета.

Если Вы явно не указываете языковой скрипт для выбранного элемента, то данный элемент получает информацию о языковом скрипте из реквизитов шрифта, установленного как шрифт отчета по умолчанию. Для установки шрифта по умолчанию Вы можете использовать опцию Default Font… из пункта меню Report. Вы можете также установить шрифт и языковой скрипт по умолчанию для текущего отчета, используя закладку "Page Layout" диалогового окна Report Properties. Для получения дополнительной информации смотрите Как: Изменение настроек страницы отчета.

Когда Вы создаете новый отчет, значение по умолчанию для шрифта и языкового скрипта отчета определяются Вашими глобальными настройками, установленными в диалоговом окне Tools Options. Для получения дополнительной информации смотрите Закладка Tab диалогового окна Options (Параметры).

NoteНа заметку

Глобальные настройки диалогового окна "Options", закладка "Page Layout" в построителе отчетов и различные опции построителя отчетов для настройки шрифта в отдельных элементах отчета, все они позволяют опустить (не выбирать) языковой скрипт при настройке шрифта. Если Вы выбираете этот режим, то языковой скрипт для элементов Вашего отчета будет выбран из региональных настроек по умолчанию для Вашего компьютера. Это сделано для обратной совместимости с младшими версиями Visual FoxPro.

Языковой скрипт, используя который система отчетов Visual FoxPro формирует данные для элементов отчета, автоматически становится доступным для дополнительных форм, которые Вы можете создать при помощи классов на базе ReportListener. Исходный текст передается в ReportListener через метод Render в параметре cContentsToBeRendered как Unicode, а стандартная система отчетов уже преобразует данные в соответствующий символьный набор. Для получения дополнительной информации смотрите Метод Render.

ReportListener XML Foundation Class предоставляет пример альтернативного способа вывода, опирающегося на эту особенность. Класс использует значение Unicode из своего метода Render для отображения в отчете смешанных языковых скриптов автоматически. Он преобразует значение Unicode для формирования документов в кодировке UTF-8. Для получения дополнительной информации о классах, формирующих XML, смотрите Использование вывода отчета VFP в виде XML.

Caution noteПредупреждение

Может показаться, что данная возможность работает в предварительном просмотре отчетов и в случае, если Вы не используете режим object-assisted. Однако Вы не сможете распечатать отчет, как Вы ожидаете, пока не будет включен режим object-assisted.

Локализация построителя отчетов, Окна предварительного просмотра и компонентов вывода отчета

Каждый распространяемый исходный компонент системы отчетов Visual FoxPro предоставляет заголовочный файл (.h), в котором Вы можете локализовать (перевести) все пользовательские строки. Вы можете перекомпилировать приложения и распространить их по отдельности, чтобы предоставить в совместное пользование внешние компоненты. Вы также можете привязать Вашу расширенную версию каждого компонента непосредственно к файлам .exe или .app Ваших приложений.

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

Имя файла компонента Использование в приложении Имя заголовочного файла для локализации Тема справки для получения дополнительной информации

ReportBuilder.app

Увеличивает возможности по созданию и модификации отчетов и этикеток.

frxbuilder_loc.h

Как: Определять и Распространять Компоненту "ReportBuilder.App"

ReportPreview.app

Обеспечивает гибкий пользовательский интерфейс, предоставляя GDI+ для предварительного просмотра отчетов.

frxpreview_loc.h

Как: специфика и распостранение ReportPreview.App

ReportOutput.app,

_reportlistener.vcx

Предоставляет класс ReportListener для отчетов в режиме object-assisted.

reportoutput_locs.h,

reportlisteners_locs.h

Как: Определять и Распространять компоненты Приложения "Report Output"

Фундаментальный класс ReportListener

_frxcursor.vcx

Предоставляет полезные дополнительные алгоритмы для программного создания и управления отчетами.

_frxcursor.h

Фундаментальный класс курсора FRX (FRX Cursor)

Для получения дополнительной информации смотрите Включение файлов отчетов в дистрибутив.

Каждый компонент также включает интерфейс прикладного программирования (API) предназначенный для изменения пользовательских сообщений во время исполнения приложения для того, чтобы наиболее полно соответствовать конкретной задаче приложения. Например, ReportListener User Feedback Foundation Class - базовый класс обратной связи пользователя, в используемом по умолчанию классе ReportListener для печати и предварительного просмотра обеспечивает глобальным объектам, используемым в отчете, установку различного текста в статусной строке и в заголовке. Приложение для предварительного просмотра отображает свойство Caption и множество API для настройки его контекстного меню. Для получения дополнительной информации смотрите Усиление Штатного Контейнера Предварительного Просмотра Отчетов.

Определение направления чтения (справа-налево и слева-направо) для разных языков

Конструктор отчетов поддерживает языки, читающиеся справа-налево для свойств "Text Alignment" и "Reading Order". Вы можете создать элемент метки (label) и текста (выражение) соответствующие желательному справа-налево результату, настроив оба этих свойства выбранного элемента, используя следующие опции меню Format:

  • Установите свойство "Text Alignment" выбранного элемента в значение "Right"

  • Установите свойство "Reading Order" в значение "Right to Left".

NoteЗамечание

Опция Reading Order в Format menu недоступна до тех пор, пока в Ваших региональных установках Windows не будет установлен язык, читающийся справа-налево, такой как арабский (Arabic) или иврит (Hebrew), для non-Unicode приложений. Как только Вы сделаете такую настройку, Вы сможете устанавливать для каждого элемента отчета индивидуальное значение настройки "Reading Order" в соответствии с требованием многоязыкового отчета.

На этапе исполнения новая система отображения GDI+ в Visual FoxPro 9' обеспечивает более гибкую и точную обработку выравнивания для языков, читающихся справа-налево. Также, этот механизм формирует выравнивание более согласовано между режимами предварительного просмотра и собственно печать.

Классы на базе ReportListener имеют доступ к настройкам выравнивания и направления чтения сохраненным в Вашем отчете или этикетке и могут выполнять действия на основе этих настроек. Например, Фундаментальный Класс ReportListener HTML использует эти опции для того, чтобы определить компоненты text-align и direction атрибута style для отдельных элементов текста HTML.

Смотрите также