Инструменты пользователя

Инструменты сайта


Боковая панель

Если вам не пришло письмо с регистрационными данными, проверьте папку «Спам»

Новости:

1 сентября
* Новая версия DataExpress



Обратная связь

Wiki-синтаксис
Как написать хорошую статью
Полигон

programmirovanie_v_dx:pechat_dannyx_formy

Содержание

12. Печать данных формы (Print)

Печать данных осуществляется методом Print:

 Print(const TemplateName, OutFileName: String; var Errs: String; OpenFile: Boolean)

Описание параметров:

  • TemplateName – путь к файлу шаблона. Может быть абсолютным и относительным. Если указан относительный путь, то используется папка шаблонов (указывается в настройках программы).
  • OutFileName – абсолютный путь к выходному файлу. Если указана пустая строка, то путь определяется программой.
  • Errs – сюда записываются возможные ошибки при печати.
  • OpenFile – если True, то программа открывает сформированный документ в текстовом редакторе.

OnPrint

Print вызывает событие OnPrint:

TPrintEvent = procedure (Sender: TObject; Action: TPrintAction; const SourceName, FieldName: String; var Value: String; var Accept: Boolean) 

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

  • paBeginPrint - начало печати. Параметр SourceName содержит полный путь к файлу шаблона. В этот момент вы можете выполнить какие-то подготовительные действия. Параметр Accept игнорируется.
  • paBeginData - начало данных. Данное действие соответствует тому, когда программа впервые встречает тег form или grid. В этот момент программа переводит курсор набора данных на первую запись - это действие по умолчанию, если параметр Accept равен False. Вы можете перехватить это действие, установив Accept в True. В скрипте вы можете, к примеру, позиционировать курсор на первой записи своего набора данных. Параметр SourceName содержит имя источника данных, указанного в теге form/grid. Это может быть имя формы, запроса или произвольное имя.
  • paNextData - следующая запись. Когда программа встречает тег end, она перемещает курсор набора данных на следующую запись и повторяет часть шаблона между тегами form-end или grid-end. Если достигнут конец записей, то программа переходит к участку шаблона за тегом end. Перемещение курсора - это действие по умолчанию, если Accept равен False. Установите Accept в True, если хотите перехватить это действие. Например, вы можете перейти к следующему элементу массива данных или переместить курсор на следующую запись. Когда достигните конца данных, то установите Accept в False, чтобы программа продолжила печать шаблона за тегом end. Параметр SourceName содержит имя источника данных, указанного в теге form/grid. Это может быть имя формы, запроса или произвольное имя.
  • paPrintField - печать поля. SourceName - имя источника данных, FieldName - имя поля. Если Accept равен True, то значение поля будет вычислять скрипт, передавая Value в шаблон. Если Accept равен False, то программа сама будет вычислять поле штатными средствами.
  • paEndPrint - конец печати. Файл документа уже сформирован. Вы можете выполнить какие-то завершающее действия, например освобождение памяти. Параметр Accept игнорируется.

1. Действия paBeginData, paNextData обычно перехватываются, когда надо распечатать набора данных, например TdxSQLQuery или произвольный массив.

2. В обработчике параметр Accept передается со значением False. Не меняйте его, если действие должно быть обработано самой программой.

3. Значение в теге group обрабатывается как печать поля paPrintField.

programmirovanie_v_dx/pechat_dannyx_formy.txt · Последние изменения: 2019/03/14 11:20 — 7bit