|
Программирование >> Разработка пользовательского интерфейса
ASCIICOLS = 60 ASCIIROWS = 40 REPORT FORM Rep price TO FILE D:\INFO\PRICE TEXT ASCII Управление режимом печати Все или по крайней мере большинство приложений Windows позволяют для каждого документа задавать индивидуальные условия печати: размеры полей, страничную ориентацию и т. д. Естественно предположить, что так же поступает Visual FoxPro со своими документами, предназначенными для печати, - отчетами. В команде выполнения отчета REPORT FORM есть опция TO PRINTER PROMPT, которая обеспечивает вывод на экран диалогового окна для установки условий печати. Это окно представлено на рис. 11.15. Вызов диалогового окна Windows для установки свойств принтера Выбор типа принтера: Прчнгер- Со стояние Порт: Epson FiflTl Выбран по ;лч*1ищ; Готов Epson RKS70 LPTl: Свойства ; Бумага □мектцнд- По1< ча: Р книжная С Аль<5дмная 01 J Отмена Тип лотка для подачи бумаги Размер листа бумаги Ориентации страницы Рис. 11.15. Диалоговое окно установки принтера в Visual FoxPro Кстати, это окно можно вывести на экран и после выполнения функции GETPRINTER() Если по каким-то причинам появление этого окна в пользовательской программе нежелательно, то изменить режим печати можно и программно. Файл, в котором запоминается описание отчета, представляет собой стандартную таблицу Visual FoxPro. В первой записи этого Параметр nExpression по умолчанию равен 80. Число строк на листе будет определяться системной переменной ASCIIROWS = nExpression Параметр nExpression по умолчанию равен 63. Таким образом, для получения текстового файла на основе данных отчета можно, например, выполнить такой код: файла в поле expr, которое имеет тип поля примечаний, в текстовом виде указывается информация об установках принтера. Каждая установка записывается с новой строки, всего в этом поле может храниться до 16 различных установок: DRIVER - имя маршрутизатора, используемого Windows для управления запросами на печать от клиентов. Он определяет, какой компонент спулера печати должен обрабатывать этот запрос. DEVICE - имя принтера. OUTPUT - имя порта, к которому присоединен принтер. ORIENTATION - ориентация страницы. PAPERSIZE - размер бумаги. PAPERLENGTH - длина листа бумаги. PAPERWIDTH - ширина листа бумаги. SCALE - фактор масштаба документа. COPIES - число копий, которое будет напечатано. DEFAULTSOURCE - тип лотка для подачи бумаги. PRINTQUALITY - горизонтальное разрешение принтера. COLOR - определяет, будет использоваться цветная или монохромная печать. DUPLEX - определяет, будет ли использоваться при печати двойной проход. YRESOLUTION - вертикальное разрешение принтера. TTOPTION - определяет режим печати шрифта TrueType. COLLATE - определяет порядок вывода страниц при печати нескольких копий. Пример содержания поля expr для отчета Propmod приведен на рис. 11.16. Допустимые значения для перечисленных выше параметров можно получить с помощью функции PRTINFO(nPrinterSetting [, cPrinterName]) которая возвращает текущие установки, сделанные в Windows. Различные допустимые значения параметра nPrinterSetting приведены в следующем списке: l - ориентация страницы I - размер бумаги 3 - длина листа бумаги 4 - ширина листа бумаги 5 - масштаб документа 6 - число копий, которое будет напечатано при выводе 7 - тип лотка для подачи бумаги 8 - горизонтальное разрешение принтера 9 - цветная или монохромная печать 10 - перенасыщенная печать ll - вертикальное разрешение принтера lI - режим печати шрифта TrueType l3 - режим последовательной печати Получить информацию о текущем принтере можно с помощью функции APRINTERS(/\rrayName) которая записывает данные в указанный массив. Массив может до выполнения ункции не существовать. Например, команда: APRINTERS(aCurrentPrn) запишет в массив aCurrentPrn следующие данные: ACURRENTRRN Pub A ( 1, 1) C Epson LQ-100 ESC/P 2 ( 1, 2) C LPT1: Установку драйвера принтера можно проверить с помощью функции PRINTSTATUS() PBPAGE = 2 PEPAGE = 4 PRINTJOB REPORT FORM Propmod TO PRINTER ENDPRINTJOB 11.2. Создание отчетов в Access В MS Access получать твердые копии результатов обработки данных можно путем распечатки таблиц, запросов и форм. Но при этом сложно или невозможно получить то качество и гибкость, которые предоставляет Конструктор отчета. В этом параграфе мы расскажем, как создавать отчет с помощью Конструктора отчета и печатать его из программы Access. Помимо вывода данных на печать, Конструктор отчета поможет провести, при установке соответствующих опций, предварительную сортировку и группировку данных, форматирование данных и подсчет промежуточных результатов без какого-либо программирования. Для запуска Конструктора отчета в контейнере БД перейдите на вкладку Отчеты и нажмите кнопку Создать. В появившемся диалоговом окне в списке выберите пункт Конструктор. При загрузке Конструктора отчета вместе с ним загружается меню Конструктора отчета, а также панели инструментов для форматирования данных, выбора элементов управления и работы с Конструктором отчета. Отчет для отображения данных из какого-либо набора должен иметь установленным свойством RecordSource (Источник данных). Обычно источник данных выбирается при первом вызове Конструктора отчета для создания конкретного отчета, когда диалог позволяет выбрать нужные таблицу или запрос из списка таблиц и запросов, находящихся в текущей базе данных. Если вам необходимо отображать данные из таблиц и запросов, находящихся в других базах данных Access или другого формата, то вам необходимо либо их присоединить, либо создать к ним сквозной запрос. Как это сделать, мы говорили в восьмой главе. Если вы не указали источник данных при создании отчета, то можете исправить положение с помощью окна Properties (Свойства), которое служит для установки свойств объектов в течение дальнейших изменений в отчете. Элементы управления можно копировать и вставлять в другие отчеты, при этом элементы переносятся из отчета в отчет со всеми установлеными значениями свойств. Можно выделить и перенести целый набор объектов. Для выделения объекта вам достаточно, чтобы хотя бы часть его попала в область охвата указателя мыши, перемещаемого при нажатой левой кнопке. Для того чтобы установить эти параметры, используется диалоговое окно Параметры и вкладка Формы/Отчеты, как показано на рис. 11.17. Если драйвер установлен, она возвращает значение .T.. Обратите внимание, что эта функция не определяет готовность принтера к печати. Как быть, если мы хотим напечатать лишь некоторые страницы из отчета? Нам поможет команда PRINTJOB <<Команды вывода на печать>> ENDPRINTJOB Она активизирует установки системных переменных, имеющих отношение к печати. Например, следующий фрагмент обеспечит вывод на печать вторую, третью и четвертые страницы отчета Propmod.
|
© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки. |