метка
REPORT([имяпрц]), AT( ) [, FONT( )] [, PRE( )] [, LANDSCAPE] [, PREVIEW] [, PAPER][,COLOR( )] [ | THOUS | ]
| MM |
| POINTS |
[FORM
поля
END ]
[HEADER
поля
END ]
метка
DETAILполя
END
метка
[BREAK( )структуры раздела
END ]
[FOOTER
поля
END ]
END
REPORT
Начинает описание структуры данных документа.метка Имя, посредством которого программа осуществляет ссылку на структуру.
имяпрц Именует процесс печати, запускаемый Администратором Печати системы
Windows (Windows Print Manager) (PROP:Text). Если опущен, используется имя "JOB_CWDEFAULT"AT
Указывает размер области, предназначенной для вывода документа, и ее положение по отношению к левому верхнему углу страницы (PROP:AT).FONT
Указывает шрифт по умолчанию для всех управляющих полей документа (PROP:FONT). Если FONT отсутствует, то используется шрифт по умолчанию для принтера.документов 435PRE
Определяет префикс меток структур документа.LANDSCAPE
Устанавливает “альбомный” режим вывода на печать (PROP:LANDSCAPE). Если LANDSCAPE не указан, то по умолчанию – “портретный” режим.PREVIEW
Устанавливает вывод документа в метафайлы Windows (.WMF); в один файл выводится одна страница документа (PROP:PREVIEW).PAPER
Задает размер бумаги для печати отчета. Если этот параметр опущен, то используется размер бумаги принятый по умолчанию для данного принтера.COLOR
Задает цвет фона отчета и цвет структур отчета по умолчанию (PROP:COLOR).THOUS
Для атрибутов, использующих координаты, устанавливается единица измерения равная тысячной доле дюйма (PROP:THOUS).MM
Для атрибутов, использующих координаты, устанавливается единица измерения равная одному миллиметру (PROP:MM).POINTS
Для атрибутов, использующих координаты, устанавливается единица измерения равная одному пункту (PROP:POINTS). 72 пункта составляют один дюйм как по вертикали, так и по горизонтали.FORM
Структура, описывающая трафарет, который печатается на каждой странице.поля Выходные поля документа.
HEADER
Структура верхнего колонтитула, который печатается в начале каждой страницы.DETAIL
Структура тела документа .BREAK
Структура раздела документа, указывающая переменную, изменение значения которой приводит к завершению раздела.структуры раздела В их число входят структуры HEADER, FOOTER, DETAIL и/или вложенные BREAK-структуры.
FOOTER
Структура нижнего колонтитула, который печатается в конце каждой страницы.Оператор
REPORT открывает описание структуры данных документа. Описание структуры REPORT должно завершаться оператором END или символом точки (.). Внутри REPORT располагаются ее компоненты - структуры FORM, HEADER, DETAIL, FOOTER, BREAK, которые и формируют выходной документ. Структура REPORT должна быть явно открыта оператором OPEN.Наличие атрибута PREVIEW в объявлении структуры REPORT приводит к записи выходного документа в Windows-метафайлы - по одной странице в файл. PREVIEW указывает имя QUEUE-структуры, в которую заносятся имена метафайлов. Для просмотра документа нужно создать окно с полем IMAGE и установить свойство этого поля - {PROP:Text}, используя значение QUEUE-элемента (имя файла). Это дает возможность пользователю перед выводом документа на печать просмотреть его на экране компьютера.
Атрибут AT определяет на каждой странице область, в которой печатается каждая структура DETAIL. То же относится к структурам HEADER и FOOTER, содержащимся внутри структуры BREAK (групповым заголовкам и итогам).
Единственное, что может (и должно) быть выведено на печать оператором PRINT – это структуры DETAIL. Все другие структуры (HEADER, FOOTER, FORM) автоматически печатаются в соответствующих местах выходного документа.
Структура FORM печатается на каждой странице, исключая те, структуры DETAIL которых объявлены с атрибутом ALONE. “Внешний вид” структуры создается один раз - на начальной стадии подготовки документа к печати. С помощью FORM можно создавать трафареты, которые впоследствии будут заполнены структурами HEADER, DETAIL и FOOTER. Верхний и нижний колонтитулы страницы не входят в структуру BREAK. При переходе на новую страницу они печатаются автоматически.
С помощью структуры BREAK осуществляется разбиение документа на разделы. В состав структуры могут входить HEADER и FOOTER (верхний и нижний колонтитулы раздела), DETAIL-структуры, а также вложенные BREAK-структуры. Кроме того, BREAK может включать в себя несколько структур DETAIL. Структуры HEADER и FOOTER внутри BREAK - колонтитулы раздела. Они автоматически выводятся на печать при изменении значения переменной, указанной в операторе BREAK.
В отличие от оконных структур APPLICATION и WINDOW, структура REPORT не может быть объектом по умолчанию для установок значений свойств во время выполнения. Поэтому, при выполнении установок свойств REPORT-полей необходимо использовать либо метку структуры REPORT, либо предварительно выполнить процедуру SETTARGET, посредством которой REPORT объявляется текущим объектом. SETTARGET используется и тогда, когда в документ требуется вставить графические образы, поскольку в качестве объекта вывода графические функции всегда используют текущий объект.
Постраничная печать
В основу создания документов (отчетов) в системе Clarion положена концепция постраничного (а не построчного, как в более старых генераторах отчетов) вывода документа на печать. При таком подходе на принтер посылается не отдельная готовая строка, а целиком подготовленная страница. Теперь значительную часть работы по печатанию документов (освобождая от нее программиста) может взять на себя “ядро программы печати”
библиотеки времени исполнения, а основой его работы служат атрибуты, указанные при описании структуры REPORT.Вот лишь некоторые процедуры, которые “ядро программы печати” Clarion-библиотеки времени исполнения выполняет за программиста:
Такая автоматизация существенно сокращает программы печати сложных документов, облегчая тем самым труд программиста. Поскольку “ядро программы печати” готовит для вывода на печать сразу всю страницу, то верхний и нижний колонтитулы утрачивают двойственность своего предназначения, связанную как с размещением текста, так и с воздействием на последовательность вывода на печать, сохраняя только воздействие на последовательность вывода. Верхние колонтитулы (заголовки) печатаются в начале последовательности, нижние - в ее конце, при этом их истинное положение на странице не имеет значения. Например, можно так расположить нижний колонтитул страницы, содержащий ее итоговые значения, что он напечатается в начале страницы.
Смотри также:
PROP:AutoPaper(объявление структуры раздела документа)
метка
BREAK(переменная) [,USE( )] [,NOCASE]структуры раздела
END
BREAK
Объявляет структуру раздела.метка Имя, посредством которого в программе производится ссылка на структуру.
переменная Переменная, изменение значения которой приводит к завершению раздела (PROP:BreakVar).
USE
Мнемоническая метка для ссылок на структуру BREAK в исполняемых операторах (PROP:USE).NOCASE
Указывает, что при проверке измененного значения в переменной не учитывается регистр букв.структуры раздела В их число входят структуры HEADER, FOOTER, DETAIL и/или вложенные BREAK-структуры.
Структура
BREAK указывает переменную, изменение значения которой приводит к завершению раздела. BREAK-структура должна заканчиваться символом точки или оператором END. В состав структуры могут входить HEADER и FOOTER, DETAIL-структуры, а также вложенные BREAK-структуры. Внутри BREAK структуры HEADER и FOOTER обязаны быть в единственном числе, однако, допустимы несколько структур DETAIL и/или вложенные BREAK-структуры.В BREAK структуре HEADER и FOOTER представляют собой верхний и нижний колонтитулы раздела. Они автоматически выводятся на печать при изменении значения переменной, указанной в операторе BREAK.
Пример:
CustRpt REPORT !Документ с информацией о клиенте
Break1 BREAK(SomeVariable)
HEADER ! начало верхнего колонтитула раздела
!поля документа
END ! конец верхнего колонтитула раздела
GroupDet DETAIL
!поля документа
END ! конец описания тела документа
FOOTER ! начало нижнего колонтитула раздела
!поля документа
END ! конец нижнего колонтитула раздела
END ! конец описания раздела
END !Конец описания структуры документа
(объявить структуру документа)
метка
DETAIL ,AT( ) [,FONT( )] [,ALONE] [,ABSOLUTE] [,PAGEBEFORE( )] [,PAGEAFTER( )][,WITHPRIOR( )] [,WITHNEXT( )] [,USE( )] [,COLOR( )] [,TOGETHER]
поля
END
DETAIL
Объявляет компоненты, которые должны быть напечатаны в теле документа.метка Имя, посредством которого программа осуществляет ссылку на структуру.
AT
Указывает смещение и минимальные значения ширины и высоты DETAIL внутри области, размеры которой установлены атрибутом AT структуры REPORT (PROP:AT).FONT
Указывает шрифт по умолчанию для всех управляющих полей DETAIL-структуры (PROP:FONT). Если FONT отсутствует, то используется шрифт атрибута FONT структуры REPORT, а если и он отсутствует, то - шрифт по умолчанию для принтера.ALONE
Объявляет, что структура DETAIL должна быть напечатана без вывода на страницу структур FORM, (страничной) HEADER и (страничной) FOOTER (PROP:ALONE).ABSOLUTE
Объявляет, что структура DETAIL будет напечатана в фиксированном месте страницы (PROP:ABSOLUTE).PAGEBEFORE
Объявляет, что структура DETAIL будет напечатана в начале новой страницы по завершению обычных действий, связанных с переходом на новую страницу (PROP:PAGEBEFORE).PAGEAFTER
Объявляет, что структура DETAIL сначала будет напечатана, а затем посредством выполнения обычных действий, связанных с переходом на новую страницу, - начнется новая страница (PROP:PAGEAFTER).WITHPRIOR
Объявляет, что структура DETAIL будет напечатана на той же странице, что и предшествующая ей структура, а это - либо DETAL, либо HEADER раздела, либо FOOTER раздела WITHPRIOR).WITHNEXT
Объявляет, что вместе со структурой DETAIL на той же странице будет напечатана и непосредственно следующая за ней структура, а это - либо DETAL, либо HEADER раздела, либо FOOTER раздела (PROP:WITHNEXT).USE
Метка соответствия поля, с помощью которой программа осуществляет ссылку на структуру (PROP:USE).COLOR
Задает цвет фона для данной структуры DETAIL и цвет фона по умолчанию для всех элементов внутри нее (PROP:COLOR).TOGETHER
Указывает, что DETAIL или групповые структуры HEADER или FOOTER (которые находятся внутри структуры BREAK), должны печататься только на одной странице, а не разделяться автоматически, если для этого не хватает пространства (PROP:Together).поля
Выходные поля документаСтруктура
DETAIL объявляет компоненты, которые должны быть напечатаны в теле документа. DETAIL-структура должна заканчиваться символом точки или оператором END. Более одной DETAIL могут входить в состав структуры REPORT.Поскольку автоматически структура DETAIL на печать не выводится, то это нужно делать явно, используя оператор PRINT. Следовательно, каждая DETAIL-структура, которую нужно вывести на печать, обязательно должна быть снабжена меткой
.Вывод структуры DETAIL на печать можно осуществлять вполне произвольно. Наличие нескольких DETAIL-структур позволяет формировать выходной документ желаемым образом. Все определяется логикой программной процедуры, которая организует вывод документа на печать.
Структуры DETAIL печатаются в диапазоне, который указывается атрибутом АТ выражения REPORT. Атрибут АТ структуры DETAIL указывает сравнительную позицию, высоту и ширину фрагмента, который будет напечатан. Если остается место (по горизонтали) в области печати при отображении нескольких структур DETAIL, то они печатаются встык.
Пример:
CustRpt REPORT !Документ с информацией о клиенте
HEADER ! начало верхнего колонтитула страницы
!элементы структуры
END ! конец верхнего колонтитула страницы
CustDetail1 DETAIL
! начало DETAIL-объявления!элементы структуры
END ! конец DETAIL-объявления
CustDetail2 DETAIL
! начало DETAIL-объявления!элементы структуры
END ! конец DETAIL-объявления
END !Конец описания структуры документа
CODE
OPEN(CustRpt)
SET(SomeFile)
LOOP
NEXT(SomeFile)
IF ERRORCODE() THEN BREAK.
IF SomeCondition
PRINT(CustDetail1)
ELSE
PRINT(CustDetail2)
END
END
CLOSE(CustRpt)
Смотри
также: PRINT, AT
FOOTER (структура нижнего колонтитула страницы или раздела)
FOOTER ,AT( ) [,FONT( )] [,ABSOLUTE] [,PAGEBEFORE( )] [,PAGEAFTER( )]
[,WITHPRIOR( )] [,WITHNEXT( )] [,ALONE] [,USE( )] [,COLOR( )] [,TOGETHER]
поля
END
FOOTER
Объявляет нижний колонтитул страницы или раздела.AT
Указывает размер и расположение нижнего колонтитула (PROP:AT).FONT
Указывает шрифт по умолчанию для всех управляющих полей FOOTER-структуры (PROP:FONT). Если FONT отсутствует, то используется шрифт атрибута FONT структуры REPORT, а если и он отсутствует, то - шрифт по умолчанию для принтера.ABSOLUTE
Объявляет, что структура FOOTER будет напечатана в фиксированном месте страницы (PROP:ABSOLUTE). Атрибут допустим только для FOOTER в структуре BREAK.PAGEBEFORE
Объявляет, что структура FOOTER будет напечатана в начале новой страницы по завершению обычных действий, связанных с переходом на новую страницу (PROP:PAGEBEFORE). Атрибут допустим только для FOOTER в структуре BREAK.PAGEAFTER
Объявляет, что структура FOOTER сначала будет напечатана, а затем посредством выполнения обычных действий, связанных с переходом на новую страницу, - начнется новая страница (PROP:PAGEAFTER). Атрибут допустим только для FOOTER в структуре BREAK.WITHPRIOR
Объявляет, что структура FOOTER будет напечатана на той же странице, что и предшествующая ей структура, а это - либо DETAL, либо HEADER раздела, либо FOOTER раздела (PROP:WITHPRIOR). Атрибут допустим только для FOOTER в структуре BREAK.WITHNEXT
Объявляет, что вместе со структурой FOOTER на той же странице будет напечатана и непосредственно следующая за ней структура, а это - либо DETAL, либо HEADER раздела, либо FOOTER раздела (PROP:WITHNEXT). Атрибут допустим только для FOOTER в структуре BREAK.ALONE
Объявляет, что структура FOOTER (для раздела) должна быть напечатана без вывода на страницу структур FORM, (страничной) HEADER и (страничной) FOOTER (PROP:ALONE).USE
Метка соответствия поля, с помощью которой программа осуществляет ссылку на структуру (PROP:USE).COLOR
Задает цвет фона для данной структуры FOOTER и цвет фона по умолчанию для всех элементов внутри нее (PROP:COLOR).TOGETHER
Указывает, что DETAIL или групповые структуры HEADER или FOOTER (которые находятся внутри структуры BREAK), должны печататься только на одной странице, а не разделяться автоматически, если для этого не хватает пространства (PROP:Together).поля
Выходные поля документа.Структура
FOOTER объявляет выходные данные, которые будут напечатаны в конце каждой страницы или раздела. FOOTER-структура должна заканчиваться символом точки или оператором END.Структура FOOTER, если она расположена вне BREAK-структуры, представляет собой нижний колонтитул страницы. В REPORT должно быть не более одной страничной FOOTER-структуры. При возникновении ситуации перехода на новую страницу нижний колонтитул страницы автоматически выводится на печать. Положение колонтитула в напечатанной странице определяется его AT-атрибутом.
С помощью структуры BREAK осуществляется разбиение документа на разделы. В состав структуры могут входить HEADER и FOOTER (верхний и нижний колонтитулы раздела), DETAIL-структуры, а также вложенные BREAK-структуры. Кроме того, BREAK может включать в себя несколько структур DETAIL. Структуры HEADER и FOOTER внутри BREAK - колонтитулы раздела. Они автоматически выводятся на печать – со следующей допустимой позиции области тела документа (область определяется атрибутом AT структуры REPORT) - при изменении значения переменной, указанной в операторе BREAK. В структуре BREAK должно быть не более одной FOOTER-структуры.
Пример:
CustRpt REPORT ! Документ с информацией о клиенте
FOOTER
! начало объявления FOOTER страницы!поля документа
END !
конец объявления FOOTERBreak1 BREAK(SomeVariable)
GroupDet DETAIL
!поля документа
END ! конец описания тела документа
FOOTER
! начало нижнего колонтитула раздела!поля документа
END ! конец нижнего колонтитула раздела
END ! конец описания раздела
END ! Конец описания структуры документа
(структура трафарета страницы)FORM
,AT( ) [,FONT( )] [,USE( )] [,COLOR( )]поля
END
FORM
Объявляет структуру документа, которая печатается на каждой странице.AT
Указывает размер структуры и ее расположение по отношению к левому верхнему углу страницы (PROP:AT).FONT
Указывает шрифт по умолчанию для всех управляющих полей FORM-структуры (PROP:FONT). Если FONT отсутствует, то используется шрифт атрибута FONT структуры REPORT, а если и он отсутствует, то - шрифт по умолчанию для принтера.USE
Метка соответствия поля, с помощью которой программа осуществляет ссылку на структуру (PROP:USE).COLOR
Задает цвет фона для данной структуры FOOTER и цвет фона по умолчанию для всех элементов внутри нее (PROP:COLOR).поля Выходные поля документа
FORM
объявляет структуру документа, которая печатается на каждой странице выходного документа (исключая те, в которых печатаются структуры DETAIL с атрибутом ALONE). FORM-структура должна заканчиваться символом точки или оператором END. В REPORT должно быть не более одной FORM-структуры. При возникновении ситуации перехода на новую страницу FORM автоматически выводится на печать.“Внешний вид” структуры FORM создается один раз - на начальной стадии подготовки документа к печати. Ее расположение на странице не влияет на расположение в этой странице других структур документа. Например, структуры могут быть напечатаны “поверх” напечатанной FORM-структуры. Поэтому, FORM чаще всего используют
для создания трафарета страницы, который затем заполняется последующими структурами HEDER, DETAIL и FOOTER. Ее можно использовать и для нанесения “водяных знаков”, и для графического оформления рамки страницы.Пример:
CustRpt REPORT !
Документ с информацией о клиентеFORM
IMAGE('LOGO.BMP'),AT(0,0,1200,1200),USE(?I1)
STRING(@N3),AT(6000,500,500,500),PAGENO
END
GroupDet DETAIL
!поля отчета
END
END !
Конец описания структуры документа
HEADER (верхний колонтитул страницы или раздела)
HEADER
,AT( ) [,FONT( )] [,ABSOLUTE] [,PAGEBEFORE( )] [,PAGEAFTER( )][,WITHPRIOR( )] [,WITHNEXT( )] [,ALONE] [,USE( )] [,COLOR( )] [,TOGETHER]
поля
END
HEADER
Объявляет верхний колонтитул страницы или раздела.AT
Указывает размер и расположение верхнего колонтитула (PROP:AT).FONT
Указывает шрифт по умолчанию для всех управляющих полей HEADER-структуры (PROP:FONT). Если FONT отсутствует, то используется шрифт атрибута FONT структуры REPORT, а если и он отсутствует, то - шрифт по умолчанию для принтера.ABSOLUTE
Объявляет, что структура HEADER будет напечатана в фиксированном месте страницы (PROP:ABSOLUTE). Атрибут допустим только для HEADER в структуре BREAK.PAGEBEFORE
Объявляет, что структура HEADER будет напечатана в начале новой страницы по завершению обычных действий, связанных с переходом на новую страницу (PROP:PAGEBEFORE). Атрибут допустим только для HEADER в структуре BREAK.PAGEAFTER
Объявляет, что структура HEADER сначала будет напечатана, а затем посредством выполнения обычных действий, связанных с переходом на новую страницу, - начнется новая страница (PROP:PAGEAFTER). Атрибут допустим только для HEADER в структуре BREAK.WITHPRIOR
Объявляет, что структура HEADER будет напечатана на той же странице, что и предшествующая ей структура, а это - либо DETAL, либо HEADER раздела, либо FOOTER (PROP:WITHPRIOR). Атрибут допустим только для HEADER в структуре BREAK.WITHNEXT
Объявляет, что вместе со структурой HEADER на той же странице будет напечатана и непосредственно следующая за ней структура, а это - либо DETAL, либо HEADER раздела, либо FOOTER (PROP:WITHNEXT). Атрибут допустим только для HEADER в структуре BREAK.ALONE
Объявляет, что структура HEADER (для раздела) должна быть напечатана без вывода на страницу структур FORM, HEADER и (страничной) FOOTER (PROP:ALONE).USE
Метка соответствия поля, с помощью которой программа осуществляет ссылку на структуру (PROP:USE).COLOR
Задает цвет фона для данной структуры HEADER и цвет фона по умолчанию для всех элементов внутри нее (PROP:COLOR).TOGETHER
Указывает, что DETAIL или групповые структуры HEADER или FOOTER (которые находятся внутри структуры BREAK), должны печататься только на одной странице, а не разделяться автоматически, если для этого не хватает пространства (PROP:Together).поля
Выходные поля документа.Структура
HEADER объявляет выходные данные, которые будут напечатаны в начале каждой страницы или раздела. HEADER-структура должна заканчиваться символом точки или оператором END.Структура HEADER, если она расположена вне BREAK-структуры, представляет собой верхний колонтитул страницы. В REPORT должно быть не более одной страничной HEADER-структуры. При возникновении ситуации перехода на новую страницу верхний колонтитул страницы автоматически выводится на печать. Положение колонтитула в напечатанной странице определяется его AT-атрибутом.
С помощью структуры BREAK осуществляется разбиение документа на разделы. В состав структуры могут входить HEADER и FOOTER (верхний и нижний колонтитулы раздела), DETAIL-структуры, а также вложенные BREAK-структуры. Кроме того, BREAK может включать в себя несколько структур DETAIL. Структуры HEADER и FOOTER внутри BREAK - колонтитулы раздела. Они автоматически выводятся на печать – со следующей допустимой позиции области тела документа (область определяется атрибутом AT структуры REPORT) - при изменении значения переменной, указанной в операторе BREAK. В структуре BREAK должно быть не более одной HEADER-структуры.
Пример:
CustRpt REPORT ! Документ с информацией о клиенте
HEADER
! начало верхнего колонтитула страницы!поля документа
END !
конец верхнего колонтитулаBreak1 BREAK(SomeVariable)
HEADER
! начало верхнего колонтитула раздела!поля документа
END ! конец верхнего колонтитула раздела
GroupDet DETAIL
!поля документа
END ! конец описания тела документа
END ! конец описания раздела
END ! Конец описания структуры документа.
Свойства, относящиеся к печати
Эти свойства относятся к отчетам и поведению принтера. Все их можно использовать или со встроенной переменной PRINTER, или меткой структуры REPORT в качестве назначения, однако не все они влияют на оба эти назначения. Эти свойства содержатся в файле PRNPROP.CLW, который вы должны явным образом включить в вашу программу в случае необходимости их использования.
PROPPRINT:DevMode
В инструментальной системе
Windows Software Development Kit определена целая структура (devmode), определяющая режимы устройства. Это свойство обеспечивает прямое обращение через интерфейс прикладной программы (API) ко всем свойствам принтера. Прежде чем использовать этот способ, посмотрите руководство по Windows API.Эта структура особая в 32-х битном режиме (см. руководство по
Windows API). Однако следующие свойства наиболее распространены и полезны:DM_ORIENTATION DM_PAPERSIZE DM_PAPERLENGTH
DM_PAPERWIDTH DM_SCALE DM_COPIES
DM_DEFAULTSOURCE DM_PRINTQUALITY DM_POSITION
DM_DISPLAYORIENTATION DM_DISPLAYFIXEDOUTPUT DM_COLOR
DM_DUPLEX DM_YRESOLUTION DM_TTOPTION
DM_COLLATE DM_FORMNAME DM_LOGPIXELS
DM_BITSPERPEL DM_PELSWIDTH DM_PELSHEIGHT
DM_DISPLAYFLAGS DM_NUP DM_DISPLAYFREQUENCY
DM_ICMMETHOD DM_ICMINTENT DM_MEDIATYPE
DM_DITHERTYPE DM_PANNINGWIDTH DM_PANNINGHEIGHT
PROPPRINT:Collate
Указывает, что принтер должен сортировать печатные листы: (копии “в подбор” или нет) 0=off, 1=on (поддерживается не всеми принтерами)
PROPPRINT:Color
Флаг цветной или монохромной печати: 1=монохромная, 2=цветная (поддерживается не всеми принтерами).
PROPPRINT:Context
Возвращает “хэндел” на контекст печатающего устройства, если уже выполнялся оператор PRINT, или на информационный контекст, если этот оператор еще не выполнялся. Это свойство не может применяться к глобальной встроенной переменной PRINTER и обычно только читается (а не устанавливается).
PROPPRINT:Copies
Число копий, которое следует напечатать (поддерживается не всеми принтерами).
PROPPRINT:Device
Имя принтера, так как оно появляется в диалоговом окне Windows “Принтеры”. Если имена нескольких принтеров начинаются одинаково, то используется первый попавшийся с таким именем (регистр букв значения не имеет). Для встроенной переменной PRINTER можно устанавливать только тогда, когда отчет еще не открыт.
PROPPRINT:Driver
Имя файла драйвера принтера ( без расширения .DLL)
PROPPRINT:Duplex
Режим двухсторонней печати (поддерживается не всеми принтерами). Мнемонические имена соответствия (DUPLEX::xxx) для стандартных значений перечисляются в файле PRNPROP.CLW.
PROPPRINT:Extend
PROPPRINT:Extend
может иметь значения ИСТИНА или ЛОЖЬ, устанавливаемые во время исполнения программы, и в качестве назначения использует REPORT. Свойство определяет генерировать или нет дополнительную информацию в WMF файлах, для использования в генерации отчетов в новом формате (XML, HTML, PDF и т.д.).Установите это свойство в ЛОЖЬ (0), если не хотите получать отчеты в альтернативном формате, а предпочитаете меньшие по размеру, компактные файлы
WMF (это поведение по умолчанию).Свойство
PROP:Extend позволяет установить свойство атрибута EXTEND во время исполнения программы.PROPPRINT:FontMode
Режим
шрифтов TrueType. Мнемонические имена соответствия (FONTMODE:xxx) для стандартных значений перечисляются в файле PRNPROP.CLWPROPPRINT:FromMin
Будучи установленным для встроенной переменной PRINTER, это свойство устанавливает, что печать должна начинаться со страницы заданной в поле “From” (начальный номер страницы) в диалоговом окне PRINTERDIALOG. Указание -1 отменяет печать диапазона страниц.
PROPPRINT:FromPage
Номер страницы, с которой начинается печать. Задание -1 означает печать с начала документа.
PROPPRINT:Paper
Стандартный размер бумаги. Мнемонические имена соответствия (PAPER:xxx) для стандартных значений перечисляются в файле PRNPROP.CLW. Это свойство также определяет размер файлов .WMF, создаваемых “ядром печати” исполняемой библиотеки Clarion.
PROPPRINT:PaperBin
Источник подачи бумаги. Мнемонические имена соответствия (PAPERBIN:xxx) для стандартных значений перечисляются в файле PRNPROP.CLW.
PROPPRINT:PaperHeight
Длина листа бумаги в десятых долях миллиметра (мм/10). В дюйме 25,4 мм. Это свойство используется в тех случаях, когда для PROPPRINT:Paper установлено значение PAPER:Custom (для лазерных принтеров обычно не применяется).
PROPPRINT:PaperWidth
Ширина листа бумаги в десятых долях миллиметра (мм/10). В дюйме 25,4 мм. Это свойство используется в тех случаях, когда для PROPPRINT:Paper установлено значение PAPER:Custom (для лазерных принтеров обычно не применяется).
PROPPRINT:Percent
Коэффициент масштабирования, используемый для увеличения или уменьшения размеров печатаемого изображения, в процентах (поддерживается не всеми принтерами). По умолчанию 100%. Чтобы напечатать с желаемым изменением размеров, установите значение этого свойства (если ваши принтер и драйвер принтера Windows поддерживают масштабирование). Например, чтобы увеличить размеры вдвое, установите 200, а чтобы уменьшить в 2 раза - установите 50.
PROPPRINT:Port
Логическое имя порта для вывода на печать (LPT1, COM1 и т.д.).
PROPPRINT:PrintToFile
Признак печати в файл: 0=нет, 1=да.
PROPPRINT:PrintToName
Имя файла для печати в файл.
PROPPRINT:Resolution
Разрешающая способность печати в точках на дюйм (Dots Per Inch - DPI). Мнемонические имена соответствия (RESOLUTION:xxx) для стандартных значений перечисляются в файле PRNPROP.CLW. Должно определяться перед открытием отчета.
PROPPRINT:ToMax
При установки для встроенной переменной PRINTER это свойство устанавливает, что печать должна продолжаться до страницы заданной в поле “To:” диалогового окна PRINTERDIALOG. Указание -1 отменяет печать диапазона страниц.
PROPPRINT:ToPage
Номер страницы на которой прекращается печать. Указание -1 означает печать до конца документа.
PROPPRINT:Yresolution
Разрешающая способность печати по вертикали в точках на дюйм (
Dots Per Inch - DPI). Мнемонические имена соответствия (RESOLUTION:xxx) для стандартных значений перечисляются в файле PRNPROP.CLW.Пример
:SomeReport REPORT
END
CODE
PRINTER{PROPPRINT:Device} = 'Epson' !
Выбрать 1-й Epson в спискеPRINTER{PROPPRINT:Port} = 'LPT2:' !
установить вывод на LPT2PRINTER{PROPPRINT:Percent} = 250 !
размер печать увеличивается в 2.5 разаPRINTER{PROPPRINT:Copies} = 3 !
печатать 3 копии каждой страницыPRINTER{PROPPRINT:Collate} = False !
печатать страницы 1,1,1,2,2,2,3,3,3,...PRINTER{PROPPRINT:Collate} = True !
печатать страницы 1,2,3..., 1,2,3...,PRINTER{PROPPRINT:PrintToFile} = True !
печатать в файлPRINTER{PROPPRINT:PrintToName} = 'OUTPUT.RPT' !
Имя файла, куда печататьOPEN(SomeReport) !
После установки свойств открыть отчетSomeReport{PROPPRINT:Paper} = PAPER:User !
Нестандартный размер бумаги SomeReport{PROPPRINT:PAPERHeight} = 6 * 254 ! 6 дюймов высотойSomeReport{PROPPRINT:PAPERWidth} = 3.5 * 254 !
и 3.5 дюйма шириной
Ситуация перехода на новую страницу возникает когда оператор PRINT не в состоянии разместить структуру DETAIL на текущей странице. Последнее может быть связано либо с недостатком места, либо с присутствием в структуре DETAIL одного из атрибутов PAGEBEFORE или PAGEAFTER. Ниже представлена последовательность действий при возникновении ситуации перехода на новую страницу:
1
Если в структуре REPORT присутствует страничный FOOTER, то печатается нижний колонтитул, начиная с позиции, указанной его атрибутом AT.2
Счетчик страниц увеличивается на единицу.3
Если в структуре REPORT присутствует структура FORM, то печатается FORM, начиная с позиции, указанной ее атрибутом AT.4
Если в структуре REPORT присутствует страничный HEADER, то печатается верхний колонтитул, начиная с позиции, указанной его атрибутом AT.Связанные
процедуры: CLOSE, OPEN, ENDPAGE, PRINTПример
:CustRpt REPORT,AT(1000,1000,6500,9000),THOUS,FONT('Arial',12),PRE(Rpt)
FORM,AT(1000,1000,6500,9000)
IMAGE('LOGO.BMP'),AT(0,0,1200,1200),USE(?I1)
END
HEADER,AT(1000,1000,6500,1000)
STRING('ABC Company'),AT(3000,500,1500,500),FONT('Arial',18)
END
Break1 BREAK(Pre:Key1)
HEADER,AT(0,0,6500,1000)
STRING('Group Head'),AT(3000,500,1500,500),FONT('Arial',18)
END
Detail DETAIL,AT(0,0,6500,1000)
STRING(@N$11.2),AT(6000,1500,500,500),USE(Pre:F1)
END
FOOTER,AT(0,0,6500,1000)
STRING('Group Total:'),AT(5500,500,1500,500)
STRING(@N$11.2),AT(6000,500,500,500),USE(Pre:F1),SUM,RESET(Break1)
END
END
FOOTER,AT(1000,1000,6500,1000)
STRING('Page Total:'),AT(5500,1500,1500,500)
STRING(@N$11.2),AT(6000,1500,500,500),USE(Pre:F1),SUM,PAGE
END
END
!Конец объявления документаCODE
OPEN(CustReport)
SET(DataFile)
LOOP
NEXT(DataFile)
IF ERRORCODE()
BREAK
END
PRINT(Rpt:Detail)
END
CLOSE(CustReport)