Uploaded by Ilhom Jabborov

Rave Report for Delphi Руководство и справочник

advertisement
Rave Reports
Borland Edition 5.0
Руководство пользователя
Руководство и справочник
This manual and all material accompanying it is
Copyright (C) 1995-2002, Nevrona Designs, All Rights Reserved (rev BE50a)
© Анатолий Подгорецкий, 2003, перевод на русский язык
http://podgoretsky.com/
anatoly@podgoretsky.com
User Guide
Оглавление
ОТ ПЕРЕВОДЧИКА ...................................................................................................................... 10
НАЧАЛО РАБОТЫ - ТЕХНИЧЕСКАЯ ИНФОРМАЦИЯ ..................................................... 11
ЛИЦЕНЗИЯ НА ОДНОГО ПОЛЬЗОВАТЕЛЯ - SINGLE USER LICENSE AGREEMENT .............................. 11
ОГРАНИЧЕННАЯ ГАРАНТИЯ - LIMITED WARRANTY ........................................................................ 11
ТЕХНИЧЕСКАЯ ПОДДЕРЖКА ............................................................................................................ 12
1. ВВЕДЕНИЕ .................................................................................................................................. 13
ЧТО ТАКОЕ RAVE?......................................................................................................................... 13
СРЕДА RAVE - REPORT AUTHORING VISUAL ENVIRONMENT ........................................................ 13
ПЕРВЫЙ ВЗГЛЯД .............................................................................................................................. 14
ОБЛАСТЬ НАВИГАЦИИ .................................................................................................................... 15
СТРАНИЦА (ОСНОВА RAVE) ........................................................................................................... 15
ПАНЕЛЬ ДЕРЕВА ПРОЕКТА .............................................................................................................. 16
ПАНЕЛЬ СВОЙСТВ ........................................................................................................................... 17
2. ПАНЕЛИ И ОКНА ИНСТРУМЕНТОВ ................................................................................. 18
ПАНЕЛИ .......................................................................................................................................... 18
ПЕРЕМЕЩЕНИЕ ПАНЕЛИ ................................................................................................................. 18
ПАЛИТРА ПАНЕЛИ........................................................................................................................... 18
СКРЫТИЕ ПАНЕЛЕЙ ......................................................................................................................... 19
ПАНЕЛИ КОМПОНЕНТ И УТИЛИТ..................................................................................................... 19
ОКНА ИНСТРУМЕНТОВ .................................................................................................................... 19
ОКНО ПАНЕЛИ СВОЙСТВ ................................................................................................................ 19
ДЕРЕВО ПРОЕКТА ............................................................................................................................ 20
3. ОБЗОР КОМПОНЕНТ .............................................................................................................. 21
ЧТО ТАКОЕ КОМПОНЕНТ ................................................................................................................. 21
ПАНЕЛИ КОМПОНЕНТ ..................................................................................................................... 22
СТАНДАРТНЫЕ КОМПОНЕНТЫ ........................................................................................................ 22
КОМПОНЕНТЫ ШТРИХ КОДОВ......................................................................................................... 23
КОМПОНЕНТЫ РИСОВАНИЯ ............................................................................................................ 23
КОМПОНЕНТЫ ОТЧЕТА ................................................................................................................... 23
4. ДИЗАЙНЕР СТРАНИЦ ............................................................................................................. 24
ОБЗОР .............................................................................................................................................. 24
БАЗОВЫЙ КОМПОНЕНТ PAGE И ЕГО ПАНЕЛИ .................................................................................. 24
ВЫБОР КОМПОНЕНТ ........................................................................................................................ 25
ПЕРЕМЕЩЕНИЕ И ИЗМЕНЕНИЕ РАЗМЕРОВ КОМПОНЕНТ .................................................................. 26
КОПИРОВАНИЕ И ВСТАВКА ............................................................................................................. 26
УПРАЖНЕНИЕ 1: ВЫБОР, ИЗМЕНЕНИЕ РАЗМЕРОВ И ПЕРЕМЕЩЕНИЕ КОМПОНЕНТ .......................... 26
УПРАЖНЕНИЕ 2: ВЫРЕЗАНИЕ И ВСТАВКА ....................................................................................... 27
5. ДЕРЕВО ПРОЕКТА ................................................................................................................... 28
ОБЗОР .............................................................................................................................................. 28
РАЗВЕРТЫВАНИЕ ДЕРЕВА И КОНТЕКСТНОЕ МЕНЮ.......................................................................... 28
СВЯЗИ РОДИТЕЛЬ-РЕБЕНОК ............................................................................................................. 29
БИБЛИОТЕКА ОТЧЕТОВ ................................................................................................................... 29
КАТАЛОГ ГЛОБАЛЬНЫХ СТРАНИЦ................................................................................................... 29
ЗАГРУЗКА И ВЫГРУЗКА ГЛОБАЛЬНЫХ СТРАНИЦ ............................................................................. 30
2
User Guide
СЛОВАРЬ ДАННЫХ .......................................................................................................................... 30
CTRL+DRAG&DROP........................................................................................................................ 30
ALT+DRAG...................................................................................................................................... 31
УПРАЖНЕНИЕ 3: НАВИГАЦИЯ ПО ДЕРЕВУ ПРОЕКТОВ ..................................................................... 31
УПРАЖНЕНИЕ 4: ИМЕНОВАНИЕ КОМПОНЕНТ ................................................................................. 31
УПРАЖНЕНИЕ 5: ЗАГРУЗКА И ВЫГРУЗКА ГЛОБАЛЬНЫХ СТРАНИЦ .................................................. 32
УПРАЖНЕНИЕ 6: ПЕРЕТАСКИВАНИЕ КОМПОНЕНТ (CTRL+DRAG) .................................................. 33
УПРАЖНЕНИЕ 7: СМЕНА РОДИТЕЛЯ КОМПОНЕНТА (ALT+DRAG)................................................... 33
6. ПАНЕЛЬ СВОЙСТВ .................................................................................................................. 35
ЧТО ТАКОЕ ПАНЕЛЬ ........................................................................................................................ 35
ТИПЫ СВОЙСТВ ............................................................................................................................... 36
РЕДАКТОРЫ ..................................................................................................................................... 36
КОНТЕКСТНОЕ МЕНЮ ..................................................................................................................... 37
УПРАЖНЕНИЕ 8: НАВИГАЦИЯ ПО ПАНЕЛИ...................................................................................... 37
7. ВЫПОЛНЕНИЕ ОТЧЕТА ........................................................................................................ 39
ОБЗОР .............................................................................................................................................. 39
ВЫПОЛНЕНИЕ ОТЧЕТОВ .................................................................................................................. 39
ДИАЛОГ ПРЕДПОЧТЕНИЙ ................................................................................................................ 39
ПРОСМОТР ОТЧЕТА ......................................................................................................................... 40
ВЫВОД НА ПРИНТЕР ........................................................................................................................ 42
NDR И PRN ФАЙЛЫ ....................................................................................................................... 43
HTML ............................................................................................................................................. 43
PDF ................................................................................................................................................. 44
RTF ................................................................................................................................................. 44
УПРАЖНЕНИЕ 9: ИЗМЕНЕНИЕ ПРЕДПОЧТЕНИЙ ПЕЧАТИ ................................................................. 44
УПРАЖНЕНИЕ 10: СОЗДАНИЕ СИСТЕМНО НЕЗАВИСИМЫХ ФАЙЛОВ ............................................... 46
УПРАЖНЕНИЕ 11: ПЕЧАТЬ ОТЧЕТА ЧЕРЕЗ ПРОСМОТР ..................................................................... 47
УПРАЖНЕНИЕ 12: ПЕЧАТЬ В ФАЙЛ (NDR И PRN) .......................................................................... 47
8. ПАНЕЛИ УТИЛИТ .................................................................................................................... 49
ЕСТЬ ПАНЕЛИ И ЕСТЬ ПАНЕЛИ ........................................................................................................ 49
ИСПОЛЬЗОВАНИЕ ИНСТРУМЕНТА ................................................................................................... 49
ПАНЕЛЬ ВЫРАВНИВАНИЯ ............................................................................................................... 49
ПАНЕЛЬ ДИЗАЙНЕРА ....................................................................................................................... 50
ПАНЕЛЬ ПАЛИТРЫ ЦВЕТОВ ............................................................................................................. 51
РЕДАКТОР ШРИФТОВ ....................................................................................................................... 52
РЕДАКТОР ЛИНИЙ ........................................................................................................................... 52
ПАНЕЛЬ ПРОЕКТА ........................................................................................................................... 53
ПАНЕЛЬ МАСШТАБИРОВАНИЯ ........................................................................................................ 54
УПРАЖНЕНИЕ 13: ВЫРАВНИВАНИЕ КОМПОНЕНТ ........................................................................... 54
УПРАЖНЕНИЕ 14: ПОРЯДОК КОМПОНЕНТ ....................................................................................... 57
УПРАЖНЕНИЕ 15: ПРИВЯЗКА К СЕТКЕ ............................................................................................ 58
УПРАЖНЕНИЕ 16: ИЗМЕНЕНИЕ РАЗМЕРА ЛИНИИ И ЦВЕТА ПРЯМОУГОЛЬНИКА .............................. 59
УПРАЖНЕНИЕ 17: СМЕНА ШРИФТОВ .............................................................................................. 59
9. СТАНДАРТНЫЕ КОМПОНЕНТЫ........................................................................................ 61
ОБЗОР .............................................................................................................................................. 61
КОМПОНЕНТ TEXT .......................................................................................................................... 61
КОМПОНЕНТ MEMO ........................................................................................................................ 61
КОМПОНЕНТ SECTION ..................................................................................................................... 62
3
User Guide
КОМПОНЕНТЫ BITMAP И META ФАЙЛЫ ......................................................................................... 62
УПРАЖНЕНИЕ 18: TEXT ИЛИ MEMO ............................................................................................... 63
УПРАЖНЕНИЕ 19: КОМПОНЕНТ SECTION ........................................................................................ 63
УПРАЖНЕНИЕ 20: ПОМЕЩЕНИЕ И ИЗМЕНЕНИЕ РАЗМЕРА БИТМАПОВ ............................................. 64
10. ГРАФИЧЕСКИЕ КОМПОНЕНТЫ ...................................................................................... 65
ОСНОВЫ ГРАФИЧЕСКИХ КОМПОНЕНТ ............................................................................................ 65
ПИКСЕЛИ ИЛИ ПУНКТЫ .................................................................................................................. 66
УПРАЖНЕНИЕ 21: СОЗДАНИЕ ГРАФИЧЕСКИХ КОМПОНЕНТ............................................................. 66
УПРАЖНЕНИЕ 22: ВЫРАВНИВАНИЕ ................................................................................................ 68
11. БАЗЫ ДАННЫХ ....................................................................................................................... 70
ОБЗОР .............................................................................................................................................. 70
ЧТО ТАКОЕ БАЗА? ........................................................................................................................... 70
ТЕРМИНОЛОГИЯ .............................................................................................................................. 71
Система управления базой данных......................................................................................... 71
Таблица ...................................................................................................................................... 71
Структура ................................................................................................................................ 71
Запрос ........................................................................................................................................ 72
Клиент-сервер ........................................................................................................................... 72
СВЯЗАННЫЕ ТАБЛИЦЫ .................................................................................................................... 72
Отношение один к одному ....................................................................................................... 73
Отношение один ко многим .................................................................................................... 73
Многие ко многим ..................................................................................................................... 73
Представления .......................................................................................................................... 73
ОТЧЕТЫ ........................................................................................................................................... 73
12. ПОДКЛЮЧЕНИЯ БАЗ ДАННЫХ ........................................................................................ 74
ПОДКЛЮЧЕНИЯ БАЗ ДАННЫХ ......................................................................................................... 74
СОЗДАНИЕ ПОДКЛЮЧЕНИЯ К БАЗЕ ДАННЫХ ................................................................................... 74
КОМПОНЕНТ DIRECTDATAVIEWS (ТОЛЬКО В BE) .......................................................................... 75
КОМПОНЕНТ DRIVERDATAVIEWS .................................................................................................. 75
Редактор свойств запросов .................................................................................................... 75
ПАНЕЛЬ СОСТОЯНИЯ ...................................................................................................................... 76
13. ПОМОЩНИКИ (WIZARDS) .................................................................................................. 77
ПОМОЩНИКИ .................................................................................................................................. 77
УПРАЖНЕНИЕ 23: ПРОСТОЙ ОТЧЕТ ................................................................................................. 77
УПРАЖНЕНИЕ 24: MASTER-DETAIL ОТЧЕТ ..................................................................................... 78
14. КОМПОНЕНТЫ ОТЧЕТА ..................................................................................................... 79
ОБЗОР .............................................................................................................................................. 79
КОМПОНЕНТ REGION ...................................................................................................................... 80
КОМПОНЕНТ DATABAND ................................................................................................................ 80
КОМПОНЕНТ BAND ......................................................................................................................... 80
КОМПОНЕНТ DATATEXT................................................................................................................. 82
КОМПОНЕНТ DATAMEMO............................................................................................................... 83
КОМПОНЕНТ CALCTEXT ................................................................................................................. 83
15. КОМПОНЕНТЫ ПРОЕКТА .................................................................................................. 84
ОБЗОР .............................................................................................................................................. 84
КОМПОНЕНТ PROJECT MANAGER ................................................................................................... 84
4
User Guide
КОМПОНЕНТ REPORT ...................................................................................................................... 85
КОМПОНЕНТ PAGE .......................................................................................................................... 85
КОМПОНЕНТ GLOBAL PAGE............................................................................................................ 85
КОМПОНЕНТЫ DATA OBJECTS ........................................................................................................ 85
КОМПОНЕНТ DATABASE CONNECTION ........................................................................................... 86
КОМПОНЕНТЫ БЕЗОПАСНОСТИ....................................................................................................... 86
Компонент Simple Security Controller .................................................................................... 86
Компонент Data Lookup Security Controller .......................................................................... 86
КОМПОНЕНТ SQL DATA VIEW ....................................................................................................... 87
16. КОМПОНЕНТЫ ШТРИХ КОДОВ....................................................................................... 88
ОСНОВЫ КОМПОНЕНТ ШТРИХ КОДОВ ............................................................................................. 88
КРАТКОЕ ОПИСАНИЕ КОМПОНЕНТ ШТРИХ КОДОВ .......................................................................... 88
Компонент PostNetBarCode .................................................................................................... 88
Компонент 2of5Bar Code ......................................................................................................... 88
Компонент Code39BarCode .................................................................................................... 88
Компонент Code128Bar Code ................................................................................................. 89
Компонент UPCBarCode ......................................................................................................... 89
Компонент EANBarCode ......................................................................................................... 89
17. РАСШИРЕННЫЕ КОМПОНЕНТЫ .................................................................................... 90
КОМПОНЕНТ FONTMASTER ............................................................................................................ 90
КОМПОНЕНТ PAGENUMINIT ........................................................................................................... 91
КОМПОНЕНТ DATACYCLE .............................................................................................................. 91
КОМПОНЕНТ DATAMIRRORSECTION .............................................................................................. 92
КОМПОНЕНТ CALCOP ..................................................................................................................... 93
КОМПОНЕНТ CALCCONTROLLER .................................................................................................... 94
КОМПОНЕНТ CALCTOTAL ............................................................................................................... 94
УПРАЖНЕНИЕ 25: ИСПОЛЬЗОВАНИЕ КОМПОНЕНТА FONT MASTER ................................................ 95
УПРАЖНЕНИЕ 26: НАСТРОЙКА КОМПОНЕНТА PAGENUMINIT ДЛЯ НУМЕРАЦИИ ............................ 96
18. АДАПТАЦИЯ ОТЧЕТОВ ....................................................................................................... 98
ОБЗОР .............................................................................................................................................. 98
СВОЙСТВО ЯКОРЯ (ANCHORS) ........................................................................................................ 98
НЕПЕЧАТНАЯ ОБЛАСТЬ ПРИНТЕРА .................................................................................................. 99
РЕДАКТОР ЯКОРЕЙ .......................................................................................................................... 99
19. ПАКЕТЫ И ОБМЕР СТРАНИЦ ......................................................................................... 101
ПАКЕТЫ СТРАНИЦ ........................................................................................................................ 101
ВЫЗОВ СТРАНИЦ ........................................................................................................................... 101
ЦЕПОЧКА СТРАНИЦ....................................................................................................................... 101
РАЗЛИЧНЫЙ ФОРМАТ ПЕРВОЙ СТРАНИЦЫ .................................................................................... 102
РАЗЛИЧНЫЙ ФОРМАТ ЧЕТНЫХ/НЕЧЕТНЫХ СТРАНИЦ ................................................................... 102
ОТЧЕТЫ ПАКЕТ - ЦЕПОЧКА .......................................................................................................... 102
УПРАЖНЕНИЕ 27: ВЫЗОВ СТРАНИЦ .............................................................................................. 103
УПРАЖНЕНИЕ 28: ЦЕПОЧКА СТРАНИЦ .......................................................................................... 103
УПРАЖНЕНИЕ 29: РАЗЛИЧНАЯ ПЕРВАЯ СТРАНИЦА....................................................................... 104
УПРАЖНЕНИЕ 30: РАЗЛИЧНЫЕ ЧЕТНЫЕ И НЕЧЕТНЫЕ СТРАНИЦЫ ................................................ 104
20. ПРЕДПОЧТЕНИЯ.................................................................................................................. 106
ВЫЗОВ ДИАЛОГА ПРЕДПОЧТЕНИЙ ................................................................................................ 106
Закладка Default ...................................................................................................................... 106
5
User Guide
Закладка Designer ................................................................................................................... 106
Закладка Environment ............................................................................................................. 107
Закладка Shortcuts................................................................................................................... 107
ПРИЛОЖЕНИЕ A. ФОРМАТИРОВАНИЕ............................................................................. 108
АЛФАВИТНО-ЦИФРОВЫЕ ЭЛЕМЕНТЫ ........................................................................................... 108
ЭЛЕМЕНТЫ ДАТЫ / ВРЕМЕНИ ........................................................................................................ 109
ПРИЛОЖЕНИЕ B. ГОРЯЧИЕ КЛАВИШИ ........................................................................... 111
ДИЗАЙНЕР СТРАНИЦ ИЛИ ДЕРЕВО ПРОЕКТА ................................................................................. 111
ТОЛЬКО ДИЗАЙНЕР СТРАНИЦ ........................................................................................................ 111
ТОЛЬКО ДЕРЕВО ПРОЕКТА ............................................................................................................. 111
ПРИЛОЖЕНИЕ C. ОПИСАНИЕ СВОЙСТВ ......................................................................... 112
ALLOWSPLIT ................................................................................................................................. 112
ALWAYSGENERATE ....................................................................................................................... 112
ANCHOR ........................................................................................................................................ 112
AUTOSIZE...................................................................................................................................... 112
BANDSTYLE .................................................................................................................................. 113
BARCODEJUSTIFY ......................................................................................................................... 113
BARCODEROTATION ..................................................................................................................... 113
BARHEIGHT ................................................................................................................................... 114
BARTOP ......................................................................................................................................... 114
BIN ................................................................................................................................................ 114
BORDERCOLOR ............................................................................................................................. 114
BORDERSTYLE .............................................................................................................................. 115
BOTTOM ........................................................................................................................................ 115
CALCTYPE ..................................................................................................................................... 115
CALCVAR ...................................................................................................................................... 116
CATEGORIES .................................................................................................................................. 116
CATEGORY .................................................................................................................................... 116
CENTER ......................................................................................................................................... 117
CODEPAGE .................................................................................................................................... 117
COLLATE ....................................................................................................................................... 117
COLOR ........................................................................................................................................... 117
COLUMNS ...................................................................................................................................... 118
COLUMNSPACING .......................................................................................................................... 118
CONNECTIONNAME ....................................................................................................................... 118
CONTAINSRTF .............................................................................................................................. 118
CONTROLLER ................................................................................................................................. 119
CONTROLLERBAND ....................................................................................................................... 119
COPIES ........................................................................................................................................... 119
COUNTBLANKS ............................................................................................................................. 119
CURSOR ......................................................................................................................................... 120
DATAFIELD ................................................................................................................................... 120
DATAVIEW .................................................................................................................................... 120
DESCRIPTION ................................................................................................................................. 121
DESIGNERHIDE .............................................................................................................................. 121
DESTPARAM .................................................................................................................................. 121
DESTPIVAR ................................................................................................................................... 122
DETAILKEY ................................................................................................................................... 122
DEVLOCKED .................................................................................................................................. 122
6
User Guide
DISPLAYFORMAT........................................................................................................................... 123
DISPLAYON ................................................................................................................................... 123
DISPLAYTYPE ................................................................................................................................ 123
DUPLEX ......................................................................................................................................... 123
EXPANDPARENT ............................................................................................................................ 124
EXTENDED ..................................................................................................................................... 124
FIELDNAME ................................................................................................................................... 124
FILELINK ....................................................................................................................................... 125
FILLCOLOR .................................................................................................................................... 125
FILLSTYLE ..................................................................................................................................... 125
FINISHNEWPAGE ........................................................................................................................... 126
FIRSTPAGE .................................................................................................................................... 126
FONT ............................................................................................................................................. 126
FONTJUSTIFY ................................................................................................................................. 126
FONTMIRROR ................................................................................................................................ 127
FULLNAME .................................................................................................................................... 127
GOTOMODE ................................................................................................................................... 127
GOTOPAGE .................................................................................................................................... 128
GRIDLINES .................................................................................................................................... 128
GRIDSPACING ................................................................................................................................ 128
GROUPDATAVIEW......................................................................................................................... 128
GROUPKEY .................................................................................................................................... 129
HEIGHT .......................................................................................................................................... 129
HRADIUS ....................................................................................................................................... 129
IMAGE............................................................................................................................................ 130
INITCALCVAR ............................................................................................................................... 130
INITDATAFIELD (CALCCONTROLLER) ........................................................................................... 130
INITDATAFIELD (PAGENUMINIT) .................................................................................................. 130
INITDATAVIEW ............................................................................................................................. 131
INITIALIZER ................................................................................................................................... 131
INITTOFIRST .................................................................................................................................. 131
INITVALUE (CALCCONTROLLER) .................................................................................................. 132
INITVALUE (PAGENUMINIT) ......................................................................................................... 132
KEEPBODYTOGETHER ................................................................................................................... 132
KEEPROWTOGETHER .................................................................................................................... 132
LEFT .............................................................................................................................................. 133
LINESTYLE .................................................................................................................................... 133
LINEWIDTH ................................................................................................................................... 133
LINEWIDTHTYPE ........................................................................................................................... 134
LOCKED ......................................................................................................................................... 134
LOOKUPDATAVIEW....................................................................................................................... 134
LOOKUPDISPLAY ........................................................................................................................... 135
LOOKUPFIELD ............................................................................................................................... 135
LOOKUPINVALID ........................................................................................................................... 135
MAILMERGEITEMS ........................................................................................................................ 135
MASTERDATAVIEW ...................................................................................................................... 136
MASTERKEY ................................................................................................................................. 136
MATCHSIDE .................................................................................................................................. 136
MAXROWS .................................................................................................................................... 137
MINHEIGHTLEFT ........................................................................................................................... 137
MIRROR ......................................................................................................................................... 137
7
User Guide
MODULE ........................................................................................................................................ 137
NAME ............................................................................................................................................ 138
NULLTEXT..................................................................................................................................... 138
OPERATOR ..................................................................................................................................... 138
ORIENTATION ................................................................................................................................ 139
ORPHANROWS ............................................................................................................................... 139
PAGEHEIGHT ................................................................................................................................. 139
PAGELIST ...................................................................................................................................... 139
PAGEWIDTH .................................................................................................................................. 140
PAPERSIZE ..................................................................................................................................... 140
PARAMETERS ................................................................................................................................. 140
PIVARS.......................................................................................................................................... 141
POSITIONMODE ............................................................................................................................. 141
POSITIONVALUE ............................................................................................................................ 141
PRINTCHECKSUM .......................................................................................................................... 142
PRINTER ........................................................................................................................................ 142
PRINTREADABLE ........................................................................................................................... 142
PRINTTOP ...................................................................................................................................... 143
REPRINTLOCS ................................................................................................................................ 143
RESOLUTION .................................................................................................................................. 143
RESULTFUNCTION ......................................................................................................................... 144
RIGHT ............................................................................................................................................ 145
ROTATION ..................................................................................................................................... 145
RUNNINGTOTAL ............................................................................................................................ 145
SIZE ............................................................................................................................................... 145
SORTKEY ...................................................................................................................................... 146
SRC1CALCVAR ............................................................................................................................. 146
SRC1DATAFIELD ........................................................................................................................... 146
SRC1DATAVIEW ........................................................................................................................... 146
SRC1FUNCTION ............................................................................................................................. 147
SRC1VALUE .................................................................................................................................. 147
SRC2CALCVAR ............................................................................................................................. 147
SRC2DATAFIELD ........................................................................................................................... 148
SRC2DATAVIEW ........................................................................................................................... 148
SRC2FUNCTION ............................................................................................................................. 148
SRC2VALUE .................................................................................................................................. 148
TAG ............................................................................................................................................... 149
TEXT.............................................................................................................................................. 149
TEXTFALSE ................................................................................................................................... 149
TEXTJUSTIFY ................................................................................................................................. 150
TEXTTRUE ..................................................................................................................................... 150
TOP ................................................................................................................................................ 150
TRUNCATE ..................................................................................................................................... 150
UNITS ............................................................................................................................................ 151
UNITSFACTOR ............................................................................................................................... 151
USECHECKSUM ............................................................................................................................. 151
VRADIUS ....................................................................................................................................... 152
WASTEFIT ..................................................................................................................................... 152
WIDEFACTOR ................................................................................................................................ 152
WIDOWROWS ................................................................................................................................ 152
WIDTH ........................................................................................................................................... 153
8
User Guide
WIDTHTYPE .................................................................................................................................. 153
9
User Guide
От переводчика
Это вторая из двух книг посвященных генератору отчетов Rave Reports.
Главы «Лицензия на одного пользователя» и «Ограниченные гарантии» оставлены без
перевода.
Поскольку у меня нет самого RAVE, то возможно местами качество перевода будет не совсем
адекватное, поскольку невозможно проверить, что действительно кроется за тем или другим
пунктом документации.
В документации очень много ошибок и несуразностей. Отсутствие некоторых глав как,
например главы об очень важной части RAVE, об их технологии «mirroring» (зеркальное
отражение частей отчета в другом месте без копирования), кстати, как и многое другое,
включая отсутствующие отдельные куски текста, скопированные из других глав, но не
измененные по контексту, разнобой в терминологии, многократное повторения вокруг
темных мест, но не объяснения самой сути этого места и многое другое. И чем дальше к
концу книги, тем хуже положение. Но это часто обычная ситуация разрабатывают
прекрасный продукт, а документация страдает, но не до такой же степени.
Это не очень солидно для фирмы, видимо очень торопились или это был не очень
ответственный работник, книга очень отличается по качеству от книги «Руководства
разработчика», где такие ляпы практически отсутствуют. Так что если где-то, что-то
вызывает недоумение, то знайте, что здесь не только переводчик виноват, но и авторы
постарались. К сожалению, я не в состоянии изменить их ошибки, только местами.
По поводу замеченных
anatoly@podgoretsky.com
недостатков
и
опечаток,
10
просьба
сообщать
на
e-mail
User Guide
Начало работы - Техническая информация
Лицензия на одного пользователя - Single User License Agreement
This is a legal Agreement between you, as the end user, and Nevrona Designs. By opening the
enclosed sealed disk package, or by using the disk, you are agreeing to be bound by the terms of this
Agreement. If you do not agree with the terms of this Agreement, promptly return the unopened disk
package and accompanying items, (including written materials), to the place you obtained them for a
full refund.
1. Grant of License - Nevrona Designs grants to you the right to use one copy of the enclosed
Nevrona Designs program, (the Software), on a single terminal connected to a single computer (i.e.
CPU). You may make one copy of the Software for back-up purposes for use on your own
computer. You must reproduce and include the copyright notice on the back-up copy. You may not
network the Software or use it on more than a single computer or computer terminal at any time,
unless a copy is purchased for each computer or terminal on the network that will use the Software.
You may transfer this Software from one computer to another, provided that the Software is used on
only one computer at a time. You may not rent or lease the Software, but you may transfer the
Software and accompanying written material and this license to another person on a permanent basis
provided you retain no copies and the other person agrees to accept the terms and conditions of this
Agreement. THIS SOFTWARE MAY NOT BE DISTRIBUTED, IN MODIFIED OR
UNMODIFIED FORM, AS PART OF ANY APPLICATION PROGRAM OR OTHER
SOFTWARE THAT IS A LIBRARY-TYPE PRODUCT, DEVELOPMENT TOOL OR
OPERATING SYSTEM, OR THAT MAY BE COMPETITIVE WITH, OR USED IN LIEU OF,
THE PROGRAM PRODUCT, WITHOUT THE EXPRESS WRITTEN PERMISSION OF
NEVRONA DESIGNS. This license does include the right to distribute applications using the
enclosed software provided the above requirements are met.
2. Term - This Agreement is effective until you terminate it by destroying the Software, together
with all copies. It will also terminate if you fail to follow this agreement. You agree upon
termination to destroy the Software, together with all copies thereof.
3. Copyright - The software is owned by Nevrona Designs and is protected by United States laws
and international treaty provisions. Therefore, you must treat the Software like any other
copyrighted material (e.g. a book or musical recording) EXCEPT that you may either (a) make one
copy of the Software solely for back-up or archival purposes, or (b) transfer the Software to a single
hard disk provided you keep the original solely for back-up or archival purposes. You may not copy
the written materials accompanying the Software.
Ограниченная гарантия - Limited Warranty
1. Limited Warranty - Nevrona Designs warrants that the disks on which the Software is furnished
to be free from defects in material and workmanship, under normal use, for a period of 90 days after
the date of the original purchase. If, during this 90-day period, a defect in the disk should occur, the
disk may be returned with proof of purchase to Nevrona Designs, which will replace the disk
without charge. Nevrona Designs warrants that the Software will perform substantially in
accordance with the accompanying written materials. Nevrona Designs does not warrant that the
functions contained in the Software will meet your requirements, or any operation of the Software
will be uninterrupted or error-free. However, Nevrona Designs will, after being notified of
significant errors during the 90-day period, correct demonstrable and significant Software or
documentation errors within a reasonable period of time, or refund all or a fair portion of the price
you have paid for the Software at Nevrona Designs' option.
11
User Guide
2. Disclaimer of Warranties - Nevrona Designs disclaims all other warranties, either expressed
or implied, including but not limited to implied warranties of merchantability of fitness from
particular purpose, with respect to the Software and accompanying written materials. This
limited warranty gives you specific legal rights, you may have others, varying from state to
state. Nevrona Designs will have no consequential damages. In no Событие, shall Nevrona
Designs or its suppliers be liable for damages whatsoever, (including without limitation,
damages for loss of business profits, business interruption, loss of business information, or any
pecuniary loss), arising out of the use or the inability to this Nevrona Designs product, even if
Nevrona Designs has been advised of the possibility of such damages. Some states do not allow
the exclusion of limitation of liability for consequential or incidental damages, and this
limitation may not apply to you.
3. Sole Remedy - Nevrona Designs' entire liability in your inclusive remedy shall be, at Nevrona
Designs' option, either: (1) The return of the purchase price paid; or (2) Repair or replacement of the
Software that does not meet Nevrona Designs' limited warranty, which is returned to Nevrona
Designs with a copy of your receipt.
4. Governing Law - This Agreement will be consTRUEd and governed in accordance with laws of
the State of Arizona.
5. U.S. Government Restricted Rights - This Software and documentation are provided with
restrictive rights. Use, duplication or disclosure by the Government is subject to restrictions set forth
in Section c(1)(ii) of the Rights and Technical Data in Computer Software clause at 52.227-7013.
Техническая поддержка
Техническая поддержка, обновления и другая информация, относящаяся к Rave Reports,
может быть получена на сайте Nevrona Designs. Для получения более подробной информации
посетите один из слежующих сайтов:
Техническая поддержка
- http:/www.nevrona.com/support
Добавления, советы и другая информация - http:/www.nevrona.com/rave
Обновления
- http:/www.nevrona.com/rave/download.html
12
User Guide
1. Введение
В данной главе




Введение в Rave и задачи отчетов.
Навигация по панелям.
Объяснение основных компонент Page.
Короткий обзор панелей, дерева проекта и панели свойств.
Что такое RAVE?
Отчеты являются одним из наиболее сложных вещей, еще более сложной задачей, для
некоторых являются базы данных. Отчеты предназначены для быстрого получения
визуальной информации из данных. Для решения данной проблемы, на наиболее
информационный манер, традиционные генераторы отчетов предлагают, секционное, в стиле
таблиц представление данных. На сегодняшний день имеются более сложные требования к
отчетам, которые не так легко решить стандартными секционно-табличными средствами.
Добро пожаловать в следующий уровень визуального проектирования отчетов! Визуальный
Rave дизайнер предлагает многие уникальные свойства, которые помогут сделать процесс
получения отчетов проще, быстрее и более понятным. Rave является интуитивной,
визуальной средой разработки, которая может легко управлять широким спектром отчетов,
много больше, чем чистый, рассчитанный на секции дизайнер. Rave также включает
зеркальное отражение и другие технологии, для повторного использования содержимого
ваших отчетов для быстрого внесения изменений и боле простого обслуживания. В
действительности, Rave был специально разработан для получения гибкости и
функциональности, в простом для освоения формате.
С чего начать? Поскольку, Rave является странично - ориентированным дизайнером, многие
из его свойств должны быть понятны и легки для использования после небольшой практики.
Есть большое количество параметров и других вещей, которые совсем понятны, при
начальном освоении. Тем не менее, запомните, что многие из этих параметров могут быть
просто проигнорированы в начале, но потом, они вам потребуются, после того как Вы
приобретете более обширные знания. В действительности, помощники «Wizards»
сгенерируют вам "стандартные" отчеты без знания, что происходит за сценой. Тем не менее,
мы рекомендуем, что бы Вы потратили немного времени и быстро прочитали данное
руководство.
В инсталляцию Rave включен проект, названный "RaveDemo", который содержит примеры
различных отчетов. Что бы увидеть общий идеи, запустите RaveDemo.exe и откройте проект
RaveDemo, для доступа к различным типам отчетов. Изучение проекта RaveDemo и других
примеров является прекрасным методом изучения Rave.
Среда RAVE - Report Authoring Visual Environment
Отчет может быть описан, как представление данных в визуальном виде, которое можно
распечатать на бумаге или просматривать в электронном виде. Обычно, имеется набор
таблиц, которые предоставляют данные для создания отчета. Например, представим себе:
таблицу заказчиков «Customer», таблицу продукции «Products», и таблицу продаж «Items
Sold». Данные таблицы должны быть скомбинированы для получения формы письма, счета и
списка заказчиков.
13
User Guide
Начнем с быстрого обзора Rave. Первый шаг используем Rave для запуска программы.
Первая вещь, которую мы увидим, будет представление на экране страницы с закладками, с
двумя окнами по обе стороны страницы и панели вверху экрана. На первый взгляд, слишком
много элементов дизайнера Rave, для первого раза, что бы начать работать.
Начнем с того, что показывается при старте Rave. Для начала, поймите, что есть две группы
панелей, отображаемых в дизайнере Rave; это компоненты и инструменты.
Компоненты, это такие элементы, которые "бросаются" или видны на странице редактора.
Это могут быть секции, штрих коды, линии, графические примитивы, и другие. Пока не
будем беспокоиться об этих вещах. Если объект виден на странице, то это компонент.
Панели, которые могут изменять компоненты, являются панелями инструментов. Есть
несколько таких панелей: выравнивания, палитра цветов, редактор шрифтов и другие. Если
на странице есть прямоугольник, который нужно закрасить цветом фона, сначала выберите
данный прямоугольник, щелкнув на нем. Затем, используя панель цветов, смените цвет на
требуемый. Панели можно скрывать и показывать, выбирая их из меню Tools. Для
представления обзора в более простом виде, панели могут скрываться, до тех пор, пока они
не понадобятся.
Заметим, что это был очень быстрый обзор. Имеется множество настроек и свойств, которые
управляют поведением каждой части визуального дизайнера. Данное руководство состоит из
двух частей, Описание системы Rave, включая компонент и инструмента, затем глава
справочника, которая содержит подробное описание каждого свойства. Сначала, пройдите
главы Описания, и только за тем переходите к главе справочника, для большего понимания
различных свойств.
Первый взгляд
Когда Rave первый раз запускается, то открывается окно, похожее на ниже представленную
картинку. Поскольку Rave помнит, какой файл был открыт последний раз, ваше окно может
немного отличаться. Но, области, показанные на данном рисунке, являются
фундаментальными. Мы сначала расскажем о каждой части окна, что бы дать общее
представление о дизайнере Rave.
14
User Guide
Область навигации
На самом верху визуального дизайнера Rave расположена область навигации. Сюда могут
индивидуально прилепляться (docking) панели, и также могут присоединяться закладки.
Присоединение панелей позволяет пользователю видеть все кнопки на панели и видеть
больше панелей одновременно. Присоединение панелей позволяет иметь простой доступ до
панелей, но только одна панель видна в тоже время.
Панели могут содержать одновременно и компоненты и инструменты. Инструмент это
свойство, которое позволяет изменять объект на странице, как редактор шрифтов или палитра
цветов. Компонент это объект, который размещается на странице как группа, линия, текст,
регион или секция. Для поиска имени кнопки на панели, просто переместите мышь на
кнопку, и появится всплывающая подсказка. Также, заметим, что при выборе кнопки она
утапливается. Отжимается, когда кнопка нажимается.
Каждую панель можно спрятать. Что бы спрятать или показать панель, перейдите в меню
Tool и выберите необходимую панель, из пункта Toolbars.
Страница (Основа Rave)
Стартовая точка визуального дизайнера Rave это страница. Страница это фундамент, на
котором выполняются все действия по разработке. На странице показана сетка, которая
выглядит примерно, как показано на рисунке. Внешний вид страницы можно изменить на
свои собственные предпочтения, данный вопрос рассматривается в главе Предпочтения.
15
User Guide
Одной из важных вещей, которую вы знаете и помните, это то, что страница имеет свойства,
такие как высота и ширина. Для просмотра или изменения свойств страницы, перейдите в
панель дерева проекта и разверните узел Report, нажатием на значок «+», затем выберите имя
отчета (По умолчанию "Report1") и затем выберите строку, которая по умолчанию,
называется "Page1". Щелкните один раз на имени страницы, оно будет подсвечено в дереве
проектов. Подсветка означает, что страница выбрана, и ее свойства можно посмотреть в
панели свойств.
Панель дерева проекта
Панель дерева проекта это очень важная информативная часть дизайнера Rave и это также
предоставляет простой путь для навигации по структуре проекта.
В данный момент мы рассмотрим только часть дерева проекта. Более подробно это будет
рассмотрено в главе Дерево проекта.
Имеет три основных узла в дереве проекта: Report Library, Global Page Catalog и Data View
Dictionary. Каждый из этих узлов (и их подузлов), может быть, развернут или свернут
нажатием на символ плюс/минус. Подузлы могут создаваться и добавляться, выбором
соответствующего пункта (New Report, New Global Page или New Data Object) в меню Project.
Узел Report Library содержит все отчеты в данном проекте. Каждый отчет может иметь от
одной до нескольких страниц. Каждая из этих страниц может иметь один или несколько
компонентов на ней.
Узел Global Page Catalog содержит все шаблоны отчета. Шаблоны отчетов могут содержать
от одного до нескольких компонентов. Данные шаблоны могут затем повторно
использоваться через уникальную технологию зеркального отражения Rave. Она позволяет
включать такие элементы как заголовки и подвалы писем, готовые печатные формы, водяные
знаки или определения полных страниц, которые затем могут служить основой для других
отчетов.
16
User Guide
Узел Data View Dictionary содержит все подключения данных, определенные для отчетов.
Data view получает данные из приложения, через подсоединения данных, установленные для
данного приложения.
Панель свойств
Панель свойств помогает настраивать вид и поведение компонент. Когда компонент выбран
на странице, Панель свойств отражает выбор показом различных свойств, ассоциированных с
данным компонентом.
Изменение значений свойств делается очень просто, использованием различных
ассоциированных выпадающих меню и окон редактирования. Если не выбран ни один
компонент, то панель свойств появляется пустой.
Другой путь изменения свойств, это выбор значений из списка возможных значений.
Например, свойство Color имеет кнопку со значком стрелка вниз. При нажатии на данную
кнопку выпадает список цветов, из которого можно выбрать нужное значение. Некоторые
свойства, у которых есть список выбора, могут быть выбраны двойным щелчком (вместо
раскрытия списка и выбора из него значения), для доступа к одному следующему значению
за раз.
17
User Guide
2. Панели и окна инструментов
В данной главе




Общая информация о панелях
Размещение панели в среде дизайнера
Как работать с панелями в среде дизайнера
Введение окна инструментов и их перемещение
Панели
Панель это коллекция иконок, которые представляют их функции. Rave имеет несколько
панелей, которые могут быть приклеены к любой стороне окна дизайнера, к закладкам, или
быть спрятаны, пока не потребуются.
Для доступа к панелям, перейдите в меню Tools, и затем выберите Toolbars, выберите
нужную панель. Выбор панели отмечается галочкой радом с панелью.
Панели разработаны так, что бы помнить свое последнее местонахождение. Когда панель
скрывается, а затем снова показывается, то панель показывается в той же самой позиции
экрана, в которой она была закрыта.
Перемещение панели
Когда панель видима, она может находиться в одном из двух состояний: привязанная к
закладке (tab-docked) или автономно (single docked). Привязанная панель индицируется
только на закладке. Автономная панель имеет слева манипулятор ребро перемещения. Для
смены состояния панели, сделайте щелчок правой кнопкой на одной из ее иконок. Появится
маленькая кнопка с меткой "dock" или "undock". Щелкните по данной кнопке для смены
состояния.
Когда панель отвязана, манипулятор панели "toolbar handle" это ребро с левой стороны, для
перемещения панели. Для перемещения панели, поместите курсор на ребро "toolbar handle",
нажмите левую кнопку мыши и, удерживая ее, переместите панель в новое положение в
верхнем окне дизайнера. Лучший путь это потренироваться с этим.
Как замечено раньше, одиночные панели и панели на закладках могут быть размещены
только в верхнем окне дизайнера. Пользователь может попрактиковаться с их перемещением.
Палитра панели
Палитра панели имеет некоторое количество специальных свойств, которые будут
рассмотрены более подробно. Область в верхнем правом углу дизайнера позволяет
разместить одну или несколько панелей. Когда панели размещена, то закладка имеет имя
панели. При размещении панелей в области закладок, создается новая закладка для
отражения текущей панели.
Имеется инструмент (Tab Grabber), позволяющий перемещать закладки влево или вправо.
Когда закладка перемещается слишком далеко вправо, появляются две стрелки позволяющие
двигаться по закладкам. Вся область закладок может быть очищена перемещение всех
закладок из этой области или закрытием панелей через меню. Область закладок также может
быть перемещена на любой край окна (перемещая далеко вправо) освобождая верную
область для дизайнера. Используйте Tab Grabber для перемещения области закладок (может
быть легко заполнено или очищено) для перемещения далеко вправо.
18
User Guide
Скрытие панелей
Есть несколько путей для скрытия панелей. Скрытия панелей позволяет пользователю иметь
'чистый' Rave дизайнер. Это позволяет убрать неиспользованные или редко используемые
панели, из среды дизайнера.
Для этого снимите отметку в меню Tools.
Панели компонент и утилит
Есть два типа панелей: Компоненты (Component) и утилиты (Utility). Компонентные панели
используются для помещения компонент, которые работают и имеют функции внутри отчета;
смотри главу «Обзор компонент» для более подробной информации о компонентах.
Большинство из компонент видимы, при размещении на странице, но есть несколько не
видимых компонент, не видимы, означает, что данные компоненты появляются только в
дереве проектов.
Панели утилит используются для установки свойств, которые влияют на вид компонент в
отчете, например, панель цвета может изменять цвет текста в компоненте DataText.
Ниже список панелей, классифицированных по типам:
Панели компонент
Панели утилит
Standard
Alignment
Report
Colors
Bar Code
Fills
Drawing
Fonts
Lines
Zoom
Project
Designer
Окна инструментов
Rave имеет два очень важных окна, которые обычно называются окна инструментов (Tool
Windows). Так они называются, поскольку пользователь использует их как инструмент, для
выполнения и навигации по отчету. Эти два окна – дерево проекта и панель свойств.
Данные окна обычно показываются после запуска Rave. но, если они не показаны, то
перейдите в меню Tools и отметьте их.
Окно панели свойств
Окно панели свойств дает информацию о характеристиках проект и компонент в проекте.
Это полезно при разработке проекта, поскольку дает быстрый доступ к свойствам компонент
и визуальный доступ для модификации свойств. Более подробная информация содержится в
главе «Панель свойств».
Панель свойств отображает и позволяет изменять значение любых компонент помещенных
на страницу, включая не видимые компоненты. Для получения информации о нужном
19
User Guide
компоненте, выберите данный компонент перед просмотром в панели свойств. Для более
подробной информации о выборе объекта смотрите главу «Выбор компонент».
Дерево проекта
Дерево проекта очень важная часть дизайнера Rave. Оно предоставляет простой путь для
навигации по структуре отчета.
Дерево проекта состоит из трех главных узлов: Report Library, Global Page Catalog и Data
View Dictionary. Для более подробной информации о функциональности этих компонент
смотрите главу «Дерево проекта» и главу «Компоненты проекта».
Элементы внутри дерева проекта могут быть выбраны щелчком на элементе. Также помните,
что компоненты в дереве проекта это также и компоненты на странице.
Примечание: невидимые компоненты в дереве проекта обычно зеленого цвета.
Подробности о навигации по дереву проекта, содержатся в соответствующей главе, сейчас
дано только общий обзор.
20
User Guide
3. Обзор компонент
В данной главе



Общее введение в компоненты
Список панелей компонент
Обзор каждой панели компонент
Что такое компонент
Компонентом называется то что, размещается на странице, такое как - штрих код, линия,
регион, графический примитив (shape) и другие. Компоненты, доступные Rave, находятся на
панелях (например, Standard, Drawing, Report и Barcode).
Панели доступны, через выбор меню Tools | Toolbars. Доступные панели показываются в
следующем подменю и имеют отметку, если они видимы в текущий момент. После того как
панель становится активной, компонент может быть выбран и помещен на страницу.
Страница это особый компонент, и более детально рассмотрен в главе «Дизайнер страниц».
с каждым компонентом ассоциируется набор свойств. Эти свойства могут быть
просмотрены с помощью панели свойств. Установка свойств каждого компонента
производится или вводом значения в текстовом диалоге, использование
выпадающего меню или нажатием на кнопку с символом эллипса (…).
Есть много свойств ассоциированных с каждым компонентом, но не беспокойтесь об их
количестве. Свойства позволяют настраивать поведение компонента и в большинстве случаев
значение по умолчанию вполне адекватно. Также, заметьте, что количество свойств может
варьироваться в зависимости от уровня пользователя, можно изменить через предпочтения
(preferences). Для настройки уровня пользователя откройте закладку environment в диалоге
preferences. Смотрите главу «Предпочтения».
Поскольку есть много свойств, ассоциированных с каждым компонентом, данная глава
делает фокус в основном на панелях компонент, чем на их свойства. Текущая глава
производит хороший обзор каждой панели компонент без детального рассмотрения свойств.
Заметим, что многие компоненты имеют общии свойства, так что как только свойство
изучено, то оно может быть применено к остальным компонентам.
Компоненты также определяются отношениями к другим компонентам. Данная связь
определяется как родитель-дитя. Когда текстовый компонент помещается на страницу,
родителем является страница и подчиненным текстовый компонент. По-другому на это
можно посмотреть так, что страница содержит текстовый компонент, родительский
компонент содержит подчиненный компонент.
Связь родитель-дитя также расширяется на позиционирование компонентов. Любое
позиционирование делается относительно верхнего левого угла родителя, это свойства Left и
Top, которые используются для определения относительной позиции компонента. Родитель
подобен компоненту Section, который может содержать любое количество других компонент;
затем если родительский компонент перемещается, его подчиненные компоненты
перемещаются одновременно. Если родительский компонент удаляется, то удаляются и все
его дети.
Связь родитель-дитя определяется при создании подчиненного компонента. Если
подчиненный компонент бросается на родительский компонент, то он становится дитем
данного родителя. Если компонент бросаются на страницу, и затем перемещается на другой
компонент (такой как Section), то он все равно остается дитем страницы.
21
User Guide
Дерево проекта, более подробно описано позже, визуально показывает связь родитель-дитя
компонент. В действительности, компонент Project является главным родителем всех отчетов,
остальных страниц и объектов данных. Отчеты родители страниц отчета. Страницы родители
компонент помещенных на них. Еще есть другие компоненты, которые могут быть
родителями, такие как Region (регионы), Band (полосы) и Section (секции).
Панели компонент
Есть четыре стандартные панели компонент. Другие панели компонент могут быть
представлены дополнительными add-on пакетами. Нормальный набор компонент следующий:
"Standard", "Drawing", "Report" и "Bar Code". Одно из общих свойств, применимое ко всем
компонентам, будет объяснено здесь.
Свойство Name используется для задания имени, которое должно быть уникальным. По
умолчанию Rave назначает последовательные имена, базируясь на типе компонента, такие
как 'Section1', 'Section2' и так далее. Смените его на более описательное, что бы сделать
дерево проекта более читабельным и проект более простым для обслуживания. Свойство
Name не должно содержать пробелов или специальных символов. Данное имя будет
использоваться в панели дерева проектов.
Несколько следующих глав дают обзор четырех панелей компонент. Это служит только как
введение, более подробная информация будет сделано позже.
Стандартные компоненты
Панель стандартных компонент, содержит большинство, наиболее часто используемых
компонент. Когда панель стандартных компонент видима, выберите и поместите компонент,
такой как битмап, секция, текстовый компонент на страницу.
Компонент Text создает одиночную строку текста, которая может быть изменена с помощью
панели свойств.
Компонент Memo позволяет отображать несколько строк текста, включая многострочный
текст.
Компонент Section это очень специальный компонент, который позволяет объединять
несколько компонент.
Компоненты Bitmap и Metafile, позволяют разместить графические образы в отчете.
Компонент FontMaster позволяет пользователю определять стандартные шрифты для
различных частей отчета, например заголовкам, содержимому и подвалам.
Последний компонент называется PageNumInit, данный компонент позволяет начать
нумерацию в отчете.
Используйте эти компоненты для создания базы отчета, вставки текста и образов.
22
User Guide
Компоненты штрих кодов
панель штрих кодов компонент содержит шесть компонент: PostNetBarCode, 2of5BarCode,
Code39BarCode, 128BarCode, UPCBarCode и EANBarCode.
Они используются для создания всех типов штрих кодов в отчете.
Компоненты рисования
Панель компонентов рисования содержат графические компонент. Это включает рисование
линий, квадратов, прямоугольников, кругов и эллипсов.
Компоненты слева направо: Line, HLine, VLine, Rectangle, Square, Ellipse и Circle.
Они используются для рисования графических примитивов и общего форматирования отчета.
Используйте их для разделения областей отчета или для создания информативных образов.
Компоненты отчета
Здесь несколько компонент отчета: (слева направо) DataText, DataMemo, CalcText,
DataMirrorSection, Region, Band, DataBand, DataCycle, CalcOp, CalcTotal, CalcController.
Используйте компонент для взаимодействия с базой и создания функциональных отчетов.
Компоненты с красной точкой в верхнем правом углу, относятся к компонентам данных
(Data Aware) и могут отображать информацию из базы данных. Каждый компонент имеет
свойство DataView, которое позволяет взаимодействовать с базой данных.
Компоненты зеленым фоном не видимые. Их можно увидеть только в дереве проекта, а не на
странице.
Компоненты Band и DataBand должны быть размещены внутри региона (Region). Поэтому
при размещении их на странице, сначала поместите Region на страницу, в котором затем
разместите Band или DataBand компонент. Нет ограничения на количество компонент Bands
в регионе, или обязанности все размещать в одном регионе. Может быть столько регионов,
сколько вам нужно. Каждый компонент Band имеет свой собственных набор свойств для
управления его поведением. Смотрите главу «Компоненты отчета» для получения более
подробной информации..
23
User Guide
4. Дизайнер страниц
В данной главе





Введение в Page, как базового компонента
Обсуждение, как дерево проекта и панель свойств относятся к Page
Показано, как выбрать компонент (компоненты)
Показано как, изменять размеры и перемещать компоненты
Обзор вырезания и вставки в Rave
Обзор
Знание компонент и инструмента не достаточно для эффективной работы с Rave. Вы также
должны знать об наиболее фундаментальном компоненте Rave, о компоненте Page
(страница). В данной главе в деталях объяснен компонент Page и его связи с деревом проекта
и панелью свойств. Поскольку дерево проектов и панель свойств имеют свои собственные
главы, в которых они рассмотрены индивидуально, данная глава рассматривает их связи с
Page. Также в данной главе приведены основы перемещений объектов на странице.
Базовый компонент Page и его панели
Базовым компонентом в визуальном дизайнере Rave является компонент Page. Компонент
Page не является нормальным компонентом, и его нет в панели компонент, но он имеет свои
собственные свойства, что позволяет думать о нем, как о базовом компоненте, являющим
контейнером для построения отчета. Все компоненты Rave должны быть размещены на Page.
Page предоставляет сетку на пали страницы. Внешний вид страницы управляется
предпочтениями, которые описаны в главе «Предпочтения». Изменение внешнего вида
рассматривается в главе «Панели утилит».
Подобно всем компонентам, компонент Page также имеет свойства, такие как Height, Width,
Description и Name. Для просмотра или изменения свойств Page, перейдите в панель дерева
проекта и раскройте узел Report, нажав на символ "+", затем щелкните на имени отчета (По
умолчанию "Report1"). Щелчок на имени отчета покажет вам "Page1", которое является
именем по умолчанию для Page. Щелкните один раз на нем и заметьте, что элемент "Page1"
подсветился. Это означает, что страница выбрана, и теперь можно посмотреть ее свойства в
панели свойств.
24
User Guide
Свойства страницы позволяют отчету быть более информативным. Например, вместо Page1,
Page2, Page3, это могут быть имена Invoice, PO, PackingSlip. Что бы сделать это, используйте
свойство Name в панели свойств. Имя может быть любым, которое пожелает пользователь,
но оно не может иметь пробелов или специальных символов. Помните, что Name только для
дизайнера Rave и видимо только в дереве проектов и в закладках на панели Page.
Образ дерева проектов и панели свойств, изменяется после переименования Page. Теперь
дерево проекта выглядит более информативно. Это полезно при настройке многих свойств
ассоциированных со страницей, что делает более информативным и удобным при
дельнейшем использовании и изменении.
Выбор компонент
Для выбора компонент просто щелкните на них. Переместите указатель мыши, на область
компонента, и однократно щелкните на нем левой кнопкой мыши. Выбранный компонент
будет обведен специальной рамочкой с маркерами.
Маркеры могут быть четырех различных цветов: зеленый, серый, красный и желтый.
Зеленый маркер указывает, что текущий компонент выбран только один компонент. Серый
маркер, что имеется более одного выбранного компонента, красный маркер индицирует, что
текущий компонент зафиксирован. Желтый маркер индицирует, что объекты зеркально
отражены и не могут быть изменены.
Выбор более одного компонента за раз делается аналогичным образом, за исключением, что
требуется удерживать клавишу Shift при выборе объектов.
Другим методом выбора более одного компонента за раз, это нарисовать виртуальную рамку
вокруг них. Для этого поместите курсор мыши в нужную позицию и перемещайте курсор
мыши, не отпуская левой кнопки.
Для снятия выбора, просто щелкните на закладке дизайнера страницы или выберите другой
компонент.
Когда выбрано несколько компонент, только общие свойства показываются в панели
свойств. При смене свойства, изменение применяется ко всем выбранным компонентам.
Имеется специальное свойство для всех компонент, называемое Locked (заблокировано).
Если свойство Locked установлено в True, то компонент может быть выбран, но его свойства
нельзя изменить (конечно, за исключением свойства Locked). Если выбранные компоненты
зафиксированы, то маркеры и имена свойств, для данных компонент будут красного цвета
(как отмечено ранее). Если компонент имеет подчиненные компоненты (детей), то родитель
управляет доступом. Свойство Locked имеет выпадающее меню, или True/False, указывая
состояние блокировки, или оно указывает имя компонента, который управляет его
состоянием. Дальнейшее обсуждение считает, что компоненты не заблокированы.
25
User Guide
Перемещение и изменение размеров компонент
Для перемещения компонента, просто выберите его и, не отпуская левой клавиши мыши,
переместите его нужную позицию. При выборе более одного компонента, все они
перемещаются одновременно. Заметим, что это не касается заблокированных компонент.
Основное назначение маркеров это изменение размеров компонент. Изменение работает
только для одного компонента за раз, то есть группа выбранных компонент не может быть
изменена одновременно. Компоненты могут быть изменены по вертикали, горизонтали или
по диагонали. При изменении по диагонали, компонент меняет оба своих размера. Просто
нажмите на нужный маркер и, не отпуская клавиши мыши, перетащите маркер в нужную
позицию. Заблокированные компоненты не могут быть изменены.
Копирование и вставка
Копирование и вставка выполняются аналогично, как в стандартных Windows приложениях.
После выбора компонента (или группы компонент), выберите Cut или Copy из меню Edit, или
используйте комбинацию клавиш Ctrl-X или Ctrl-C, или правый щелчок мыши на компоненте
и выбор Cut или Copy из контекстного меню.
Для вставки компонент выберите одним из предыдущих методов (меню Edit, Ctrl-V или
контекстного меню).
Снова, важный пункт заблокированные компоненты не могут быть вырезаны, поскольку это
убирает объект из позиции.
Упражнение 1: выбор, изменение размеров и перемещение
компонент
Для выбора объекта:
1. щелкнете на компоненте. Рамка и маркеры вокруг него;
2. или выберите компонент из дерева проекта.
Для изменения размера:
1. выберите компонент;
2. переместите курсор, пока его вид не изменится на двунаправленные стрелки;
3. удерживая маркер, установите необходимый размер.
26
User Guide
Для перемещения компонента:
1. выберите компонент;
2. перемещайте курсор поверх компонента (не на маркер, как это было при изменении
размера компонента). Щелкните мышкой на компоненте и удерживая ее;
3. перемещайте компонент мышкой;
4. переместите в нужную позицию.
5. освободите курсор.
Упражнение 2: вырезание и вставка
С помощью меню Edit:
1. выберите компонент;
2. выберите пункт Cut из меню Edit. Этим Вы поместите компонент в буфер обмена, и
компонент при этом исчезнет со страницы;
3. выберите пункт Paste из меню Edit.
С использование горячих клавиш:
1. выберите компонент;
2. нажмите Ctrl+X. Этим Вы поместите компонент в буфер обмена, и компонент при этом
исчезнет со страницы;
3. нажмите Ctrl+V.
С помощью контекстного меню:
1. выберите компонент;
2. нажмите правую кнопку мыши на компоненте, в контекстном меню выберите пункт
Cut. Этим Вы поместите компонент в буфер обмена, и компонент при этом исчезнет со
страницы;
3. вставьте выше указанным методом.
27
User Guide
5. Дерево проекта
В данной главе





Введение в структуру дерева проекта
Общее обсуждение связей Родитель-ребенок
Введение в категории проекта
Показано, как загружать/выгружать глобальные страницы
Обсуждение и объяснение возможностей Drag and Drop
Обзор
Панель дерева проектов предоставляет простой путь для навигации по структуре проекта.
Данный вид дает обзор структуры страниц и структуры в свободном стиле. Поэтому, это
делает дерево проекта очень информативной частью дизайнера Rave. Независимо делаете ли
Вы простые и сложные отчеты, помните про эту панель, и увидите насколько
информативным это может быть.
проект может содержать множество определений в каждой категории: Report Library
(библиотека отчетов), Global Page Catalog (каталог глобальных страниц) и Data View
Dictionary (словарь данных). Каждый узел (и любые под узлы) могут быть свернуты или
развернуты, нажатием на символ плюс/минус. Любые из этих узлов могут быть добавлены из
меню Project. Там Вы увидите пункты для каждого из узлов New Report (новый отчет), New
Global Page (новая глобальная страница) и New Data View (новый просмотр данных). До
добавления новой страницы New Page в отчет, узел Report Library, предварительно выберите
нужный отчет и используйте пункт New Page из меню Project.
Развертывание дерева и контекстное меню
Более простым путем выполнения действий над элементами дерева проекта, это
использование контекстного меню. Доступно много разных контекстных меню. Выбор
контекстного меню на главном узле, типа Report Library вызывает контекстное меню с двумя
пунктами Expand All и Collapse All. Данные два пункта предназначены для свертывания или
развертывания всех узлов дерева, что предоставляет быстрый путь для доступа ко всем
элементам.
Выбор пол-узла, типа Page, вызывает пункты удаления страницы. Может быть меньше или
больше доступных функций.
Выбор компонента может показать контекстное меню с множеством пунктов. Те же пункты
появляются и при вызове контекстного меню на компоненте в дизайнере страниц. Также, эти
пункты отображаются в панели утилит. Может быть меньше или больше доступных
28
User Guide
функций. Для ускорения создания отчета или навигации по нему быстрой простой требуется
разбираться в данных функциях этих контекстных меню.
Связи родитель-ребенок
До этого Вы узнали, как перемещаться по дереву, теперь же мы проведем маленький ликбез,
что такое дерево.
Дерево проекта показывается, как дерево растущее вниз. База или корень (root) дерева
находится на верху списка. Каждое последовательное вхождение является ребенком корня
или веткой дерева. Это делает корень родителем всех его детей. Каждая ветвь также сама по
себе является корнем для своих детей.
Техника, использованная в предыдущей главе, показывается, как двигаться по дереву,
развертывая узлы, ассоциированные с каждым родителем. Когда ветвь имеет детей, узел
появляется слева от имени ветви.
Библиотека отчетов является корнем дерева и имеет одного ребенка, называемого Report1,
показанного с подсветкой текста.
Report1 имеет следующих детей: Page1, Page2, Page3, Page4, Page5 и Page6.
Page1 имеет следующих детей: Text1, Text2 и Memo1.
Здесь есть две группы братьев и сестер. Как и реальной семье с родителями и детьми, дети
могут иметь братьев и сестер. Первая группа братьев и сестер: Page1, Page2, Page3, Page4,
Page5 и Page6.
Первая группа братьев и сестер: Text1, Text2 и Memo1. Могут быть и другие семейные
взаимосвязи, но главная, как уже отмечено, это связь родитель-ребенок.
Библиотека отчетов
Узел Report Library (библиотека отчетов) отображает структуру дизайна, включающую все
использованные компоненты в каждом из отчетов. Обычно, компонент выбирается на панели
страницы, просто отмечая его мышью. Тем не менее, библиотека отчетов также. Первая
группа братьев и сестер использована для выбора компонентов, щелчком по имени. Когда мы
щелкаем по имени компонентов, то оно подсвечивается. Для выбора нескольких
компонентов, придерживайте клавишу Shift, при выборе.
Проект может быть простым, состоящим из одного или двух определений, но может быть и
сложным с множеством определений. Каждый отчет, который создается, должен иметь свою
собственную структуру. Для выбора и переключения на различные отчеты, просто делайте
двойной щелчок на имени отчета в структуре библиотеки отчетов.
СОВЕТ: Чтобы сделать навигацию и отчет, простым для понимания, используйте
описательное свойство Name. Смотрите упражнение 4 «именование компонент» в конце
данной главы для эффективного использования, данного свойства.
Каталог глобальных страниц
Узел каталог глобальных страниц, где содержатся определения, которые
используются как шаблон, которые могут отражаться. Это включает такие вещи
как заголовки писем, формы, водяные знаки и другие определения страниц,
которые могут использоваться в различных отчетах. Это упрощает общую разработку.
Примером может быть отображение секции компонент на глобальной странице, где
29
User Guide
одинаковое содержимое может быть отпечатано (например, счет), но также может иметь
различные заголовки в подвале страниц, например "Original", "File Copy" и "Shipping".
Загрузка и выгрузка глобальных страниц
Глобальные страницы очень полезны и применимы для дизайна, особенно когда они могут
быть быстро доступны. Эти страницы могут содержать все типы объектов и компонент,
которые могут повторяться и отражаться через множество страниц в различных отчетах.
Многие отчеты в библиотеки отчетов могут использовать любую из глобальных страниц
каталога.
При создании отчетов, полезным свойством дизайнера Rave является закладки дизайнера
страниц. Они расположены вверху окна дизайнера страниц. Здесь все закладки,
используемых страниц.
Глобальные страницы можно добавить на закладку для более быстрого доступа, что означает,
что разработчику не нужно прокручивать все дерево для поиска нужной, часто используемой
страницы. Вместо этого разработчик может просто загрузить страницу в закладки дизайнера
и затем просто выбирать нужную страницу. Глобальные страницы могут быть загружены или
выгружены закладок дизайнера, просто по правому щелчку мыши на глобальной странице и
использованием контекстного меню для выбора. Быстрый путь выгрузить глобальную
страницу это выбрать ее в области закладок, зто щелкнуть по странице и нажать клавишу
Ctrl+F4.
Словарь данных
Словарь данных в дизайнере Rave это узел где указаны все подключения данных для
отчетов. Для добавления просмотра данных в данный список, выберите New Data
View из меню Project. Это вызовет диалог Data Connections. Данное окно покажет
все подключения данных Rave, которые сейчас активны. Затем выберите любое из них для
создания нового просмотра подсоединенного к данному подключению.
Ctrl+Drag&Drop
Ctrl+Drag&Drop используется для создания или зеркального отражения элемента из
структуры дерева проекта или другого узла в данной структуре отчета или текущей страницы
дизайнера. При перетаскивании из панели дерева проекта на страницу дизайнера, место
бросания определяется местом, в котором отпущена мышь. Но, при перетаскивании их
одного узла страницы в другой (в панели дерева проекта), по умолчанию, место остается тем
же, что и в источнике.
ПРИМЕЧАНИЕ:
При перетаскивании не видимого компонента, он должен быть отражаемого типа.
Копирование для не отражаемых типов не работает. Компоненты Regions и Bands, для
которых не разрешено зеркальное отражение. Для зеркального отражения региона, сделайте
регион частью секции и затем отразите эту секцию. Секция также может включать и другие
компоненты.
ПРЕДУПРЕЖДЕНИЕ:
Перетаскивание (Drag&Drop) работает из страницы отчета в страницу отчета, глобальной
страницы в глобальную страницу, глобальную страницу в страницу отчета, но это не
работает перетаскивания из страницы отчета в глобальную страницу, поскольку компоненты
на отчете не видимы другим отчетам и поэтому не могут отражаться в глобальной странице.
30
User Guide
Alt+Drag
Alt+Drag используется для смены родителя компонента в новый контейнер подобный
секции. Все перемещения для данного компонента должны быть сделаны в той же самой
странице. Когда создается новая секция, пользователь может выбрать все элементы из другой
секции для помещения в новую секцию. В этом случае родитель должен быть сменен из
старой секции на новую секцию, и затем новая секция может быть зеркально отражена.
ПРИМЕЧАНИЕ:
Компонент назначения должен быть контейнерного типа. Page, Region и Section все являются
хранителями или контейнерами. Так, если есть или более секций на странице, элементы
могут быть перетащены в другую секцию. Также все компоненты могут быть перетащены со
страницы на одну из секций.
Упражнение 3: навигация по дереву проектов
Поскольку многие проекты отчета очень сложные, иерархическое дерево проекта помогает
двигаться по отчетам.
Навигации по иерархии (развертывание, свертывание и выбор):
1. разверните элемент путем нажатия на символ плюс. Затем оно сменится на минус и
развернет элемент с под элементами, такими как Report1, Page1 и остальными.
2. свертывание элемента осуществляется нажатием на символ минус, он сменит свое
рисунок на символ плюс и свернет все под элементы.
3. выбор элемента из дерева проекта выполняется нажатием мышкой на нужный элемент.
Выбранный элемент подсвечивается.
Упражнение 4: именование компонент
1. Поскольку проекты обычно очень сложные, строго рекомендуется давать им значимые
имена.
2. По умолчанию, свойство Name получает имя подобное "Report1", "Report2" и так
далее. Но гораздо легче управлять проектом, если отчеты имеют более полезные
имена. Это можно сделать через свойство Name.
3. при разработке соглашений об именах будьте созидательны, но помните, что пробелы
или специальные символы не разрешены в свойстве Name.
4. в примере панели дерева проектов, по умолчанию имена отчетов были изменены.
Вместо "Report1" до "Report7", имена отчетов были названы: "CustomerList",
"CustomerLabels",
"CustomerDue",
"Invoice",
"PO",
"ProductsOnHand"
и
"ProductsOnOrder". Это важно для понимания, что панель дерева проектов в этом
31
User Guide
делает проект проще. Но, без информативной системы имен, панель дерева проектов
не показывает свой потенциал.
Переименование отчета (или других компонент):
1. выберите отчет (компонент);
2. убедитесь что отчет, который переименовывается выбран. Должен быть подсвечен;
3. перейдите в панель свойств и найдите свойство Name;
4. в поле Name, введите нудное имя;
5. нажмите Enter, после ввода нового имени;
6. посмотрите в дереве проекта и убедитесь, что имя отчета (компонента) изменилось.
Упражнение 5: загрузка и выгрузка глобальных страниц
Загрузка и выгрузка глобальных страниц в область закладок дизайнера страниц делает доступ
к этим страницам более быстрым и удобным. Это особенно истинно, когда Вы работаете с
отображенными секциями и объектами из разных отчетов.
Загрузка глобальной страницы:
1. запустите новый отчет;
2. вставьте четыре пустых отчета, выбрав New Report из меню Project или щелчком New
Report в панели Project;
3. затем, выберите "Page1" в первом отчете. Сделайте это с помощью дерева проекта.
Отметьте "Page1" в дереве или щелкните на закладке "Page 1" в закладке дизайнера
страниц. Как только страница будет выбрана, ее имя будет подсвечено;
4. добавьте три глобальные страницы в отчет. Сделайте это выбором New Global Page из
меню Project или щелчком New Global Page в закладке дизайнера страниц;
5. заметьте, поскольку первая страница в первом отчете была выбрана при добавлении
глобальной страницы в закладке дизайнера страниц. То страницы были добавлены в
дерево проектов в каталог глобальных страниц;
6. щелкните на другой странице отчета. Заметьте, что поскольку была выбрана другая
страница в области 7 закладок дизайнера страниц. Для добавления глобальных страниц
в область закладок дизайнера страниц сделайте вызов контекстного меню глобальной
страницы дерева проекта и выберите Load Page. Попробуйте загрузить все три
глобальные страницы;
7. как только глобальные страницы загрузятся, то они будут видны в области закладок
дизайнера страниц;
8. попробуйте загрузить глобальные страницы к двум другим оставшимся отчетам.
Выгрузка глобальной страницы:
1. закончите шаги из предыдущего упражнения;
2. выберите страницу из Report 3, которая содержит все загруженные страницы;
3. есть два пути выгрузки страницы. Один путь это использовать контекстное меню, а
другой путь это использовать горячие клавиши;
4. первый путь использовать контекстное меню, что требует, во-первых, выбрать
страницу для выгрузки;
5. затем, вызвать контекстное меню на глобальной странице и выбрать пункт Unload
Page из меню. Повторите его три раза для отчета Report 3;
6. теперь мы попробуем использовать второй путь;
32
User Guide
7. выберите следующую страницу в Report 4. Убедитесь, что она содержит все
глобальные страниц в области закладок дизайнера страниц;
8. так как страница в Report 4 выбрана, Вы можете видеть три глобальные страницы в
области закладок дизайнера страниц, выберите одну из глобальных страниц из области
закладок дизайнера страниц;
9. теперь нажмите Ctrl+F4 для выгрузки страницы;
10. повторите это для оставшихся глобальных страниц в каталоге.
Упражнение 6: перетаскивание компонент (Ctrl+Drag)
Одной из обычных задач по перетаскиванию бывает копирование компонента Data Field на
страницу в визуальном дизайнере. Приемник должен быть существующим компонентом
DataBand или чистой областью страницы. Компонент Data Field будет преобразован в
DataText или DataMemo на области назначения, в зависимости от типа поля источника.
Выполним это с помощью следующих шагов.
Перетаскивание:
1. перейдем на узел Data View Dictionary, развернем его, если свернут;
2. выберем один из Data Views и развернем его, если свернут;
3. выберем компонент поля для копирования;
4. нажмем и удерживаем клавишу, теперь тащим это поле на страницу;
5. отпускаем клавишу мыши и клавишу Ctrl;
6. выбираем только что скопированное поле и устанавливаем его свойства.
Данное упражнение может быть слишком простое, но дадим здесь пользователю шаги
необходимые для выполнения перетягивания компонента. Поскольку полный отчет еще не
закончен, так что не беспокоимся о его работоспособности.
Упражнение 7: смена родителя компонента (Alt+Drag)
Смена родителя компонента может быть очень полезной, для создания его компонент.
Например, скажем, есть страница, содержащая компоненты, которые было бы лучше
сгруппировать с секцию. Текущее состояние в том, страница является родителем компонент,
которые надо сгруппировать. Для группы элементов, родитель должен быть сменен на
компонент секции. После того как это будет сделано, элементы окажутся в секции, которую
можно будет потом перемещать межу подобными другими. Есть и обратный смысл, может
потребоваться убрать компонент обратно из секции и просто переместить на страницу,
просто используйте Alt+Drag для выполнения данной задачи.
Смена родителя компонента:
1. перейдите Report Library, развернем его, если свернут;
2. развернем узел Report, который содержит страницу с
определением;
33
User Guide
3. развернем узел Report, который содержит приемник и
источник, что бы они были видны. В Customer Statement, есть
секция на странице. Мы сменим родителя у PageNumInit и
Memo1 со страницы на секцию;
4. выделим компоненты, у которых мы желаем сменить родителя. Для выделения
удерживаем клавишу Shift при выборе компонент. Когда закончим выбор отпустим
клавишу Shift. Выбранные компоненты должны быть подсвечены;
5. нажимаем и удерживаем клавишу Alt, теперь перетаскиваем на
новый родительский компонент. В данном примере, клавиша
Alt удерживается при выборе и перетягивании на новый
компонент. При перетягивании компонент на нового родителя,
видим, что курсор изменяется при попадании не приемник.
Когда курсор показывает, что он находится над приемником,
освобождаем клавишу мыши и затем клавишу Alt;
6. заметим, что компоненты теперь имеют нового родителя, и у
родителя появился маркер минус, указывая, сто у родителя
есть несколько компонент;
7. после окончания перемещения новых компонент, они могут быть настроены, как
требуется.
34
User Guide
6. Панель свойств
В данной главе




Описывается панель свойств
Объясняются различные типы свойств
Описывается редактор свойств
Содержит назначение и элементы контекстного меню
Что такое панель
Панель свойств дает информацию о компонентах проекта. Это наиболее полезно при
разработке отчета, поскольку дает простой доступ до всех ассоциированных с каждым
компонентом свойств.
Панель свойств показывает и позволяет изменять значения любого компонента помещенного
на страницу. Для получения информации о конкретном компоненте, выберите компонент
перед просмотром его в панели свойств (смотрите главу «Выбор компонент» для получения
более подробной информации по выбору объектов).
Панель свойств показывает текущие свойства компонента. Например, выбрав компонент
DataText, в панели свойств будут показаны все его свойства, которые доступны для данного
компонента.
В панели свойств есть три области. Первая в самом верху, показывает имя и тип компонента.
Вторая в середине, показывает все свойства в двух колонках. Левая колонка содержит имена
свойств, а правая показывает текущее значение этих свойств. Внизу панели свойств
находится третья область, в которой содержится краткое описание текущего выбранного
свойства.
В списке свойств (средняя секция), линия, разделяющая две колонки, может быть
перемещена, позволяя лучший просмотр имен и значений. Для выполнения данной операции,
поместите курсор поверх линии, пока его форма не сменится на двунаправленные стрелки.
35
User Guide
Затем нажмите левую кнопку мыши и, удерживая ее, перетяните ее влево или вправо для
изменения колонок.
Помните, что компонент должен быть выбран, что бы его свойства можно было увидеть. Это
также доступно и для нескольких компонент одновременно. Как только компонент выбран,
любые его свойства в панели могут быть выбраны щелчком на нужном имени или его ячейке
значения. У выбранного свойства затем можно изменить его значение. Когда выбрано любое
свойство в панели свойств, то можно перемещаться между свойствами и с помощью клавиш
вверх/вниз.
некоторые из имен свойств показаны жирным шрифтом. Это означает, что текущее значение
отличается от значения по умолчанию. Например, когда компонент DataText размещается на
странице, цвет по умолчанию черный. При смене цвета с красного на черный, имя свойства
становится жирным. Когда значение снова меняется на значение по умолчанию, шрифт снова
становится нормальным.
Как это можно использовать? Представим на момент, что отчет был разработанный коллегой,
имеет проблему и не работает. Быстрый взгляд на свойства, позволяет найти измененные,
возврат которых в исходное состояние позволяет решить проблему.
В то время как большинство компонент может быть выбрано щелчком по компоненту, то
компонент Page особый случай. Щелчок по панели в окне визуального дизайнера очищает
панель свойств, но не выбирает саму страницу.
Для выбора свойств страницы, щелкните по закладке вверху окна (область называемая,
область закладок страниц) где показывается номер страницы. Другой альтернативой является
выбор в дереве проекта.
Типы свойств
Каждое свойство имеет ассоциированный тип. Эти свойства можно редактировать в панели
свойств. Свойства могут быть строковые или цифровые.
При редактировании строковых свойств Вы можете вводить любые символы, которые могут
отображаться на экране. При редактировании числовых значений, это должно быть
допустимое числовое значение. Десятичные числа другое общее свойство, которое можно
редактировать
Многие свойства имеют предопределенные значения, которые можно выбрать. Данные
значения показываются в виде списка, из которого их можно выбрать. Также есть свойства,
которые сами являются другими свойствами, ассоциированными с ними.
Редакторы
В зависимости от типа выбранного свойства, есть три типа полей ввода. Первый тип это
простое поле ввода, в котором печатается значение. Значение может быть цифровым,
символьным, алфавитно-цифровым или набором одного из возможных значений.
Выпадающий список это второй тип ввода, который может использовать пользователь. Если
значение свойства является одним из предопределенных значений, выпадающий список
36
User Guide
появляется при нажатии на кнопку с маленькой стрелкой в правом углу поля ввода. Выберите
нужное значение путем клика на нем. Третьим типом является диалог. Некоторые свойства
требуют более одного значения для установки свойства (такие как шрифты). Для установки
таких свойств есть кнопка с тремя точками (называемая эллипс) в правом углу поля ввода.
При нажатии на данную кнопку появляется диалог (или мастер (wizard)) и в данном диалоге
можно установить множество свойств.
Контекстное меню
При нажатии на правую кнопку появляется всплывающее контекстное меню. Данное
контекстное меню можно использовать для установки различных параметров панели свойств.
Свойство Hints, первый элемент меню, прячет или показывает окно подсказок, которое
расположено в самом низу панели свойств. Подсветка изменений второй элемент меню,
разрешая или запрещая показ измененных свойств жирным шрифтом. Exclude Name, Size и
Pos Changes это третий пункт меню определяющий, что изменение имени, размера и позиции
(ширина и высота) исключаются из подсветки жирным при изменении их значений по
умолчанию. Третий пункт становится полезным при множественном изменении свойств, и
нужно видеть только те свойства, которые обычно не изменяются.
Упражнение 8: навигация по панели
Открытие панели свойств
1. если панель свойств не видима, то перейдите в меню Tools. Из Tools подменю,
выберите Property Panel. Поставьте там отметку.
Определение областей панели свойств
2. в данном примере, используется базовый компонент Page. Поэтому выберите
компонент Page, щелкнув на страницу в области закладок дизайнера страниц. Заметим,
что после выбора страницы, ее свойства появятся в панели свойств.
3. Дальше сделайте окно подсказки видимым внизу панели свойств, если оно не видимо в
данный момент. В контекстном меню отметьте все доступные параметры.
4. расширьте панель свойств, что бы Вы могли видеть все свойства и также окно
подсказок. В шагах от 5 до 8, читайте подсказки для получения большей информации о
каждом свойстве. Примечание: образ справа изменяется в течение нескольких
примеров.
5. выберите свойство Name. Заметим, что данное имя отражается в заголовке панели
"Page1: Page component". Другая половина данной строки указывает на компонент, к
которому это относится. Компонент является компонентом Page, что и отражается
здесь. Свойство Name из примера строкового типа.
6. выберите свойство Bin строкой ниже. Заметим, что это показывается как выпадающее
меню. Выпадающее меню выдает несколько предопределенных параметров, из
которых можно сделать выбор.
37
User Guide
7. выберите поле Grid Spacing. В данном примере это цифровой тип свойства. Что бы
увидеть, что данное свойство делает, просто измените значение, и посмотрите на
страницу.
8. нажмите на кнопку эллипс (…) в свойстве Parameters и появится диалог. Диалог
позволяет устанавливать свойству множество значений.
9. в шаге 3, параметр Highlight Changes был отмечен в контекстном меню. Перейдите к
свойству PaperSize и выберите другой тип бумаги. Заметим, что не только значение
изменилось, но и свойство стало жирным. Данное подсвечивание жирным становится
полезным для определения измененных свойств по умолчанию или их начальных
значений. Попробуйте изменить другие значения, такие как высота и ширина
страницы.
10. Также отмеченные в шаге 3, параметры Exclude Name, Size и Pos Changes. Это очень
полезный параметр. В большинстве случаев имя, размер и позиции компонент на
странице меняются часто. Что бы избежать подсвечивания этих общих свойств данный
параметр исключает их из подсвечивания. Попробуйте снять отметку с данного
параметра и изменить эти свойства.
38
User Guide
7. Выполнение отчета
В данной главе





Изучаем, как создать просмотр отчетов
Объяснение параметров в диалоге Printing Preferences
Изучение, как панелей и параметров в просмотре отчета
Объяснение различий в дизайнере отчета и диалоге Print Preview Output Options
Изучение, как экспортировать отчеты в различных форматах: NDR, PRN, HTML и PDF
Обзор
После создания отчета, отображение и создание отчета в электронном формате, выполним
следующие шаги. Имеется несколько путей получить отчет на бумаге или в электронных
форматах. Данная глава показывает различные пути для показа отчета и также простую
печать.
Выполнение отчетов
Одно из общих возможностей использования Rave это выполнение отчета. Выполнение
отчета позволяет пользователю увидеть результат разработки отчета. Выполнение подобно
тому, что многие разработчики знают как компиляция и в действительности происходит
некоторая внутренняя «компиляция».
Есть несколько различных путей, как может быть выполнен отчет. Это делается или через
меню Project, используя функциональную клавишу F9, или выбирая иконку Execute Report в
панели проекта.
Использование функциональной клавиши F9 является наиболее подходящим методом, так
как это часто повторяемое и общее действие при разработке отчета.
При использовании любого пути для выполнения отчета, пользователю предоставляются
различные параметры. Диалог Output Options показывает различные параметры доступные во
время выполнения.
Позже в этой главе мы объясним каждый параметр в деталях.
Диалог предпочтений
Перед тем как проходить по каждому параметр, есть несколько предпочтений, которые
должны быть объяснены, что бы понять выполнение отчетов. Перейдите в меню Edit и
выберите пункт Preferences, после чего появится диалог предпочтений.
На закладке Printing в диалоге предпочтений есть несколько различных параметров , которые
можно изменить и которые оказывают влияние на выполнение отчета. Некоторые из
параметров могут быть установлены здесь, но также дублируются и в диалоге Output Options,
который появляется перед выполнением. В данной главе каждый из параметров будет
объяснен.
В области Output Options диалога Printing Preferences, параметр Show Setup Dialog
устанавливает должен ли показываться диалог Output Options (как показано здесь) при
выполнении отчета. Иногда выгоднее запретить диалог Output Options, особенно во время
разработки или тестирования. Но это означает, что параметры, содержащиеся здесь, должны
39
User Guide
быть установлены перед скрытием данного диалога. Также, любые изменения должны быть
сделаны или путем повторной активации диалога или указание их в диалоге предпочтений.
По умолчанию устройство вывода отчета задается установками в Print Destination диалога
Printing Preferences и отражается в диалоге Output Options. Изменение значений в области
Print Destination диалога Printing Preferences имеет прямой эффект на значения по умолчанию
в диалоге Output Options. Есть два параметра, которые можно выбрать: просмотр и принтер.
Выбор одного из них делается при помощи радио кнопок, делает этот параметр значением по
умолчанию и когда диалог Output Options появляется, данное значение по умолчанию
оказывается выбранным.
Параметр Preview Grid действует тем же образом как сетка Grid (линии которой видны в
дизайнере страниц) во время разработки. Данные параметры позволяют отображать сетку на
окне просмотра. Установки сетки позволяют изменять Print Preview Page, включая изменение
цвета, стиля и шага сетки. Если оба значения шага сетки, горизонтальный и вертикальный,
будут установлены в 0, то сетка будет отсутствовать. Но указание чисел в установках
горизонтально и вертикального шага, размещает сетку на Print Preview Page. Цвет линий
изменяет цвет сетки. Стиль линий задается через выпадающее меню.
Параметры просмотра, имеют эффект только на просмотр. Имеется шесть параметров,
которые можно установить. При использовании просмотра, окно отображается по умолчанию
в нормальном состоянии. Подобно другим окнам Windows, окно просмотра можно
минимизировать или максимизировать. Для установки используйте выпадающее меню в
настройках Initial Window State.
Параметр Zoom Factor показывает по умолчанию процент увеличения (zoom) при первом
показе просмотра. Параметр Zoom Increment указывает процент изменения Zoom при каждом
нажатии на иконку Zoom In/Zoom Out. Как и дизайнер страниц, окно просмотра может иметь
горизонтальную линейку, вертикальную линей или обе линейки, путем указания в Ruler Type
(используйте выпадающее меню для выбора). Единицы измерения могут быть заданы или в
дюймах или в сантиметрах.
Параметр ShadowDepth задает уровень тени окна просмотра и только для эстетики.
Параметр Monochrome Preview Display, сделан для совместимости с некоторыми видео
картами, на которых могут быть проблемы при показе отчета в цвете. Это не рекомендовано
для использования, только при необходимости.
Просмотр отчета
Поскольку Preview первично используется для предварительного просмотра отчета, имеют
много возможностей, гораздо больше, чем это интуитивно понятно по их именам.
Начнем выполнение отчета. Когда появится диалог Output Options, радио кнопку выбора
можно отметить. Нажатие OK продолжит выполнение в режиме просмотра.
40
User Guide
Окно просмотра используется для просмотра вывода сгенерированного отчета. Вид вывода
на экран отличается от вывода на принтере. Вывод не экран базируется на постраничном
выводе. Наверху окна просмотра есть панель, которая позволяет навигацию по отчету и
другие функции, которые будут объяснены в следующих абзацах.
Большинство функций разрешенных в окне просмотра могут быть выполнены или с
помощью панели или через меню окна просмотра. Мы пройдемся по функциям меню и
объясним их в оставшейся части данной главы.
Первая группа иконок (разделенная вертикальной линией в панели), может быть найдена в
меню File. Они используются для открытия, сохранения, печати или выхода из просмотра
отчета.
Несмотря на то, что окно просмотра показывает текущий отчет их дизайнера, оно также
позволяет загрузить предыдущий сохраненный отчет (расширение NDR). Это можно
выполнить выбором пункт Open из меню File. Появится диалог, запрашивающий требуемый
41
User Guide
файл отчета. Когда файл NDR, текущий отчет, который был открыт, отменяется. Это не
означает, отчет не может быть повторно сгенерирован. Для получения предыдущего отчета,
просто повторите его генерацию, и выбери просмотр. Единственный отчет, который можно
повторно регенерировать, это отчет который был перед этим просмотрен. Другие отчеты
могут быть повторно просмотрены, только если они были сохранены или путем открытия их
проектов и повторного выполнения.
Пункт Save As используется для сохранения отчета из просмотра. Выберите пункт, и
появится диалог сохранения файла. Используйте этот диалог для сохранения текущего отчета
в различные форматы, включая PDF и HTML (эти два формата будут рассмотрены позже в
данной главе). Другой формат, в который может быть сохранен отчет, это NDR тип отчета,
который является снимком текущего отчета.
Поскольку отчеты могут печататься напрямую, выбрав Execute и затем Printer, окно
просмотра также предоставляет эту функцию, поскольку часто необходимо проверять
просмотр до проведения подлинной печати.
Отставшие функции напрямую влияют на просмотр отчета на окне просмотра. Вторая секция
кнопок на панели, это пункты в меню Page, которые используются для навигации между
страницами. Кнопки для управления данными функциями сделаны привычными для
пользователей баз данных, поскольку они выполняют похожие функции. Первая кнопка
используется для перемещения на первую страницу отчета. Вторая кнопка для перемещения
на предыдущую страницу отчета. Третья для перемещения на следующую страницу и
последняя на последнею страницу отчета. На панели есть индикатор, показывающий
текущую страницу и общее количество страниц. Этот индикатор страниц, также используется
для перемещения на конкретную страницу, введя номер в поле ввода. Или используя пункт
Go to Page в меню Page. Например, введя 10 в данном поле, мы перейдем на 10 страницу
отчета (при условии, что есть 10 или более страниц).
Масштабирование также доступно в просмотре. Иконка лупы, с символом плюса увеличивает
масштаб изображения страницы, а с символом минуса уменьшает. Есть также поле для
указания коэффициента масштабирования вручную. Просто введите число в данном поле, и
просмотр будет масштабирован на указанный процент.
Есть также два предопределенных значения, для быстрого масштабирования. Первое Fit to
Page Width – установить масштаб по ширине страницы. И второе Fit to Page, вписать всю
страницу в размеры окна. Это может использоваться для просмотра страницы целиком на
экране. Побочным эффектом этого является то, что страницу будет видно целиком, но
содержимое будет трудно читать. Обычно это используется для общей оценки отчета.
Выход их просмотра может быть сделан, или нажатием на иконку с изображением двери, или
нажатием на стандартную иконку закрытия окна "X", как и для всех остальных стандартных
окон Windows.
Вывод на принтер
Печать может быть выполнена, как указано ранее, через окно просмотра или напрямую при
выполнении отчета и выбора вывода на принтер в области Report Destination. Надо заметить,
что диалог Output Options немного отличается от диалога в Rave Designer и Print Preview.
Диалог Output Options, который вызывается из дизайнера Rave Designer, имеет больше
параметров, чем просто печать как показано на картинке.
В диалоге Output Options имеется кнопка Setup для печати. Кнопка расположена под кнопкой
Cancel и используется для настройки принтера перед печатью. Это включает такие
42
User Guide
параметры, как печать в режиме портрет или альбом, разрешение принтера, глубина цвета,
размер бумаги и другие.
Диалог также включает такие параметры, как количество копий, порядок сортировки копий и
дуплексная печать.
В диалоге Output Options, вызванном из просмотра отчета (смотри картинку), доступно
несколько дополнительных параметров. Параметр Print Range имеет три установки. «All»
означает печатать все страницы отчета. «Selection» означает печатать отдельные страницы
отчета, не обязательно подряд, например "1,3,5,7" или "1,9-5,20". «Pages» означает печатать
диапазоны страниц, например "1-10" или "15-19".
NDR и PRN файлы
Печать в файл может быть выполнена несколькими путями. Мы обсудим два, которые могут
быть сделаны прямо из диалога Output Options. Диалог Output Options доступен при
выполнении отчета (используйте клавишу F9 или выполните через меню Project).
Файл NDR это внутренний формат Rave, снимок отчета. Файл NDR может быть открыт и
просмотрен из окна просмотра, но не может быть изменен или отредактирован в дизайнере
Rave.
Файл PRN это Native Printer Output файл. Когда данный параметр выбран, информация,
которая обычно посылается на принтер для печати, посылается в файл. Данный файл
получает имя, указанное пользователем.
Для создания файла, просто выберите нужный формат и затем укажите имя в поле ввода File.
Файл формата NDR также можно сделать, используя пункт Save As из меню File окна
просмотра. Используйте выпадающее меню Save as и выберите имя файла для создания NDR
файла.
Есть также и другие пути печати в файл. Здесь только два формата. Мы обсудим PDF и
HTML файлы в следующей главе.
HTML
Rave имеет возможность печатать отчеты как HTML файлы. Это дает возможность просто
создавать отчеты доступные через Интернет и Интранет. HTML файлы могут быть созданы в
визуальном дизайнере и в окне просмотра.
Для сохранения отчета, как HTML файла из визуального дизайнера, во-первых, вызовите
Output Options диалог. Сделайте это с помощью пункта Execute Report из меню Project или
клавишей F9.
В диалоге Output Options, выберите параметр File в области Report Destination. Используя
выпадающее меню Format, выберите тип HTML. Щелкните по иконке диска, выберите путь,
где сохранять файл и имя HTML файла.
После сохранения отчета и отформатирован, полезно сначала просмотреть отчет. Просмотр
отчета выполняется выбором пункта Preview в диалоге Output Options. После просмотра
отчета выберите Save As в меню File. Это вызовет диалог Save File, откуда отчет может быть
сохранен в HTML.
Для сохранения в HTML формате, в выпадающем меню Save as, выберите HTML файлы.
Затем ведите имя нового HTML файла в поле ввода File name. Когда будете готовы, нажмите
кнопку Save.
43
User Guide
Каждая страница отчета, будет сохранена как отдельный HTML файл. Например,
трехстраничный отчет произведет три страницы HTML. На каждой странице будут ссылки на
предыдущую или следующую страницы. Однажды сохраненный HTML файл можно будет
просматривать любым браузером.
PDF
Подлинно полезный отчет, этот тот отчет, который может использоваться на различных
платформах. Rave дает эту возможность через создание PDF файла. Отчет может быть
сохранен в PDF формате, и затем через использование бесплатного продукта Adobe Acrobat
Reader, любой человек может открыть, просмотреть и отпечатать отчет.
Это доступно через пункт Execute Report (и также F9) в меню визуального редактора File или
через пункт Save As меню File в просмотре отчета. Использование просмотра отчета,
позволяет пользователю просмотреть отчет перед выводом в файл PDF формата.
После выбора Execute появится диалог Output Options, из которого можно выбрать формат. И
также указать имя PDF файла.
В просмотре отчета, используйте пункт Save As, который выведет диалог Save File, откуда
Вы можете сохранить отчет в PDF формате, также указав имя файла.
Для сохранения в PDF, в выпадающем меню Save as, выберите Adobe PDF. Затем, укажите
имя нового PDF файла в поле ввода File name. Затем нажмите кнопку Save.
RTF
Rave также позволяет сохранять отчет в RTF файле (Rich Text Format). Данный формат файла
можно загружать во многие текстовые процессоры для широкого спектра задач. Например,
ваш отчет может быть включен документ компании как приложение. Или отчет, может быть
загружен в текстовый процессор, затем некоторые строки, для привлечения особого
внимания, могут быть отредактированы (раскрашены или выделены жирным шрифтом).
Это доступно через пункт Execute Report (и также F9) в меню визуального редактора File или
через пункт Save As меню File в просмотре отчета. Использование просмотра отчета,
позволяет пользователю посмотреть отчет перед выводом в файл RTF формата.
После выбора Execute появится диалог Output Options, из которого можно выбрать формат. И
также указать имя файла.
В просмотре отчета, используйте пункт Save As, который выведет диалог Save File, откуда
Вы можете сохранить отчет в RTF формате, также указав имя файла.
Для сохранения в RTF, в выпадающем меню Save as, выберите Adobe PDF. Затем, укажите
имя нового RTF файла в поле ввода File name. Затем нажмите кнопку Save.
Упражнение 9: изменение предпочтений печати
Смена назначения печати
1. перед началом выполнения данного упражнения, создайте новый проект и поместите
несколько видимых компонент на страницу;
2. во-первых, перейдите в закладку Printing Preferences, или с помощью иконки Edit
Preferences на панели дизайнера, или выберите пункт Preferences в меню Edit;
3. выберите Printing в области Preferences (с левой стороны окна);
4. посмотрите на область Print Destination и выберите Preview;
44
User Guide
5. теперь закройте окно, нажав кнопку OK;
6. выполните отчет, нажав клавишу F9 или пункт Execute в меню File;
7. когда появится диалог Output Options, убедитесь, что пункт Preview отмечен. Нажмите
кнопку Cancel для окончания;
8. теперь откройте снова Printing Preferences и выберите Printer как Print Destination.
Нажмите кнопку OK для окончания;
9. выполните снова отчет и в диалоге Output Options, убедитесь, что теперь выбран
Printer.
Изменение настроек
1. перед началом выполнения данного упражнения, создайте новый проект и поместите
несколько видимых компонент на страницу;
2. во-первых, перейдите в закладку Printing Preferences, или с помощью иконки Edit
Preferences на панели дизайнера, или выберите пункт Preferences в меню Edit;
3. затем, убедитесь, что Preview выбрано в области Print Destination;
4. снимите отметку Show Output Options Dialog в области Output Options.
5. выберите OK для закрытия диалога Preferences;
6. выполните отчет, нажав клавишу F9 или пункт Execute в меню File. Обратите
внимание, что диалог Output Options теперь не появляется; вместо этого теперь сразу
начинается просмотр отчета. Если принтер был выбран в области Print Destination, то
отчет посылается на принтер;
7. для возращения обратно вызова диалога Output Options, перейдите в Printing Preferences
и снова поставьте отметку на Show Output Options Dialog в области Output Options.
Линии сетки и параметры просмотра
1. перед началом выполнения данного упражнения, создайте новый проект и поместите
несколько видимых компонент на страницу;
2. во-первых, перейдите в закладку Printing Preferences, или с помощью иконки Edit
Preferences на панели дизайнера, или выберите пункт Preferences в меню Edit;
3. затем убедитесь, что Preview выбрано в Print Destination, и снимите отметку с Show
Output Options Dialog, в области Output Options. Мы будем работать с Preview в
данном упражнении, поскольку использование Print Destination и Show Output Options
Dialog, для выполнения быстрее в Preview;
4. находясь в диалоге Printing Preferences, убедитесь, что начальные значения для
параметров Preview Grid и Preview Options точно такие, как показано на рисунке.
5. нажмите OK, для выхода;
6. выполните отчет и просто посмотрите на окно просмотра;
7. теперь закройте окно просмотра и откройте Printing Preferences;
8. В параметрах Preview Grid, измените Horizontal Spacing и Vertical Spacing на 1. затем
измените цвет;
9. нажмите OK, для выхода;
10. выполните отчет и обратите внимание на линии сетки. Данные линии не появятся в
отчете на бумаге, но здесь они нужны для оценки форматирования.
11. теперь закройте просмотр и перейдите снова в Printing Preferences. Измените Line Style
в области Preview Grid на Dash. также, смените Initial Window State на Minimized.
12. затем в Preview Options, смените Ruler Type на BothIn. Это покажет обе
измерительные линейки в дюймах в просмотре. Также смените Shadow Depth на 10.
45
User Guide
13. нажмите OK, для выхода;
14. выполните отчет;
15. обратим внимание, что вначале просмотр минимизирован. Это достигнуто установкой
параметра Initial Window State. Для расширения окна нажмите первую или вторую
кнопки;
16. один раз восстановите, и максимизируйте отчет. Обратим внимание на некоторые
вещи. Во-первых, мы видим пунктирные линии сетки на странице. Это может быть
полезно для определения выравнивания на странице. Также увидим обе измерительные
линейки. И с правого края страницы мы увидим глубокую тень;
17. По окончанию вернемся в диалог Printing Preferences. Возвратим все установки обратно
в их начальное значение. Рисунок показывает нам наши значения. Данные значения
нам потребуются в следующем упражнении.
Упражнение 10: создание системно независимых файлов
1.
2.
3.
4.
перед началом, создайте новый проект и поместите не него четыре страницы с текстом
и объектами;
свяжите все четыре страницы вместе. Выбор страниц и свойств панели был
рассмотрен в предыдущей главе. Выберите первую страницу и в панели свойств,
используя, выпадающее меню в GotoPage выберите Page2. сделайте это для каждой из
страниц. Выберите page 2 и сделайте GotoPage равным Page3. Выберите page 3 и
сделайте GotoPage равным Page4;
затем перейдите в окно просмотра путем выполнения отчета. Выберите Preview из
диалога Output Options.
вверху окна просмотра на панели, должно быть поле ввода, в котором было число 1.
теперь там должно быть Page 1 of 4.
Навигация по просмотру
5. поскольку теперь более одной страницы, используйте кнопки навигации на панели или
меню Page. Используйте Go to Page # для перехода на любую страницу отчета.
6. затем, используя инструмент zoom, сделайте отчет удобным для просмотра страниц
отчета. Это также позволит вам перемещение по просмотру.
Создание NDR файла через просмотр
7. для создания NDR файла (файл снимка Rave) из окна просмотра, выберите пункт Save
As меню File;
8. когда появится диалог Save File, в выпадающем меню Save as type выберите NDR files.
И введите имя в поле ввода File name, например мы Text.ndr. Нажмите Save для
выхода;
9. хотя файл уже в окне просмотра, попробуем открыть Test.ndr файл;
10. выберите Open в меню File;
11. появится Open File диалог. Найдите файл Test.ndr в той папке, куда Вы его поместили.
Нажмите Open, для выхода;
12. просмотр будет выглядеть точно также, поскольку мы не изменяли отчет. Но,
посмотрим наверх окна просмотра, там показывается имя просматриваемого файла.
Если же Вы будете просматривать различные NDR файлы, их имена всегда будут
показываться там. Ничего в NDR файле не может быть изменено; этот путь только для
просмотра отчета.
Создание PDF файла через просмотр
46
User Guide
13. поскольку нам этот файл больше не нужен, закройте окно просмотра. Выполните файл
и выберите снова Preview.
14. теперь выберите пункт Open из меню File. (от переводчика, из дальнейшего контекста,
похоже, что имеется в виду Save AS)
15. в диалоге Save File, выберите Adobe PDF в выпадающем меню Save as type. Затем
укажите имя в поле ввода File name, например test.pdf.
16. Нажмите Save, для выхода;
17. в данной точке мы можем перейти туда, где мы сохранили наш файл и открыть PDF
файл. Если у вас нет программы просмотра PDF, то сходите на http://www.adobe.com/ и
загрузите бесплатный вариант.
Создание HTML файлов
18. в окне просмотра выберите Open из меню File;
19. в диалоге Save File, выберите HTML File в выпадающем меню Save as type. Затем
укажите имя в поле ввода File name;
20. Нажмите Save, для выхода;
21. Теперь мы можем перейти туда, где мы сохранили наш файл. Мы сохранили наши
html файлы в My Documents. Обратите внимание, что здесь четыре страницы test.html,
с последовательными номерами после слова test. Каждая страница в отчете
представлена отдельным файлом;
22. ниже показана первая страница test.html. заметим, что внизу есть ссылки для
навигации по страницам.
Упражнение 11: печать отчета через просмотр
1.
2.
3.
4.
в окне просмотра выберите пункт Print из меню File;
появится диалог Output Options. Используйте любой диапазон страниц для печати;
по окончанию закройте окно просмотра;
затем выполните отчет и выберите принтер. Это пошлет отчет на принтер.
Упражнение 12: печать в файл (NDR и PRN)
1.
выполните Execute и выберите File;
47
User Guide
2.
3.
5.
6.
в выпадающем меню Format, есть только два выбора. Rave Format (.NDR) и Native
Printer Output (.PRN).
сделайте ваш выбор.
в поле ввода File, укажите имя файла;
нажмите OK для выхода
48
User Guide
8. Панели утилит
В данной главе







Введение в панель выравнивания (Alignment) с компонентами Order, Spacing и
Alignment
Введение в дизайнера (Designer) и ее связь с предпочтениями
Введение в панель палитра цветов (Color Palette)
Краткое введение в редактор шрифтов (Font Editor)
Использование редактора линий
Введение в панель проекта (Project)
Обзор панели Zoom
Есть панели и есть панели
Несмотря на то, что все панели названы панелями, на самом деле есть два различных типа,
отличающихся типом функций, это панели инструментов и панели компонент.
Инструменты обычно предназначены для изменения элементов, расположенных на странице,
обычно компоненты. А компоненты это объекты, помещаемые на страницу, например регион
(Region), графические примитивы (Shape), линии (Line) и штрих коды (Barcode). Для более
подробной информации смотрите главу «Обзор компонент».
В данной главе мы рассмотрим панели инструментов, на которых расположены (палитра
цветов, инструменты выравнивания и другие.), предназначенные для изменения компонент.
Панели инструментов включают: панель выравнивания (Alignment), панель палитры цветов
(Color Palette), панели заполнения (Fill), панель редактора шрифтов (Font Editor), панель
редактора линий (Line Editor), панели проекта (Project) и панель масштабирования (Zoom).
Использование инструмента
Панели утилит над компонентами и дизайнером страниц. Компонент на странице должен
быть выбран до использования панели. Например, для изменения цвета заполнения квадрата,
выберите квадрат, затем выберите нужный цвет.
С помощью правой мышки, выберите компонент, и появится контекстное меню, позволяя
доступ до пунктов изменения компонента. Данные функции доступны также и с панелей, но
просто контекстное меню дает быстрый и простой доступ.
Панель выравнивания
Панель выравнивания используется для выравнивания, упорядочивания и перемещения групп
компонент на странице. Важно заметить, что некоторые функции имеют смысл, только если
выбрано более одного компонента.
Первый шаг выбрать компоненты, которые требуется выровнять. Для выбора нескольких
компонентов, удерживайте клавишу shift и указывайте мышью каждый компонент, который
требуется выровнять.
49
User Guide
Для большинства функций выравнивания. Первый выбранный компонент определяет
позицию выравнивания. Например, при выборе выравнивание влево, все выбранные
компоненты выравниваются относительно первого выбранного компонента. Красная линия
на иконке показывает тип выравнивания.
панель выравнивания разделена на четыре секции. Первые две секции управляют
горизонтальным и вертикальным выравниванием. Все компоненты могут быть выровнены по
краю, центру или по расстоянию между ними.
Порядок выравнивания определяет Z порядок (глубину по оси Z) между
компонентами. Порядок выравнивания не требует, что бы было выбрано
более одного компонента. Для установки Z порядка выберите компонент
и вызовите контекстное меню. Из подменю Order выберите одно из четырех действий:
переместить вперед (Move Forward), переместить назад (Move Behind), поместить наверх
(Bring to Front) или поместить вниз (Send to Back). Рисунок справа показывает прямоугольник
над эллипсом. Для перемещения эллипса позади прямоугольника, выберите в контекстном
меню пункт Send to Back из подменю Order.
Есть еще четыре кнопки на панели выравнивания, это инструмент для перемещения, который
позволяет перемещать компонент или группу компонент. Для перемещения выбранных
компонент, нажимайте на соответствующую стрелку для перемещения в нужном
направлении.
Панель дизайнера
Панель дизайнера используется для
управления предпочтениями страницы. Все
элементы панели дизайнера имеют два
состояния,
свойство
компонента,
ассоциированное
с данной клавишей,
меняет свое состояние. Для смены на обратное состояние нажмите на кнопку еще раз.
Отжатая кнопка показывает состояние выключено, а нажатая состояние включено.
Activate Grid
Делает сетку страницы видимой/невидимой
50
User Guide
Snap To Grid
Привязка объектов к узлам сетки
Grid On Top
Определяет, что сетка находится над компонентами или под ними
Always Show
Band Headers
Управляет показом заголовков групп (band)
Show Rulers
Показывает, убирает измерительные линейки
Show Waste
Управляет показом пространства между границами страницы и
концом настройки границ
Area
Edit
Preferences
Вызывает диалог предпочтений
Панель палитры цветов
палитра цветов используется для смены цвета компонента или цвета заполнения выбранных
объектов, таких как линии, текст или область заполнения одного из графических примитивов
(круг, эллипс, прямоугольник или квадрат). Палитра цветов разделена на несколько секций,
которые показывают пользовательские, стандартные или текущие цвета. Левая кнопка, с
правой стороны, определяет первичный, а правая вторичный текущий цвета. Все остальные
прямоугольники на палитре цветов позволяют выбрать цвет.
Для смены цвета объекта, выберите компонент и затем левой или правой кнопкой мыши
выберите цвет из палитры. Левая кнопка выбирает цвет объекта (первичный цвет), а правая
цвет фона (вторичный цвет).
Когда выбран первичный цвет, символ "1" помещается на индикатор цвета на палитре.
Соответственно, символ "2" указывает на вторичный цвет.
Для смены цвета объекта (например, Rectangle), выберите его и затем нажмите на нужном
вам цвете левой кнопкой мыши. Для смены цвета заполнения, выберите нужный цвет правой
кнопкой мыши.
Двойной щелчок, на цвете назначаемым пользователем, (правая сторона) или цвет переднего
плана и фона вызывает редактор цвета (Color Editor). В диалоге, пользовательские цвета
могут быть созданы путем установки красного, зеленого и синего цветов, также и
насыщенность цвета, уменьшая или увеличивая процентное соотношение цвета.
51
User Guide
для создания и сохранения нового цвета, используйте один из пользовательских цветов для
ввода в редакторе цвета, затем нажмите клавишу New Color и выберите нужный цвет из
диалога цвета. При вызове редактора цветов из одного из пользовательских цветов, новый
цвет сохраняется. Если редактор цветов вызывается из первичного или вторичного цвета,
цвет сохраняется в эти места, если выбран new color (или щелчком левой или правой кнопки
мыши или созданием другого цвета).
Важно заметить, что действительные видимые цвета зависят от настроек компьютера. Если
здесь есть цветные объекты, то при переносе отчета с одной системы на другую проверьте,
настройки цветов дисплея. При 256-цветныех установках используется только 256 цветов для
показа, а при True Color используются миллионы цветов. Для примера, если отчет был создан
в True Color, и затем перенесен на систему с 256 цветами, некоторые объекты могут
появиться искаженными или иметь неверные градации цвета.
Редактор шрифтов
редактор шрифтов может использоваться для смены типа, размера, атрибутов и
выравнивания некоторых текстовых компонентов. Его поведение и функционирование очень
похоже на панель шрифтов в некоторых текстовых процессорах.
Для изменения установок шрифта текстового компонента, во-первых, выберите компонент.
Тип шрифта можно выбрать из выпадающего списка. Аналогично размер можно выбрать из
списка доступных размеров. Кнопки (B) Жирный, (I) Курсив и (U) подчеркнутый ,
переключают состояние текста. Для установки жирного шрифта, просто выберите компонент
Text и нажмите на кнопку «B». Клавиша будет находиться в нажатом состоянии до тех пор,
пока на нее повторно не нажмут или фокус не перейдет к другому текстовому объекту,
который не имеет такого установленного атрибута. Кнопки «I» и «U» работают аналогично.
Здесь также есть еще и три кнопки выравнивания текста внутри области и показывают тип
выравнивания внутри области, в которой они находятся, это выравнивание влево, вправо и по
центру. Все текстовые компоненты имеют свойство Font, которое появляется в панели
свойств при выборе компонента. Любые изменения сделанные в свойстве Font, отражаются и
на панели редактора шрифтов.
ПРИМЕЧАНИЕ: важно заметить, что если шрифт, выбранный на машине разработчика не
доступен на другой машине, Rave назначит какой ни будь другой подобный выбранному
шрифт.
Редактор линий
Используйте редактор линий для изменения стиля и толщины линии или границ графических
примитивов. Панель редактора линий имеет несколько вариантов для выбора стиля линии
(непрерывная или комбинация точек и тире).
Для смены стиля линии, сначала выберите линию или графический примитив, затем
выберите размер в пунктах из Hairline. Окончательно выберите стиль линии.
Для смены толщины непрерывной линии, сначала выберите линию или графический
примитив, затем выберите требуемый размер.
Стиль линии (тире, точки), появляется только тогда, когда толщина линии выбрана как
hairline. Если линия установлена в определенный стиль (например, тире) и затем ей
присваивается толщина, другая чем hairline, то стиль линии изменяется на непрерывный.
52
User Guide
Панель проекта
панель проекта предоставляет базовую функциональность для проекта. Это дает быстрый
доступ для выполнения общих задач при управлении проекта. Все функции панели доступны
и через меню Rave.
Первые три иконки управления проектами:
New Project
Создает новый проект
Open Project
Открывает предыдущий сохраненный проект
Save Project
Сохраняет текущий проект
Следующие три иконки управляют специфическими аспектами текущего проекта:
New Report
Создает новый отчет, который будет в том же самом файле проекта
(.rav file). Может иметь более одного отчета на проект в файле
проекта
New Global
Page
Создает новую глобальную страницу
New Data View
Позволяет создать новый просмотр данных DataViews, который
ассоциирован с текущим проектом. Смотрите главу «Подключение
данных» для получения более подробной информации о DataViews.
Две последние иконки управляют текущим выбранным отчетом:
New Page
Создает новую страницу в текущем отчете
Execute Report
Выполняет или печатает текущий отчет
53
User Guide
Панель масштабирования
Панель масштабирования, позволяет пользователю, с помощью Zoom In просмотреть более
подробно детали документа, а Zoom Out увидеть общий образ страницы. В панели
масштабирования есть несколько путей для работы с документом.
Выпадающее меню масштабирования по проценту, содержит несколько
предопределенных значений для уменьшения или увеличения образа
страницы. Просто выберите желаемый коэффициент. Если ни одно из них
вас не устраивает, то просто введите свое значение в поле ввода.
Другой метод получения нужного размера, это использования иконки лупы с
крестом. Перетяните данный инструмент на нужную область, которую надо
увеличить.
Для простого изменения размеров, есть две иконки лупы с символами "+" и "-".
Ничего не требуется выбирать, что бы использовать данный инструмент. Каждое
нажатие на иконку увеличивает и уменьшает образ на значение установленное в
предпочтениях. Для установки этого параметра, выберите пункт Preferences в меню Edit.
Далее перейдите на закладку Designer. В области, называемой "Zoom Increment", увеличьте
или уменьшите величину шага, с помощью кнопок вверх/вниз или просто кажите нужный
процент.
Для изменения размера, выбранных элементов, используйте лупу с символом
прямоугольника из точек. Вначале, выберите нужные элементы и затем щелкните по
иконке. Видимая область будет кадром выбранных элементов.
Используйте кнопку "Page Width" для установки размера по ширине текущей
выбранной страницы.
Используйте кнопку "Whole Page" для показа полной текущей страницы.
Упражнение 13: выравнивание компонент
В данном упражнении мы продемонстрируем, как выравнивать компоненты. Например, есть
шесть пронумерованных строк текста.
1. в начале, бросьте несколько компонент Text на страницу. В данном примере это
пронумерованные строки 1-6;
54
User Guide
2. строки два, четыре и пять должны быть выровнены. Строки три и шесть также должны
быть выровнены;
3. выберите строку два. Это задаст первичный компонент, относительно которого будут
выравниваться остальные;
4. удерживая клавишу shift, выберите строки четыре и пять, которые будут выровнены
относительно строки два; заметим, что появилась граница с маркерами серого цвета;
5. поскольку все компоненты уже выбраны, нажмите на иконку Align Left Edges на
панели выравнивания. Заметим, что все три компонента выровнялись по левому краю;
55
User Guide
6. что бы посмотреть, как работает выравнивание, нажмите иконку Align Right Edges на
панели выравнивания;
7. пройдитесь по оставшимся функциям панели выравнивания и посмотрите, как они
работают;
8. попробуем теперь выравнить второй набор строк. Сначала выберите первичный
компонент, как базу для выравнивания, в данном случае, это строка три;
9. затем выберите другие компоненты, которые Вы хотите выравнить, удерживая
клавишу shift, выберите строку шесть;
10. затем нажмите на иконку the Align Left Edges для выравнивания компонент.
56
User Guide
Упражнение 14: порядок компонент
Для изменения порядка компонент по Z-оси, должны использоваться иконки на панели
выравнивания.
1. чтобы начать упражнение, нам нужны компоненты на странице. Это могут быть любые
компоненты. В данном примере используются прямоугольник, овал и круг;
2. сначала выберите компонент, который будет перемещать. В примере будем
перемещать прямоугольник за овал. Посмотрим в дереве проекта размещение
компонента Rectangle;
3. как только прямоугольник будет выбран, нажмите иконку Move Behind на панели
выравнивания. Заметим, что после нажатия прямоугольник еще никуда не поместился,
но в дереве проекта уже сменил свою позицию на шаг выше;
57
User Guide
4. теперь нажмите на иконку Move Behind button еще раз. Прямоугольник переместился и
в дереве проекта на странице за овал;
5. для второго компонента, выберите круг и нажмите на иконку Move Behind. Круг
переместился по дереву ин странице за овал;
6. щелкните по иконке Move Behind еще раз и заметьте, что круг перемещается по дереву,
но остается сзади овала;
Упражнение 15: привязка к сетке
Привязка к сетке перемещение относится к перемещению и изменению размера компонент к
узлам сетки на странице.
1. сначала, вызовите диалог Preferences, пункт Preferences меню Edit;
2. выберите закладку Default и посмотрите в область Grid Spacing;
3. В Grid Spacing смените, значение на .02. затем посмотрите на область, называемую
Draw Grid Every;
58
User Guide
4. в Draw Grid Every, введите 1 line (напечатайте или используйте выпадающий список).
Draw Grid Every 1 line, будет показывать каждую строку сетки. Если это сменить на
Draw Grid Every 3 lines, то будет показана только каждая третья строка сетки;
5. затем перейдите в меню Project и выберите New. Это создаст новый проект, также и
новую страницу отчета, которая будет базироваться на предпочтениях, которые мы
сменили в предыдущих шагах. Помните, что линии сетки используются только для
разработки отчета и не показываются при его исполнении;
6. прейдите в панель дизайнера и нажмите на иконку Snap To Grid;
7. теперь бросьте прямоугольник на страницу;
8. затем перемещайте прямоугольник и обратите внимание, что прямоугольник
перемещается только по сетке. Попробуйте сделать тоже самое кнопками
перемещения.
9. опять перейдите в панель дизайнера и нажмите на иконку Snap To Grid, для
отключения привязки;
10. пробуйте перемещать прямоугольник и обратите внимание, что теперь прямоугольник
перемещается и между узлами сетки.
Упражнение 16: изменение размера линии и цвета прямоугольника
1. создайте новый отчет;
2. бросьте прямоугольник на страницу;
3. посмотрите на панель палитры цветов. Обратите внимание, что на конкретных цветах
есть символы 1 и 2, которые указывают первичный и вторичный цвета;
4. что бы сделать изменение цвета более заметным в примере, мы изменим ширину линии
прямоугольника. Перейдем на панель редактора. Выберем прямоугольник. Затем
изменим в выпадающем списке толщину линии. В примере сменено с hairline на 2.25
пункта;
5. Щелкните левой кнопкой мыши на любом цвете в панели цветов. В данном примере
был выбран цвет Olive. Заметьте, что цвет границы сменился на оливковый цвет. Также
обратите внимание, что изменился первичный цвет. Первичный цвет определяет цвет
границы;
6. Щелкните правой кнопкой мыши на любом цвете. В примере был выбран цвет Blue.
Заметим, что прямоугольник закрасился синим цветом. Также заметим, что изменился
вторичный цвет. Вторичный цвет определяет цвет заливки.
Упражнение 17: смена шрифтов
1.
создайте новую страницу отчета;
2.
бросьте на нее четыре компоненты Text;
3.
выберите компонент и посмотрите на панель шрифтов;
4.
5.
в выпадающем меню отображаются имена шрифтов, выберите подходящий шрифт;
перейдите на следующий компонент, и повторите шаги 3 и 4. повторите это же для
оставшихся компонент;
59
User Guide
6.
7.
Также попробуйте изменять размеры шрифтов. И конечно атрибуты Bold, Italic и
Underline;
Три оставшихся кнопки управляют выравниванием влево, вправо и по центру.
Попробуйте поработать и с ними.
60
User Guide
9. Стандартные компоненты
В данной главе



Объяснение различий между компонентами Text и Memo
Как использовать секции и их связи в дереве проекта
Как вставлять BMP и META файлы
Обзор
панель стандартных компонент содержит семь компонент: Text, Memo, Section, Bitmap,
Metafile, FontMaster и PageNumInit. Некоторые из стандартных компонент используются
очень часто при разработке отчета. Данная глава приводит детальное объяснение первых
пяти. Оставшиеся два (FontMaster и PageNumInit) будут объяснены в главе «Расширенные
компоненты».
Доступ до панели стандартных компонент аналогичен доступу до других панелей. Если она
не присутствует на экране, то ее можно показать через меню Tools подменю Toolbar.
Компонент Text
Компонент Text полезен для отображения одной строки текста в отчете. Работает
подобно ярлыку, который может содержать простой текст (но не данные). Когда он
размещается в отчете, вокруг появляется рамка, которая показывает границы. Ее
видно только при выборе компонента (вместе с маркерами).
Компонент можно использовать для ярлыков, например графических рисунков, переменного
текста, титулов формы и другого, что нужно представить строкой текста.
Когда компонент выбран, длина текста может быть изменена с помощью маркеров. Заметим,
что высота текста само настраиваемая и не требует вмешательства пользователя.
Подобно другим текстовым компонентам, здесь есть свойство Font, которое позволяет
изменить тип, размер и стиль. Цвет можно изменить с помощью свойства Color. Текст,
отображаемый на экране, задается свойством Text.
Здесь есть также дополнительное свойство Rotation, которое можно использовать для
поворота на указанный градус. Эффект виден только в ран тайм.
Компонент Memo
Компонент Memo подобен компоненту Text. Основная разница в том, что
Компонент Memo может содержать множество строк текста. Memo можно
использовать для зон с объяснениями и для заголовков и комментариев, содержащих
более одной строки.
Подобно компоненту Text, рамка вокруг Memo появляется при его выборе. При установке
шрифта Memo, все строки текста имеют тот же самый шрифт. Нет возможности иметь
различные шрифты для отдельных частей текста.
61
User Guide
Для изменения текста в Memo, перейдите в панель свойств и используйте свойство. Свойство
Text показывает "(Memo)" и кнопку эллипс, с тремя точками. Нажмите на кнопку эллипса.
Это откроет редактор текста. Текст может быть введен в этом редакторе.
Одна из основных проблем при использовании много строчных компонент, то, что текст
может накладываться на другие компоненты. Для предотвращения этого, установите
свойство ExpandParent в True. Это позволит расширять родителя компоненты Memo для
надлежащего поведения компонента Memo.
Как только текст введен, Memo можно расширить. Текст внутри Memo одновременно будет
перестроен. Если окажется, что часть текста пропала из просмотра, после ввода текста,
просто измените размер, что бы весь текст был видимым.
Компонент Section
Компонент Section используется для группирования компонент. Это предоставляет
такие преимущества, как возможность одновременного перемещения всех
компонент секции, без выбора компонент для перемещения.
Для использования компонента Section, сначала нажмите на копку компоненту и затем с
помощью стрелок сделайте выбор на странице. Когда выбор позиции будет закончен, то
появится рамка с маркерами зеленого цвета. Внутри данной области, можно размещать
любые компоненты, которые необходимо сгруппировать.
Дерево проекта становится очень полезным при работе с компонентом Section. В развернутом
дереве, очень просто увидеть, какие компоненты входят в каждую секцию. Каждая секция и
компонент может быть просто выбрана путем выбора объекта в дереве.
Если объект размешен сзади видимой области секции, дерево проекта может быть
использовано для выбора объекта. Как только объект выбран, рамки с маркера появятся
вокруг объекта. Объект затем может быть удален или помещен (совет: для перемещения
используйте кнопки перемещения на панели выравнивания).
Несмотря на то, что связи отношений видны между деревом проекта и компонентом Section,
есть необходимость в понимании связи родетель-ребенок между компонентами. Для чтения
об этих типах связи смотрите главу «Связи родитель-ребенок». Компонент Section также
становится очень важным при зеркальном отражении. Зеркальное отражение будет
обсуждено в главе Managing Report Projects (примечание переводчика: такая глава
отсутствует в документации и это очень важная часть концепции RAVE). Сейчас же просто
знайте, что компонент Section становится главным, и при использовании технологии
зеркального отражения чрезвычайно полезным.
Компоненты Bitmap и Meta файлы
Компоненты Bitmap и Meta файлы позволяют размещать изображения в отчете.
Битмапы поддерживают файлы с расширением ".bmp", а MetaFile поддерживают
файлы с расширением ".wmf" и ".emf".
Для вставки изображения, сначала нажмите, или на BMP или на META кнопках
панели стандартных компонент, затем выберите позицию на странице. Рамка
размещения с символом X появится на странице, и эта рамка может быть больше
чем изображение, которое будет в ней. Это можно исправить после загрузки изображения.
Как только место для BMP или META появится на странице, можно перейти в панель свойств
и выбрать свойство FileLink. Нажмите на эллипсе, кнопка с тремя точками.
62
User Guide
Это вызовет диалог Open. Найдите свой файл образа и нажмите кнопку Open. Как только
изображение загрузится, измените размеры места с помощью маркеров.
Упражнение 18: Text или Memo
Принять решение, что использовать Text или Memo очень просто. Если это только одна
строка текста, то используйте компонент Text. Используйте компонент Memo, если у вас
более одной строки.
Размещение и изменение компонента Text:
1.
Выберите компонент Text, размещенный на панели стандартных компонент.
Кнопка компонента изменит свой цвет, для индикации.
2. Поместите компонент на страницу. Также заметим, что новый компонент добавится и
в дерево проекта.
3. Перейдите в панель свойств измените имя компонента.
4. В свойстве Text, измените текст по умолчанию на подходящий.
5. Посмотрите на панель свойств и на страницу. Заметьте, что дерево проекта показывает
новое имя компонента. Так же, компонент на странице показывает введенный текст.
Размещение и изменение компонента Memo:
1.
Выберите компонент Memo, размещенный на панели стандартных компонент.
Кнопка компонента изменит свой цвет, для индикации.
2. Поместите компонент на страницу. Также заметим, что новый компонент добавится и
в дерево проекта.
3. Перейдите в панель свойств и измените, имя компонента. Это изменит имя и в дерево
проекта.
4. В панели свойств выберите свойство Text. Нажмите на эллипс, кнопка с тремя точками
(…).
5. Появится редактор Memo. В редакторе Memo, введите текст, который будет размещен
на странице. Memo распознает клавишу Enter. Помните, что Memo занимает тот
размер, который установлен на странице.
5. По окончанию нажмите кнопку OK.
7. Когда закончите, переместите Memo и установите его размер, с помощью зеленых
маркеров.
Упражнение 19: компонент Section
Создание и использование компонента Section:
1.
Выберите компонент Section. Кнопка компонента изменит свой цвет, для
индикации.
2. Щелкните по странице, появится рамка из точек с маркерами на ее границах. Это
компонент Section.
3. Обратите внимание, что в дереве проекта компонент был добавлен к компоненту Page.
4. Пока компонент выбран, поместите на него любые другие компоненты. Когда
выполните, снова посмотрите и заметьте, что компоненты добавлены к этой секции.
5. Все добавленные компоненты в секцию, могут перемещаться одновременно.
Попробуйте это сделать, поместите курсор на границу секции и, удерживая кнопку
63
User Guide
мыши, потаскайте секцию по странице.
6. Секции также можно изменить размеры. Выберите маркер и, удерживая кнопку мыши,
переместите курсор в нужном направлении.
7. Когда закончите, щелкните, где ни будь на странице для снятия выбора с секции.
Секция имеет невидимую границу, отображаемую точками, но она не печатается.
Упражнение 20: помещение и изменение размера битмапов
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
Для выполнения данного упражнения, найдите какое ни будь изображение типа
битмап (BMP) на вашем компьютере. Данное изображение должно иметь расширение
".bmp". Запомните местонахождения данного изображения.
Создайте новую страницу отчета. Через выбор New Report Page в меню
Project.
На панели стандартных компонент, нажмите на кнопку BMP.
Затем нажмите где ни будь на странице, что бы бросить Bitmap компонент. Появится
зеленые маркеры на краях рамки.
Пока еще Bitmap компонент выбран, перейдите в панель свойств. Найдите свойство
FileLink. Здесь есть кнопка с тремя точками, называемая эллипс. Нажмите на ее.
Используя выпадающее меню Look и используя картинку внизу. Появится диалог
Open Bitmap. Найдите ваш битмап на компьютере и нажмите кнопку Open.
Изображение появится на странице с зелеными маркера вокруг него.
Снова перейдите в панель свойств и найдите свойство MatchSide. Данное свойство
управляет пропорциями при изменении размера с помощью маркеров.
Выберите по очереди каждый из вариантов и попробуйте изменять размер, что бы
увидеть эффект от применения свойства.
Вариант msBoth. Позволяет изменять любую сторону в любом направлении.
Вариант msHeight. Позволяет изменять высоту, сохраняя правильные пропорции.
Используйте верхний и нижний маркер.
Вариант msInside. Позволяет делать пропорциональное изменение, но только в
пределах ограниченными маркерами. Изображение не может покинуть границы
маркеров.
Вариант msWidth. Делает пропорциональное изменение, использую левый или
правый маркер.
64
User Guide
10. Графические компоненты
В данной главе



Как размещать графические компоненты.
Описывает все графические компоненты.
Дискуссия насчет пикселей и пунктов.
Основы графических компонент
Все графические компоненты Rave создаются с помощью графических компонент.
для использования графических компонент, выберите нужный компонент в панели
графических компонент и затем поместите его страницу или в другой контейнер. Это
позволяет создавать объект на странице или в компоненте контейнере. После того как
компонент создан, его можно изменять в нужном направлении, с помощью маркеров на
рамке образа. Также можно изменять цвет и стиль, используйте панели заполнения (где
применимо), линий и выбора цвета. Для получения большей информации об этих панелях
смотрит главу «Панели утилит».
Панель свойств, каждого из графических компонент почти идентична. Свойство Name
единственная вещь, которая отличается от одной панели к другой.
Компонент Line, можно использовать для рисования линии в любом направлении.
Наклонные линии могут использоваться для рисования линий между повернутыми
строками текста. Они также используются как диагональные линии в квадрате, давая
эффект на них.
Линия также можно установить стили; но Вы должны, при выборе стиля, позаботиться о
наилучшем выборе ширины для них. Стили линий часто игнорируются, если ширина линии
больше чем это. (Примечание переводчика: ну так написано в тексте )
Компонент HLine, можно использовать для рисования горизонтальных линий. Одно
из основных применений горизонтальных линий, это использование в компоненте
DataBand (Примечание переводчика: аналог секций секционных генераторов
отчетов) и установки позиции в самом низу строки Band. Это также используется для
установки длины компоненты Band. При печати секции Band, линия создаю эффект печати на
разлинованной бумаге.
Компонент VLine, можно использовать для рисования вертикальных линий. Одно из
основных применений горизонтальных линий, это использование в компоненте
DataBand и установки между полями данных, которые будут печататься. Высота
линии устанавливается равной высоте компоненты Band. При печати секции Band создается
эффект печати в колонках.
Компонент Rectangle может использоваться для рисования прямоугольников. Одно
из основных применений использование в DataBand качестве ограничивающих
рамок секции. Это также нужно переместить перемещается назад, что бы другие
компоненты в это области печатались поверх прямоугольника. При печати отчета это создает
эффект прекрасного блока вокруг строки печатаемых данных.
65
User Guide
Компонент Square можно использоваться для рисования квадратов. Одно из
основных применений A этого компонента для печати квадратиков для отметки.
Отмеченные и неотмеченные квадратики создаются с помощью компонента Square и
компонента Line или просто печати символа "X" в квадрате. Удобно для иллюстрации
выбранных значений.
Компонент Ellipse можно использовать для рисования эллипсов и овалов. Если Вы
хотите изменить форму эллипса, просто щелкните на нем левой кнопкой мыши.
Затем переместите мышь на один из маркеров. Снова нажмите на нем левую кнопку
мыши и, удерживая ее, перемещайте ее пока эллипс не примет должный вид и размер. Вы
можете изменить размер эллипса и в панели свойств. Просто введите новые значения для
ширины и высоты.
Компонент Circle можно использовать для рисования кругов должного радиуса.
Если Вы хотите изменить размер круга, просто щелкните на нем левой кнопкой
мыши. Затем переместите мышь на один из маркеров. Снова нажмите на нем левую
кнопку мыши и, удерживая ее, перемещайте ее пока круг не примет должный размер. Вы
можете изменить размер эллипса и в панели свойств. Просто введите новые значения для
ширины и высоты.
Пиксели или пункты
Для каждого графического компонента в панели свойств есть два свойства, которые
оперируют с шириной линии. Свойство LineWidth это цифровое значение для ширины линии,
которое зависит от свойства LineWidthType. Свойство LineWidthType действительный
позволяет пользователю указать тип значения, которое используется при установке значений
линий. Доступные типы пункты или пиксели.
При создании графических объектов, очень важно определить в каком формате аудитория
будет видеть отчет. Это особенно важно, при определении, что использовать для ширины
пункты или пиксели.
Пункты это единицы печати, а не единицы экранного пространства. Пункты, также наиболее
используемые единицы измерения для разработки на бумаге. Это измеряется в единицах
бумажного носителя. Иногда, пункты имею значение и для экрана и для Веб. Платформы и
различные разрешения, иногда 14pt могут означать многие вещи. Что это точно не означает,
так это единицы размера экрана. Пиксели с другой стороны, это конкретные единицы.
Пиксель всегда равен пикселю.
Предпочтения пункты или пиксели зависит от того, что разработчик желает пользователю.
Что бы позволить пользователю менять размер текста, идентично изменению в Интернет
браузеры, то пункты. Если же дизайн зависит от точного размера текста или же размер текста
должен быть одинаковым на разных платформах, то пиксели.
Для печати максимально тонкой строки, используйте Line Width в 1 пиксель. Толщина линии
в пунктах, будет одинакова на принтерах с различным разрешением.
Упражнение 21: создание графических компонент
1.
2.
Сначала создайте новую страницу. Используйте New Report Page из меню File, или
используйте иконку на панели проекта.
Теперь, перейдите в панель графических компонент. Бросьте их области закладки, что бы
могли работать с ними.
66
User Guide
3.
Выберите квадрат, заметим
что, при этом кнопка будет
нажатой и изменит свой
цвет. Переведите курсор на
страницу, держите левую
кнопку мыши нажатой, пока
перемещаете мышь до
получения должно образа
квадрата.
4.
Затем, выберите эллипс.
Переведите курсор на
страницу, держите левую
кнопку мыши нажатой, пока
перемещаете мышь до
получения должно образа.
Контур эллипса выглядит
как прямоугольник, но как
только вы отпустите кнопку
мыши, эллипс появится на
странице.
5.
Затем, выберите иконку
горизонтальной линии и
нарисуйте ее на странице.
Сделайте несколько разных
линий. Сделайте их
различной длины.
67
User Guide
6.
Обратим внимание на одну
вещь, пока левая кнопка
мыши не отпущена,
рисуется ограничивающий
прямоугольник. Когда
кнопка мыши будет
отпущена, то появятся
маркеры и фигура.
Упражнение 22: выравнивание
1.
2.
3.
Сначала создайте новую страницу. Используйте New Report Page из меню File, или
используйте иконку на панели проекта.
Из панели графики, выберите горизонтальную линию и поместите ее на страницу.
Появится линия с размером по умолчанию. Щелчок на кнопке и щелчок на странице, это
все что мы вызываем для бросания объекта на страницу.
Выберите горизонтальную
линию.
4.
5.
Перейдите в панель свойств и измените значение по умолчанию на 2,5 в свойстве Width.
Бросьте как минимум 10
дополнительных
горизонтальных линий,
примерно на дюйм ниже
первой линии.
6.
Бросьте еще одну дополнительную горизонтальную линию, примерно на три дюйма
ниже первой группы линий.
Выберите верхнею горизонтальную линию. Появятся зеленые маркеры по концам
линии.
7.
68
User Guide
8.
Теперь, когда первая линия выбрана, удерживайте
клавишу Shift и выберите остальные линии. Это
добавит все остальные горизонтальные линии к
выбору. Для выбора оставшихся линий еще быстрее,
пока первая линия выбрана, и другие дополнительные
линии также выбраны, удерживайте нажатой клавишу
Shift, затем щелкните на странице и обведите рамкой
оставшиеся линии.
9.
В панели выравнивания, выберите кнопку Equate
Widths. Это позволит сделать все линии одинаковой
длины, как первая выбранная линия.
10. В панели выравнивания, выберите кнопку Align Left
Edges. Это выровняет все линии по левому края.
Первой выбранной линии.
11. Затем, в панели выравнивания, нажмите кнопку Space
Equally Vertically. Это установит одинаковое
расстояние между всеми линиями. Для получения
более подробной информацию, смотрите главу
«Панели утилит».
69
User Guide
11. Базы данных
В данной главе




Дается обзор баз данных.
Терминология баз.
Описывается структура таблицы и как она соотносится с отчетом.
Разъясняются связи с базой.
Обзор
Информация слева, информация справа, информация сверну и снизу, мы плаваем в море
информации. Приход компьютерной эры не помог. В действительности, мы сейчас в
состоянии записывать абсолютно гигантские объемы данных. Как результат информация
перегружает как работников, так и менеджеров. Что-то необходимо для управления этой
перегрузкой. Первая вещь в том, что информация должна быть организована и подана более
эффективным образом, что бы извлечь ответ из моря данных. Одним из методов получения
ответов являются генераторы отчетов (подобные RAVE) для организации и вывода ответов в
форме, которая позволяет легче понимать читателю отчета. Но до того как, генератор сможет
извлечь информацию, он должен побеспокоиться о структуре источника информации. Такой
контейнер информации в простых терминах называется таблицей данных.
Данная глава предназначена тем, кто не фамильярен с базами данных или нуждается в
быстром освежении знаний. Данная глава не рассчитана на глубокое изучение темы, так как
имеется много лучших толстых книг по данной теме и множество формальных курсов.
Что такое база?
начнем с нескольких реальных примеров, описывающих концепцию
таблицы данных. Например, библиотека содержит кучу информации на
полках и полках шкафов с книгами, памфлетами, которая обычно
упорядочивается по цифровой системе Деви (Dewey decimal system).
Для поиска книги, каталог карточек используется для поиска по теме
или автору, ничего с общего с цифровой системой Деви. Затем, когда
нужная книга найдена и получена через стек, содержащий ее цифровой
код.
Особенно гибко, если библиотека имеет компьютеризированный каталог. Теперь посмотрите
на рисунок библиотеки без цифровой системы Деви, никакого
порядка, хотя одинаковое самое количество книг. Попробуйте
найти, что ни будь в такой библиотеке. Это потребует больших
усилий и большого интервала времени.
Теперь, изменим слова. Сменим книги на информацию и
библиотеку на базу данных, и мы на пути объяснения, что такое
и зачем нужна система управления базами данных. Библиотека
это коллекция знаний (книг) упорядоченная по цифровой
системе Деви.
Таблица данных это коллекция информации, упорядоченная по какой то предопределенной
структуре. Теперь мы проверим, что нам нужно для разработки и использования таблицы
данных.
70
User Guide
Терминология
Для лучшего понимания, что составляет базу, нам необходимо знать терминологию баз.
Система управления базой данных
Система управления базой данных (СУБД - DBMS) это законченная система для управления
данными (информацией). Есть много примеров коммерческих компаний, которые известны
своими СУБД. Некоторые их них особо известны, это Informix, Interbase, Microsoft Access,
Microsoft SQL, Oracle, Sybase и многие другие. СУБД иногда путают с физическими данными
(с файлами). Должны заметить, что таблица данных это только часть СУБД. Тем не менее, в
реальной жизни требуется знать, как извлечь информацию из СУБД, это понять концепцию
структуры. В действительности, большинство терминов общие для различных СУБД. Это не
означает, что человек должен быть экспертом по полям базы, только понимание.
Таблица
Таблица ("Table") это коллекция вещей, аналогичным телефонной книге, содержащей номера,
имена и адреса. Отчет ("report") в данном примере будет телефонной книгой, конечно,
телефонная книга имеет ограничений, например не включает, не включает не
опубликованные номера в любой печатной форме. В большинстве случае, телефонные
компании имеют адреса для счетов, которые отличаются от адресов в телефонной книге.
Теперь посмотрим на телефонную книгу и заметим, что данные у нее
упорядочены по строкам и колонкам. Строка (иногда называется записью)
показывает значения, относящиеся к одному члену (персоне) этой таблицы.
Каждая колонка содержит специфическую часть информации (иногда
называется полем).. Как его имя или телефонный номер. Порядок в
телефонной книге (таблице) сделан по индексу (иногда называется ключ). Телефонная книга
может быть упорядочена по фамилии или по телефонному номеру.
Структура
Каждая часть информации насчет члена имеет атрибуты, которые определяются ее СУБД.
Типичные атрибуты для каждой таблицы (файла) включают:
 дата создания таблицы
 дата последней модификации таблицы
 количество колонок определенных для таблицы
Типичные атрибуты для каждой строки (записи) включают:
 длину
 номер записи
 состояние (блокирована -удалена)
Типичные атрибуты для каждой колонки (поля) включают:
 имя – имя колонки, которое обычно описывает его содержимое
 тип – символьный, цифровой, дата, время, blob
 длина – максимальная длина данного элемента (может включать количество цифр
после запятой)
71
User Guide
Таблица данных содержит информацию, упорядоченную по предопределенной структуре.
Структура каждой таблицы важна, поскольку определения строк и колонок используется
генератором отчетом для извлечения, упорядочивания и показа информации.
В примере с телефонной книгой, имеются следующие поля: имя, адрес и телефонный номер.
Как определяются данные колонки (поля)? Они определяются по имени колонки; имя должно
называться "name", адрес "address" и телефонный номер "phone". Но определения главных
полей не заканчиваются таким простым определением. Например, "name" должен быть
разделен на два и более полей, например, "first", "middle" и "last". Эти три куска главного
поля, могут затем быть отработаны должным образом генератором. Все три субполя затем
могут быть объединены в одно "full name" для вывода, поле "first" объединено с полем "last"
для получения полной версии имени. Также, "phone" может называться "number" или
"telephone" и телефонный номер может содержать только цифры без форматирующих
символов. Rave делает задачу понимания структуры страницы относительно простой
работой. Как только будет сделано подключение данных, Rave извлекает структуру таблицы,
из которой колонки (поля) могут быть выбраны, как требуется.
Запрос
Редко, когда требуется печатать всю информацию из базы. Чаще, требуется уменьшить объем
данных, выбором диапазона строк (записей) таблицы. Уменьшение данных важная часть
обработки информации. Одним из методов уменьшения является запрос к таблице на показ
только тех строк, которые нужны.
Один из общих метода запроса называется SQL, сокращение от Structured Query Language
(язык структурных запросов). Некоторые таблицы данных совместимы с SQL. SQL запрос
позволяет попросить у СУБД и СУБД производит поиск по своим таблицам в соответствии с
заданным выражением и возвращает набор строк (записей), которые удовлетворяют запросу.
Клиент-сервер
Метод использования компьютерных программ используемых многими людьми, где база
данных находится на центральном компьютере, доступным для всех (back end) и
пользовательский интерфейс располагается на пользовательском компьютере (front end).
Выбор специфических строк данных и обработка делаются на удаленном компьютере, а
результат возвращается обратно, уменьшая передачу данных по сети. Происходит
существенное улучшение общей системной производительности при передаче только
нужных данных по кабелям. Хорошо сконфигурированная система клиент-сервер может дать
превосходное улучшение в приложениях, используемых несколькими людьми.
Связанные таблицы
В данный момент пример с телефонной книгой это хороший пример простых плоских
таблиц. Но это не эффективный дизайн для реальных потребностей. Мы посмотрим на
телефонную компанию, вместо телефонной книги, для более типичных потребностей.
Каждый месяц телефонная компания должна рассылать счета каждому своему клиенту. Этот
счет хороший пример отношений "master-detail" типов отчета. Одна часть счета содержит
базовую, статическую информацию о клиенте, как: его имя, адрес для отсылки счета и
телефонный номер. Другая часть счета содержит детальную (переменную) информацию,
такую как, строка для каждого телефонного вызова, включая продолжительность и цену.
Переменная информация может быть только на одной странице или на нескольких, для
некоторых клиентов.
72
User Guide
Есть одна важная деталь для понимания работы master-detail, понимание концепции
первичного ключа (ключ связи). Когда клиент получает телефонный счет, то клиент ожидает
получить список только его переговоров; ему не нужны переговоры сделанные другими
людьми. При создании счета клиенту, это означает, что должна быть только одна главная
запись, называемая первичным ключом, для всех детальных строк. В счете клиента,
первичным (link) ключом будет телефонный номер. Первичный ключ должен быть
уникальным, что делает более сложным изменение первичного ключа после его присвоения.
Но, некоторые СУБД позволяют иметь комбинацию колонок в качестве первичного ключа,.
Это краткий обзор работы баз данных. Для более эффективной разработки базы, управления
структурой таблиц, есть еще несколько тем: "Клиент-сервер", "Нормализация", "Реляционные
базы данных", "Отношение один к одному", " Отношение один ко многим" и " Отношение
многие ко многим".
Отношение один к одному
Отношение один к одному есть разделение таблиц с тем же первичным
ключом. Знание первичного ключа позволяет посмотреть данные для первой
строки в одной таблице и второй строки в другой таблице. Отношение один
к одному используется очень редко, поскольку обычно проще поместить
колонки обеих таблиц в одну. Отношение один к одному не удовлетворяет
первому уровню правил нормализации.
Отношение один ко многим
Это достигается помещением первичного ключа с одной стороны связи
ONE, в другую колонку связи MANY. Например, если каждый работник
может относиться только к одному подразделению, то Вы можете иметь
колонку «department» (подразделение) в таблице «employee» (работники)
для каждого работника, будет связано первичным ключом для строки его
подразделения в таблице подразделения.
Многие ко многим
Это трудно объяснить, примеры реального мира очень сложные. Если есть
несколько работников, которые являются частью нескольких, то это будет
связь многие ко многим.
Представления
Некоторые СУБД имеют возможность представления пользователю информации полученной
более чем из одной таблицы. Представление (view) это определение формы и оно не имеет
собственных данных. Это часто включает запрос, который является субъектом команды.
Используйте представления для управления доступом к индивидуальным колонкам таблицы
или для представления нескольких таблиц как одной.
Отчеты
Как это все относится к разработке отчетов? Со сделанным объяснением, понимание
структуры разработки отчета и его параметров становится проще. Теперь вы подготовлены к
чтению главы «Подключения данных» и свойства DataField, которая расскажет, как
использовать Rave для подключения ваших таблиц данных и как идентифицировать
содержимое конкретных колонок (полей) в дизайнере Rave.
73
User Guide
12. Подключения баз данных
В данной главе



Объясняет, что такое подключение базы данных.
Показывает различные методы получения данных из базы данных.
Объясняет, что такое SQL редактор и как им пользоваться.
Подключения баз данных
Генератор отчетом будет почти бесполезным, если он не будет иметь методов показа
информации содержащейся в базах данных. Он сможет делать отчеты, только которые не
связаны с базами данных. Подключение данных в Rave одна из наиболее мощных
возможностей, и не столько, поскольку может иметь доступ до широкого круга баз данных и
поддержанных методов, а простотой шагов требуемых для создания отчета.
Подключение базы данных в Rave это первичный оплот для подключения к базе с помощью
SQL DataViews.
Создание подключения к базе данных
Для создания нового подключения к базе данных, щелкните по иконке DataView в
панели отчета, это вызовет помощника Data Connection Wizard. Первый шаг это
выбор Database Connection из списка доступных параметров. Когда будете готовы,
нажмите на кнопку Next.
После нажатия на кнопку Next, второй шаг помощника покажет доступные типы
подсоединений. Выбор зависит от различных Rave DIBL Links установленных на вашей
системе. DIBL означает Database Independent Layer. Это патентованная система, которая
позволяет взаимодействие с базами данных, независимое от типа баз данных установленных
в вашей системе (это может быть SQL Server, Interbase, Oracle или другое).
В главной папке Rave, есть папка называемая DIBLLinks. Внутри ее есть, какое то количество
файлов с расширением rvd. Эти файлы загружаются при старте приложения. В зависимости
от количества файлов, количество доступных подключений варьируется.
Это дает возможность иметь много типов подключений, показываемых в диалоге Database
Connection Type. Это позволяет пользователю решить, какой тип подключения наиболее
подходит. Меньшее количество типов может показываться в зависимости от того, какие
драйверы были установлены.
Когда тип подключения выбран, на следующем экране будут запрошены подробности
подключения. Это различается от одного к другому, но обычно содержит путь к базе данных,
имя сервера, если база данных не локальная и необязательное имя пользователя и пароль
доступа к серверу.
После создания подключения, оно появится в дереве проектов, откуда оно
становится доступным. Свойства для подключения базы данных, также могут быть
просмотрены, аналогично другим компонентам, выбором подключения в панели
дерева проектов.
Есть несколько свойств, которые специфические для компонента Database. Одним из
наиболее важных свойств являются свойства AuthDesign и AuthRun. Во многих случаях,
платформа (и сервер), на которой разрабатывается отчет, и платформа на которой
выполняется приложение, различаются. Обычно, одна из характеристик, которая часто
74
User Guide
изменяется это коды доступа к серверу (имя пользователя и пароль). Rave был спроектирован
с этим учетом, и задача распространения приложения становится проще. Для этого, свойства
AuthDesign и AuthRun можно использовать для разделения этапов разработки и выполнения
(распространения - deployment). AuthDesign содержит параметры, которые были указаны при
создании компонента Database с помощью помощника или были, затем изменены в панели
свойств. AuthRun содержит информацию для распространения.
LinkType представляет тип, который был выбран при создании подключения базы данных.
Снова, подобно другим компонентам, есть несколько общих свойств, таких как Name,
FullName и Description и другие, которые мы не будем повторно объяснять.
Компонент DirectDataViews (только в BE)
DirectDataViews предоставляет ссылку к подключениям данных, расположенных в других
приложениях. Когда DirectDataView создан, показывается список всех доступных компонент
подключений данных. Значение свойства Name комонент подключения данных
предоставляет связь между подключением и DirectDataView (через свойство ConnectionName
в Rave). При подключении к подключению данных, которые имеют обработчики событий,
Вы должны иметь приложение запущенным и форму, содержащую компоненты подключения
данных созданной.
Компонент DriverDataViews
DriverDataViews выполняет те же самые функции, как и DirectDataViews, за исключением,
что самодостаточны и обычно получают свои данные из выражения SQL. DriverDataViews
также требует использование действительного подключения данных.
как только подключение базы данных установлено, щелкните на New Data Object для
создания нового DriverDataView.
Помощник проведет вас через необходимые шаги для создания законченной конфигурации.
После выбора DriverDataView в диалоге, выберите подключение базы данных, к которому Вы
подсоединяетесь. Если соединение пройдет успешно, помощник затем покажет диалог Query
Editor. Перед продолжением объяснения DriverDataView, немного рассмотрим редактор
запросов (Query Editor).
Редактор свойств запросов
Редактор свойств запросов используется для построения выражения SQL, которое возвратит
набор данных из базы данных.
Есть два пути использования редактора. Первый путь дает преимущества графического
интерфейса для построения SQL выражения. С левой стороны диалога есть список таблиц
доступных в текущей базе данных. Путем простого перетягивания и бросания из списка в
серую область, создается выражение SQL.
Как только объект таблицы появится, щелкните по рамке, будет определен список полей,
которые появятся в наборе данных. По умолчанию отмечено символом "*", что означает, что
должны быть возвращены все поля.
Для выбора отдельных полей используйте tick (Примечание переводчика: из книги неясно,
что это такое, наверно какой то маркер) для вашего выбора. Таблицы также можно связать
(joined). Для выполнения этого, просто перетяните другую таблицу на эту и затем нарисуйте
линии связи из одного поля первой таблицы в другое поле второй таблицы (рисунок выше
показывает связь между полем PRODUCTID таблицы BUGS и полем PRODUCTID таблицы
75
User Guide
PRODUCTCODES {Примечание переводчика: нет такого рисунка в книге}). Для просмотра
результат, выберите закладку Results и данные будут показаны в гриде.
Как альтернатива, редактор можно использовать для прямого написания текста SQL запроса.
Для этого, нажмите кнопку Editor, который появится внизу. Для ввода своего выражения,
отметьте "User Defined SQL" и введите свое выражение.
Как только запрос будет создан, нажмите кнопку Ok, для возврата управления редактор Rave.
Компонент SQL Data View теперь должен появиться в дереве проекта. Нажатие на символ +,
покажет список всех полей, которые были выбраны в SQL выражении. Свойства для каждого
поля могут быть назначены в панели свойств.
Несмотря на то, что поля можно поместить в отчет с помощью соответствующих компонент
из закладки Report, много проще работать напрямую с деревом проектов. При нажатой
клавише CTRL, поля можно перетянуть напрямую из дерева проекта и бросить на форму
дизайнера.
После того как DirectDataView будет настроен с помощью Query Editor, никакие другие
свойства не требуются для доступа к данным.
Панель состояния
в самом низу окна RAVE расположена панель состояния. Панель состояния некоторую
информацию о выбранном текущем элементе. Так что, смотрите иногда туда.
Индикатор Data Connection предоставляет информацию о состоянии системы данных Rave,
изменяя цвет светодиодного индикатора.
Цвет
LED
Состояние
Серый
Подключение не активно
Желтый
Подключение активно, но ожидает ответа
Зеленый
Подключение активно и занято
Красный
Подключение активно, но превышено время ожидания
X и Y показывают координаты указателя мыши. Подвигайте мышь и посмотрите за
показаниями. Когда графический примитив бросается на страницу, размер примитива
появляется после создания и показывается как dX и dY позиции. "d" означает дельта.
76
User Guide
13. Помощники (Wizards)
В данной главе


Руководство по созданию отчета с простой структурой.
Руководство с детальными шагами по созданию законченных задач по отчетам.
Помощники
Помощники (Wizards) новое средство в Rave, которое позволяет создать определенные типы
отчетов, отвечая на серию вопросов. Они расположены в меню Tool. Помощники могут быть
добавлены и удалены в зависимости от нужд пользователя. Это превосходный путь
минимизации пользовательского интерфейса для выполнения требуемых задач по отчетам.
Есть два помощника, "Simple Table" и "Master-Detail". Помощники запрашивать назначение
подключения данных и позволять выбрать нужные поля для отчета. Важно заметить, что
должен быть активный DataView до запуска помощника, или это должен быть Direct Data
View или SQL Data View. Простые отчеты обычно создаются для списков. Обычное
использование включает списки клиентов, телефонные списки и подобное. Помощник
Master-Detail используется, когда требуются более сложные отчеты, такие как счета, списки
на заказ продукции и подобное.
Независимо, что будет использовано, есть несколько шагов, которые общие для обоих
помощников. Это включает выбор DataView, выбор полей и будет рассмотрено в
упражнениях, в конце данной главы.
Важно понять, что помощник обеспечивает, только основные пользовательские потребности,
некоторые аспекты не делаются в больших деталях (количество текста, которое поместится
на странице, размещение и другое). Они могут использоваться, как строительные блоки для
более полных отчетов или могут быть подстроены для обеспечения требуемого
расположения. Для построения действительно очень сложных отчетов помощники не
рекомендуются для использования.
Упражнения
Ниже примеры упражнений по обоим помощникам Simple и Master-Detail. Поскольку
большинство шагов одинаковы для обоих помощников, то они будут рассмотрены подробно
только в первом упражнение. Поэтому рекомендуется начать именно с первого упражнения,
что бы получить лучшие навыки по представленной концепции.
Упражнение 23: простой отчет
1. первый шаг это выбор DataView, который будет предоставлять данные для отчета.
2. После выбора DataView, появится список полей, из которого можно сделать выбор.
Выбор полей осуществляется щелчком слева на рамке. Выбор всех полей делается
щелчком на кнопке All вверху. Заметим, что выбор множества полей, которые не
поместятся на странице, приведет к перекрытию. Потребуется ручное вмешательство
после окончания работы помощника, для устранения проблемы.
3. если было выбрано более одного поля в предыдущем шаге, то помощник спросит про
порядок полей. Перемещение поля вверх перемещает его влево на странице.
Перемещение в нижнюю позицию перемещает поле на правую границу.
4. после того, как поля будут размещены в нужном порядке, можно установить
характеристики отчета. Values включает заголовки и размеры границ страницы.
77
User Guide
5. последний шаг помощника это выбор шрифтов, которые будут использованы в отчете.
Предоставлены возможности по смене трех шрифтов: заголовки отчета, заголовки
имен колонок и содержимого полей.
Упражнение 24: Master-Detail отчет
Помощник Master-Detail Report имеет несколько дополнительных шагов, больше чем в
простом отчете. Это связано с тем фактом, что используется больше одной таблицы в отчете.
В действительности здесь есть главная таблица (например, информация о клиенте) и
подчиненная (элементы заказа).
1. Подобно помощнику простого отчета, первый шаг это выбор DataView. Только в
данном случае DataView должен относиться к главной таблице.
2. в шаге два, выбор подчиненной (Detail) таблицы. Заметим, что DataView выбранный в
первом шаге, больше не доступен, это сделано для уменьшения ошибок. Подобно
помощнику простого отчета, в следующем шаге выбираются поля и порядок для обеих
таблиц.
Новый шаг это определения ключевых полей. Это поля, которые связывают одну таблицу с
другой.
После этого, оставшиеся шаги идентичны помощнику простого отчета.
После того, как все завершено, нажмите Generate, что создаст отчет, снова, можно после
этого подстроить отчет под свои нужды. Рисунок, показанный ниже, показывает результат
работы помощника.
78
User Guide
14. Компоненты отчета
В данной главе


Дает более подробный обзор использования компонентов отчета.
Приведены примеры для понимания.
Обзор
Панель отчета одна из самых наиболее используемых при работе с отчетами по базам
данных. Жизненно важно понять функции каждого компонента, особенно основы построения
отчетов по базам данных, базирующие на данной панели.
Следующие компоненты часто используются при разработке отчетов:
Band, CalcText, DataBand, DataMemo, DataText, Region
Следующие компоненты будут объяснены в главе «Расширенные компоненты»:
CalcController, CalcOp, CalcTotal, DataCycle, DataMirrorSection
Следующие компоненты не визуальные:
CalcController, CalcOp, CalcTotal, DataCycle
Есть несколько общих характеристик компонент, которые обсудить перед рассмотрением
каждого компонента в отдельности. Сначала, поговорим о цветах компонент. Большая часть
компонент выглядит одинаково с другими компонентами, они серые. Но, в конце панели
расположены компоненты, у которых зеленый цвет. Зеленый цвет указывает, что это не
видимые компоненты. При помещении их на панель, они не видны на окне, в просмотре или
на печати. Что бы увидеть эти компоненты пользователь должен использовать дерево
проектов для выбора, перемещения или удаления их со страницы.
Большинство компонентов отчета помещаются на страницу. Только два компонента имеют
исключение, это компоненты Band и DataBand. Они должны помещаться в компонент Region.
Поведение этих компонент управляется установками, сделанными в "Band Style Editor",
который доступен через свойство BandStyle обеих компонент.
Отчет может быть разработан как типичный отчет, с использованием Bands. Но уникальное
возможность Rave в том, что отчет может быть разработан для других спецификаций.
Компоненты Bands отчета могут перемещаться или изменять размер до нужного образа.
При разработке отчета, окно дизайнера может быть изменено для предпочтений дизайнера
отчета.
Есть несколько путей управлять видом компонент Bands при разработке. Первый путь это
должны ли быть видимы или нет, все заголовки компонент ALL Band Headers. Данная
установка может быть изменена в панели дизайнера. Другой метод это переключение
видимости содержимого Band. Если некоторая часть дизайна Band стабильна, ее можно
временно спрятать, установив свойство DesignerHide в True. Будут видны только те
компоненты, у которых это свойство установлено в False. Это нужно если есть большое
количество компонент Band или компонент Band занимает большое пространство. Установка
свойства DesignerHide не оказывает эффекта на печать, только на показ в дизайнере
страницы.
79
User Guide
Компонент Region
Что бы правильно использовать компонент Region, важно понять, что это такое.
Region это контейнер для компонент Band. В простейшем форме Region должен
занимать всю страницу. Это верно для печати списков.
Многие master-detail отчеты могут быть сделаны с помощью единственного региона. Но вы
не обязаны думать о регионе, как о целой странице. Свойства региона распространяются
только на положение и размер региона, занимаемый им на странице. Сознательное
использование регионов дает больше гибкости, когда Вы разрабатываете сложные отчеты..
множество регионов могут быть размещены на одной странице. Они могут быть бок о бок,
один над другим или вообще гулять по странице. Не путайте регионы с секциями.
Компоненты Region содержать компоненты Band и только Band. А компоненты Section могут
содержать любые группы компонент, включая другие компоненты Region.
При работе с компонентами Band, есть простое правило, которому обязательно следовать:
компоненты Band должны быть в регионе. Заметим, что количество регионов на странице не
ограничено или количество компонент Band внутри региона. Как далеко отчет может
разрабатываться визуально, комбинация Region и Band может использоваться для решения
задач любой сложности, когда помещает визуальность в разработку. Есть два основных типа:
Band и DataBand. Последний используется, когда требуется повторение, например, в masterdetail отчетах. Первый используется для неповторяемых нужд.
Компонент DataBand
Компонент DataBand это специальная версия компоненты Band, работающая с
базами данных, используемая для повторяющего получения информации из
представления данных. Обычно, компонент DataBand содержит несколько
компонент DataText.
Обычное использование DataBand это счета. Счет обычно состоит и заголовка, включая
информацию такую, как дата, номер счета, имя клиента и его адрес и одну или более строк
содержащих данные счета. В таком сценарии, таблица клиентов является главной, а данные
счета находятся в подчиненной таблице. Информация об элементах должна быть размещена в
DataBand, и управляться главной таблицей.
Компонент Band
Компонент Band для элементов, которые зафиксированы и не изменяются на
странице. Обычно, компонент Band содержит компоненты Text и CalcText.
Первичным примером этого, являются заголовки и подвалы. Компонент Band может
содержать компоненты баз данных, так поля таблицы могут быть размещены в компоненте
Band. Подвал группы может иметь '{CustomerDV.CustomerName} Totals' на этом компоненте
Band.
Важным свойством для компонента Band является свойство "ControllerBand". Данное
свойство определяет, каким компонентом DataBand управляется Band. Когда
контролирующий Band установлен, графический символ на компоненте Band указывает
направление контролируемый Band и также цвет символа.
Это поведение управляется "Always Show Band Headers". Данная установка изменяет
видимость Band во время разработки. Если установлено в "off" то это дает приближенный к
актуальному выводу вид, но не показывает заголовки с их символами и кодами. При
начальном использовании Rave более удобным будет установить этот параметр в "on" и
80
User Guide
получить преимущества визуальной помощи предоставляемой заголовками. Но номер более
комфортабельного овладения Band, можно сменить эту установку по необходимым нуждам
или предпочтениям. Символьные коды справа на компоненте Band будут объяснены позже в
главе «Редактор Band Style». Они дают информацию о состоянии Band. Жирные символы
означают ON или активно, бледные off или не активно.
Редактор свойства Band Style
Перейдите в свойство Band Style компоненты Band или DataBand и нажмите на кнопку
эллипса для открытия редактора Band Styles.
Это предоставляет простой метод выбора свойств для Band, с помощью установки отметок
для активации или деактивации их. Заметим, что компонент Band может иметь несколько
различных свойств активных одновременно. Это означает, что Band может быть для обеих
Body Header и Body Footer в тоже время.
Область показа в редакторе Band Style была разработана для представления в стиле псевдо
последовательном представления отчета. DataBand повторены три раза, что бы подчеркнуть,
что это повторяющиеся данные. Текущий Band, который редактируется, отображается
жирным, подчеркнутым шрифтом.
Символы и буквы, используемые в редакторе Band Style и в компоненте Band в области Page
Layout, разработаны для предоставления информации о каждом состоянии. Основная разница
между этими двумя представлениями в том, что редактор Band style показывает компоненты
Band в псевдо последовательном порядке, следуя определениям каждого Band. Регион же
показывает в порядке, в котором они были брошены на него. Порядок операций, в некоторых
случаях, управляется этим порядком. Заголовки (заглавные буквы BGR) печатаются
первыми, затем DataBand, затем подвалы (маленькие буквы bgr) для каждого уровня. Тем не
менее, если есть больше одного заголовка определенного на конкретном уровне, каждый
заголовок компоненты Band печатается в порядке, в котором они размещены в регионе. Так,
что если это, технически возможно поместите все заголовки вверху, все компоненты
DataBands в середине и все подвалы внизу региона для всех уровней master-detail. Или
каждый уровень должен быть «сгрупирован», со своими заголовками, нижними
колонтитулами и компонентами DataBand совместно для каждого уровня. Rave позволяет
размещать регионы таким образом, что бы был наибольший смысл для порядка разработки.
Только помните о порядке выполнения, например все Band одного уровня управляются их
порядком внутри региона.
Есть несколько символов разработанных для показа связей Parent-Child / Master-Detail связей
различных Band. Символ треугольника (стрелки вверх/вниз) показывают, что компонент
Band управляется Master Band с тем же цветом (уровня) и может быть найден в направлении
стрелки. Символ ромба представляет Master или управляющий Band. Эти символы
кодированы цветом и указывают направление связи Master-Detail. Помните что, может быть
связь Master-Detail-Detail, где обе подчиненные таблицы управляются той же самой главной
или одна подчиненная управляется другой подчиненной.
Полоса заголовка каждого Band содержит информацию об этом Band. С левой стороны Band
есть имя, показывающее регион, на котором он расположен - "RegionName:BandName".
Правая сторона Band используется для указания стиля Band с помощью символов. Порядок
этих символов на главном компоненте такой "MASTER 1PC". Порядок на контролируемом
Band такой "BGRDrgb1PC". Если буквы погашены (серые) то это означает, что данный
параметр не активен (off). Буква подсвечена жирным, когда данный параметр активен (ON).
Следующая таблица показывает значение различных символов. Примечание переводчика:
таблица в книге отсутствует, придется разбираться методом научного втыка.
81
User Guide
Компонент DataText
Компонент DataText «чувствительный к данным (data-aware)» . Это означает, что он
может быть использован для отображения полей данных базы. Например, можно
напечатать информацию о клиенте внутри DataBand. Компонент DataText не
ограничивается печатью только данных из поля базы. Через редактор Data Text (доступен
через свойство DataField), могут быть отпечатаны, или как переменные отчета (Report
Variables), или как параметры проекта (Project Parameters), или как поля базы (DataFields).
Смотрите тему редактор DataText. Свойства LookupDataView, LookupDisplay и LookupField
определяют определение, которое будет выведено вместо свойств DataView:DataField.
Редактор DataText
Есть два метода доступные для ввода в свойстве DataField. Первый это выбор отдельного
поля с помощью перетаскивания. Это хорошо для обычных отчетов, где требуется только
одно поле для каждого элемента DataText. Но, есть много других потребностей, где
различные поля должны быть объединены. Два типовых примера комбинации: город, штат и
почтовый индекс или имя и фамилия. В коде это будет выражено так:
City + '_' + State + '__' + Zip
FirstName + "_" + LastName
ПРИМЕЧАНИЕ:
символы подчеркиваня здесь представляют пробелы, это только для примера.
Свойство DataField имеет редактор DataText, которые помогает строить сложные выражения
составных полей. Для выполнения нажмите на кнопку эллипса и откройте редактор DataText.
Редактор дает возможность для объединения полей, параметров или переменных совместно
для построения сложных текстовых полей, просто перетаскивая их различных списков и
выбора нужных элементов.
Имеется много комбинация в этом редакторе, они будут немного рассмотрены здесь, но
попробуйте сами различные комбинации в практике и это должно помочь в освоении
редактора.
Заметим, что диалог разделен на четыре группы: поля базы (Data Fields), переменные отчета
(Report Variables), параметры проекта (Project Parameters), PIV переменные (Post Initialize
Variables) и Data Text. Data Text это окно результата. Посмотрите это окно, вставляя
различные переменные. Две кнопки с правой стороны окна это «+» и «&». Плюс добавляет
два значения без пробелов, а амперсанд объединяет их с одним пробелом. Первым шагом, это
решить, что использовать плюс или амперсанд, затем выбрать текст в одной из трех групп,
выше окна Data Text.
Для примера, для добавления поля OrderNo к CustNo, нажмите на кнопку «+», перейдите в
группу DataField, разверните список DataField, и выберите OrderNo. Затем нажмите на кнопку
«Insert Field» и увидите, что это добавилось в окно DataText. Результат в окне DataText
должен быть «CustNo + OrderNumber». Можно добавить еще несколько полей из списка
DataField. Заметим элемент «Selected» в группе представления DataView. Если здесь больше
одного представления DataView активно, то выберите другое представление DataView, и
снова добавьте поле из другого представления.
Но ничто не заставляет думать об объединении только полей DataFields. Переменные отчета
«Report Variables» и параметры проекта «Project Parameters» тоже могут быть объединены.
Перейдите в группу "Report Variables", откройте список переменных и обратите внимание,
какие доступны.
82
User Guide
Другой доступный элемент это параметры проекта. Это должны быть параметры
«UserName», «ReportTitle» или «UserOption», инициализированные приложением. Для
создания списка параметров проекта «Project Parameters», выберите узел Project в дереве
проекта (самый верхний элемент). В панели свойств должно быть свойство «Parameters».
Нажмите на кнопку эллипса, буден вызван типичный текстовый редактор строк, где Вы
можете ввести различные параметры, которые передаются в Rave из приложения, подобно
«UserName».
ПРЕДУПРЕЖДЕНИЕ:
Помните использовать «+» или «&» между каждым элементом, которое Вы объединяете в
окне Data Text. Вы можете печатать в окне Data Text, так вы можете корректировать ошибки,
выделив, удалив или заменив ошибочные значения.
Компонент DataMemo
Компонент DataMemo «чувствительный к данным (data-aware)». Это означает, что
он может быть использован для отображения поля Memo из представления
DataView, почти в любом месте страницы. Основное различие между компонентами
DataMemo и DataText в том, что компонент DataMemo предназначен для печати более одной
строки. Например, это можно использовать для печати примечаний о счете клиенту внизу
каждой страницы счета.
Одно из использования компонента DataMemo это создание писем. Простейший путь для
выполнения этого, установить свойства DataView и DataField управлять содержимым поля
Memo. Для загрузки редактора писем нажмите на кнопку эллипса на свойстве
MailMergeItems. Это позволит изменить элементы установленные в Memo.
ПРИМЕЧАНИЕ:
Параметр «Case sensitive» выключен. В случае если это важно убедитесь в состоянии данного
параметра.
Для использования редактора автоматического создания писем «Mail Merge», нажмите на
кнопку «Add». Теперь напечатайте в окне «Search Token» который должен быть заменен в
Memo. После как элемент введен, набейте строку замены в окне «Replacement» или нажмите
кнопку «Edit» и это запустит редактор DataText, который поможет в выборе различных
представлений и полей.
Компонент CalcText
Компонент CalcText «чувствительный к данным (data-aware)». Основное различие
между компонентами DataText и CalcText это то, что компонент CalcText
специально разработан для выполнения различного рода вычислений и вывода
результата данных расчетов. Свойство CalcType определяет тип вычисления и
включает Average (среднее), Count (количество), Maximum (максимум), Minimum (минимум)
и Sum (сумма). Например, это можно использовать для печати итогов счета вверху каждой
страницы счета.
Свойство CountBlanks определяет должны ли включаться пустые значения в расчет среднего
и количества в методах расчета. Если RunningTotal установлено в True, тогда результаты
вычисления не сбрасываются в ноль после печати.
83
User Guide
15. Компоненты проекта
В данной главе






Обсуждаются основные функции панели проекта.
Рассмотрение Менеджер проекта и специальные свойства.
Рассмотрение компонент Report, Page и Global Page и их специальных свойств.
Обсуждаются подсоединения данных и объектов, использующихся для подключения к
серверу отчетов.
Объяснение различий в компонентах безопасности.
Дается введение в SQL и DirectDataView.
Обзор
Панель проекта предоставляет базовую функциональность для проекта. Эти функции
являются строительными блоками для всех отчетов. Что делает эти функции важными, так
это, что эти функции являются основой для построений блок компонентов.
Основные функции выполняются первой кнопкой (менеджер проекта) и второй секцией
панели (New Report, New Global Page, New DataView и New Page). Эти функции
используются для добавления структуры к вашему отчету. Каждая будет рассмотрена в
следующих главах.
Компонент Project Manager
Компонент Project Manager является компонентом от которого создаются все
остальные компоненты. Все размещается ниже менеджера проекта (как RaveProject)
в дереве проекта. Этот компонент создается, когда создается любой новый Rave.
Может быть, только один менеджер проектов на каждый Rave файл, в этом отличие от
остальных компонентов.
Для ясности, Project Manager, RaveProject и New Project, все ссылаются на ту же вещь. Они
ссылаются на главный файл проекта, который содержит все остальное.
Подобно любому компоненту в Rave, менеджер проекта имеет свойства. Для их просмотра,
выберите RaveProject в дереве проекта, и затем смотрите панель свойств.
Для быстрого создания нового проекта, просто нажмите на кнопку New Project в панели
проекта. Это создаст новый файл, как новый менеджер проекта.
Посмотрит не свойства менеджера проекта.
Свойство AdminPassword позволяет администратору сервера Rave ограничить доступ до
данных, из которых создавался отчет. Это важная возможность в Rave.
Свойство Parameters позволяет передать в отчет элементы, рассчитанные другими
приложениями (такими как Дельфи Delphi), для использования другими компонентами в
отчете. При нажатии не кнопку эллипса, вызывается редактор DataText, позволяющий
установить параметры.
84
User Guide
Параметр PIVars для содержимого, которое не типично, и нуждается в динамическом
изменении в отчете. Это позволяет изменять содержимое, путем которое не типично для
табличных расчетов или манипуляций.
SecurityControl – Примечание переводчика: далее текст отсутствует.
Компонент Report
Компонент Report содержит страницы отчета. Может быть множество отчетов в одном
проекте, и каждый отчет может иметь множество страниц в этом отчете. Каждый отчет имеет
свойства. Для просмотра свойств, выберите отчет и смотрите в панели свойств.
Компонент Page
Компонент Page это базовый визуальный компонент, в котором размещаются
компоненты графики, печати, стандартные и штрих кодов. Это также место, где
проводится размещение и разработка отчета.
Компонент Page также имеет свойства, которые можно просмотреть, если выбрать пустую
область где-либо на странице.
Компонент Global Page
Компонент Global Pages размещен в узле Global Page Catalog дерева проектов.
Данные определения глобальных страниц используются как базовые определения.
Эти страницы также могут быть зеркально отражены. Глобальные страниц могут
содержать такие вещи, как заголовки писем, формы, водяные знаки и элементы страниц,
которые могут служить фундаментом для других отчетов в проекте. Например, глобальная
страница может быть отражена, туда, где Вы пожелает напечатать то же самое содержимое
страницы (связать со счетом), но Вы желаете поместить различные заголовки в подвал
страницы, например «Оригинал», «Копия» и «Отправлено».
Глобальные страницы также имеют свойства. Выберите глобальную страницу из дерева
проекта и смотрите свойства в панели свойств.
Компоненты Data Objects
Компоненты Data Objects это компоненты подключения данных, используемые для
подключения данных, или компоненты, используемые для управления видимостью
отчетов из сервера отчетов.
Нажатие на кнопку New Data Object на панели проекта, создает каждое подключение данных.
После нажатия на кнопку, появится диалог Data Connection. В данной точке, можно сделать
один их пяти выборов. Доступен выбор следующих компонент: DataLookupSecurity
Controller, Database Connection, Direct Data View, Simple Security Controller и SQL Data View.
Подробности каждого компонента подключения данных будет рассмотрено в следующих
главах. Как только Data Object выбран, компонент Data Object помещается в каталог словаря
данных (Data View Dictionary) дерева проекта. Выберите компонент и посмотрите в панели
свойств его свойства.
85
User Guide
Компонент Database Connection
Компонент Database Connection это компонент типа Data Object, используемый для
подключения данных. Данный компонент может быть добавлен в проект, нажатием
на кнопку New Data Object в панели проекта, затем выбором Database Connection в
диалоге подключения данных.
Как только компонент Database Connection выбран в диалоге подключения, появляется
диалог Database Connection Type. Здесь задается тип подключения, который используется для
присоединения к данным. На данном рисунке имеется только один вариант выбора, но в
зависимости от типа подключения может быть несколько различных вариантов выбора.
После выбора правильного подключения данных, нажмите Finish.
Компонент Database Connection, подобно другим компонентам, имеет свойства. Выберите
компонент в дереве проекта и смотрите их в панели свойств.
Компоненты безопасности
Используя компонент Security, можно управлять безопасностью отдельных отчетов.
Компонент TRaveBaseSecurity не может использовать самостоятельно, так как он является
абстрактным компонентом. Но Вы можете создать наследника от TRaveBaseSecurity для
реализации своей собственной схемы безопасности или использовать один их готовых
наследников TraveBaseSecurity, включенных в Rave. Rave в данный момент включает два
наследника от TRaveBaseSecurity: SimpleSecurity и LookupSecurity.
Для использования компонент безопасности, создайте один и установите свойство отчета
SecurityControl на данный компонент.
Компоненты безопасности работают, только если обслуживаются через сервер отчетов. Когда
неавторизированный пользователь пытается получить доступ до защищенного отчета
(Secured Report), аутентификация HTTP используется для аутентификации пользователя.
Компонент Simple Security Controller
Компонент TRaveSimpleSecurity реализует наиболее базовую форму безопасности, с
помощью простого списка пар username и password в свойстве UserList. Свойство
UserList содержит только одну username и password на строку в формате:
Username=password
Свойство CaseMatters логического (Boolean) типа, которое управляет чувствительность
пароля (password) к регистру букв. Имя пользователя (Username) не чувствительно к
регистру.
Компонент Data Lookup Security Controller
Компонент TRaveLookupSecurity реализует проверку имени пользователя и пароля
по базе данных. DataView указывает на представление, которое используется для
просмотра пароля и имени пользователя.
Свойство UserField это поле, которое используется для проверки имени.
Свойство PasswordField это поле, которое содержит пароль для проверки.
86
User Guide
Компонент SQL Data View
Компонент SQL Data View используется для создания самостоятельных запросов к
SQL базе данных. A База данных указывается в свойстве Database. Параметры могут
быть указаны в свойстве Params.
Свойство SQL используется для ввода SQL выражения. Во время разработки, вызывается
редактор визуального построения запроса.
87
User Guide
16. Компоненты штрих кодов
В данной главе



Описывается, как размещать штрих коды.
Описывается, как кодировать штрих коды.
Дается краткий обзор типов штрих кодов.
Основы компонент штрих кодов
компоненты штрих кодов используются для создания
различных штрих кодов в отчете. Штрих коды нужны для
пользователей, которые точно знают, для чего они нужны,
поскольку требует определенных знаний о штрих кодах, и как их использовать.
Для размещения штрих кода, нажмите на кнопку нужного компонента штрих кода и
поместите на страницу.
Для определения значений штрих, перейдите в панель свойств и введите значение в свойство
Text. Для штрих кодов содержащих контрольный символ, не вводите его, поскольку
контрольный символ, рассчитывается автоматически.
Краткое описание компонент штрих кодов
Компонент PostNetBarCode
Штрих код PostNetBarCode использует POSTNET (POSTal Numeric Encoding
Technique) и особенно используется почтовыми службами. Это кодирует
информацию о почтовом индексе на письме для быстрой надежной сортировки
штрих код сортировщиками. PostNetBarCode может представлять пятизначный почтовый
индекс (32 полоски), и девятизначный почтовый индекс (52 полоски), или одиннацатизначный печатный код доставки (62 полоски). Узнайте в почтовом отделении, какой штрих
код используется. Текущие стандарты требуют пятизначный индекс, плюс четыре, плюс две
цифры, которые часто получаются из первых двух цифр адреса улицы. Рекомендуется, чтобы
пользователь получил в почтовом отделении копию текущего руководства.
Пример PostNetBarCode: 85210304119
Компонент 2of5Bar Code
2of5Bar код (interleaved 2 of 5) это только цифровой код; в панели свойств он
помечен как 2of5BarCode. Количество цифр может быть любое, какое необходимо
для кодирования данных. Это код высокой плотности, до 18 цифр на дюйм, если
используется разрешение 7.5 mil X. "Interleaved" исходит из того факта, что цифры
кодируются полосками и следующая цифра отделяется проблем. Есть пять полосок, две из
которых широкие и пять пробелов, два из которых тоже широкие.
Пример 2of5BarCode: 2632534
Компонент Code39BarCode
Code39BarCode это алфавитно-цифровой штрих код, который может кодировать
десятичные числа, заглавные буквы, и следующие специальные символы «_», «.»,
«*», «$», «/», « », «+». Код конструируется из девяти элементов, пять полосок и
88
User Guide
четыре пробела. Из этих девяти элементов, две полоски и один пробел шире остальных.
Широкие элементы представляют бит (1), а узкие элементы бит (0).
Пример Code39: CODE 39
Компонент Code128Bar Code
Code128Bar Code это расширенный алфавитно-цифровой штрих код. Количество
символов может быть столько, сколько необходимо для кодирования данных. Он
спроектирован, что бы кодировать все 128 ASCII символа, и использует меньше
места для из 6 символов или более чем любая из 1-D символогии. Каждый символ данных
сделан из 11 черных или белых модулей. Стоповый символ сделан из 13 модулей. Три
полоски и три пробела, формируются из этих 11 модулей. Полоски и пробелы меняются
между 1 и 4 модулями.
Пример Code 128: Code 128
Компонент UPCBarCode
UPCBarCode универсальный код продукта (Universal Product Code) имеет
фиксированное число из 12-цифр и может кодировать только числа. UPC был
разработан для кодирования продуктов. Данный формат позволяет сканировать в
любой ориентации. Контрольный символ рассчитывается, так что нет необходимости вводить
его в свойстве Text.
Пример UPCBarCode: 712345678935
Компонент EANBarCode
EANBarCode (European Article Numbering System) идентичен UPC, за исключением
количества цифр. EAN имеет длину в 13 символов - 10 цифровых символов, и 2
"flag" символа флага, обычно код страны, и контрольный символ. Данный штрих код
обычно используется за пределами Штатов. Контрольный символ рассчитывается, так что нет
необходимости вводить его в свойстве Text.
Пример EANBarCode: 3847348484584
89
User Guide
17. Расширенные компоненты
В данной главе



Объясняется использование FontMaster и PageNumInit.
Дается подробности о расширенных компонентах.
Компонент Calc в подробностях.
Компонент FontMaster
Каждый текстовый компонент в отчете имеет свойство Font. Конкретный шрифт
может быть назначен компоненту. В большинстве случаев это может быть полезно и
необходимо при установке шрифта более чем одному объекту. Это делается
выбором более одного компонента за раз. Но помнить, какие шрифты имеют тот же тип,
размер и стиль, не очень простая задача, особенно если более одного отчета. Это та область,
где FontMaster пляшет. Поскольку позволяет пользователю определить глобальный шрифт
для различных компонент, FontMaster также позволяет пользователю определить
стандартные шрифты для различных частей отчета, для заголовков, содержимого и подвалов.
FontMaster это невидимый компонент (поэтому у него зеленый цвет кнопки). Для
использования, просто нажмите на кнопку и затем щелкните мышью, где ни будь на странице
в дизайнере страницы. Заметим, поскольку это невидимый компонент, поэтому нет его
визуального представления на странице, и подобно другим невидимым компонентам, он
доступен через дерево проекта.
Как замечено ранее, главное назначение FontMaster это установка шрифтов. Он имеет очень
мало свойств. Как большинство других компонент, он имеет свойства DevLocked, Locked,
Name и Tag. Он также содержит наиболее важное свойство Font.
Для установки свойств FontMaster, используйте свойство Font на панели свойств, нажмите на
кнопку эллипса для вызова диалога Font и выберите шрифт и размер. Нажмите OK, когда
закончите. Как только компонент FontMaster настроен, связать его с текстом весьма просто. В
отчете выберите компонент Text/Memo, затем используя кнопки стрелок вверх/вниз на
свойстве FontMirror в панели свойств для выбора связи FontMaster. Любые компоненты,
которые имеют установленное свойство FontMirror на FontMaster, будут отрабатывать
изменения в сделанные в свойстве Font компоненты FontMaster. Это позволяет пользователю
изменять шрифты различных текстовых компонент за раз и в то же самое время хранить
однообразность по всему отчету (когда требуется).
Важно заметить, что свойство FontMirror, свойство Font перекрывается свойством Font
компонента FontMaster. Это означает, что если текстовый объект имеет свойство Font
установленное на Font A, назначение ему FontMaster со шрифтом Font B, текстовый
компонент автоматически назначает Font B и его свойство Font игнорируется. Другой
побочный эффект использования FontMaster это то, что панель шрифтов запрещается при
использовании свойства FontMirror.
Может быть, более одного FontMaster для страницы, хорошей практикой является давать
значимые имена для FontMaster. Дерево проектов, показанное ранее, имело три компоненты
FontMaster на странице. Две из них начинались с FM, для FontMaster, и далее имя и размер
шрифта, которое они представляют. Это одно из соглашений, которое может использоваться
для того, чтобы сделать имя описательным для пользователя.
90
User Guide
Компонент PageNumInit
PageNumInit это невидимый компонент, который позволяет сбросить нумерацию
страниц в отчете. Использование PageNumInit аналогично другим невидимым
компонентам. Он используется, когда требуется расширенное форматирование.
Примером использования PageNumInit является отчет CustomerStatement Report при сверке
счета. Отчет о состоянии, который клиент получает каждый месяц, может иметь переменное
количество страниц. Месячный отчет, первая страница может содержать итоговые данные,
вторая может данные по кредиту и депозитам, а третья содержать возвраты и дебиты. Первые
две могут быть одной страницей, но если активность счета высокая, то секция дебит может
занимать несколько страниц. Если пользователь производит отчет то, возможно, он захочет,
что бы каждая секция нумеровалась индивидуально, итоги и депозиты маркировались как «1
из 1». А третья часть, может иметь три страницы. Поскольку это отдельная секция отчета, то
она может быть маркирована так «1 из 3», «2 из 3» и «3 из 3». При использовании такого
типа нумерации страниц PageNumInit может оказаться полезным.
Есть несколько шагов, которые должны быть выполнены, что бы использовать данный
компонент эффективно. Сначала определите страницы как обычно. Добавьте компонент
DataText из панели отчета на страницу, поместите туда, где должен появиться номер
страницы.
После того, как Вы поместили компонент в панели свойств компонента DataText, нажмите на
кнопку эллипса в свойстве DataField.
Это откроет редактор DataText. Нажмите на кнопке Report Variables и выберите Relative Page
и нажмите кнопку Insert Report Var для использования переменной в отчете. В области
DataText, должно появится «Report.RelativePage». После этого введите текст « + ' of ' +».
Из выпадающего списка ReportVariables выберите TotalPages (выберите и нажмите кнопку
Insert Report Var). Это добавит оставшийся текст «Report.TotalPages» к области
редактирования Data Text. По окончанию нажмите OK.
Панель свойств теперь показывает текст, введенный в редакторе Data Text.
Расширьте компонент DataText, что бы появился текст из редактора.
Для инициализации страницы требуемым номером, выберите PageNumInit из дерева проекта.
На панели свойств, введите требуемый номер и свойство InitValue.
Для каждого определения, созданного в проекте, компонент PageNumInit позволяет каждое
определение нумероваться независимо друг от друга.
Компонент DataCycle
Компонент DataCycle это невидимый компонент для баз данных, который позволяет
управлять извлечением информации из просмотра DataView. Обычно, компонент
DataCycle используется для прохода по подчиненной таблице, при изменении в
главной.
Например, создавая отчет для множества клиентов, и каждый клиент имеет много заказов
связанных с ним. Для этого отчета мы должны иметь заказы каждого клиента на своей
странице, со своим собственным списком заказов. Дизайн таблицы должен выглядеть так, где
есть главная таблица со списком, по каждому уникальному клиенту, и каждый клиент имеет
свою собственную таблицу заказов, где отображаются его заказы.
91
User Guide
Что бы отчет был создан, требуется, что бы каждый клиент имел уникальный номер клиента
(customer ID), отпечатанный на одной странице, со списком своих заказов на этой же
странице. Поэтому отчет должен проходить по таблице, содержащей все сделанные им
заказы, прежде чем начнется печать следующего клиента и ассоциированных с ним заказов.
Главная таблица содержит список ID клиентов, допустим, она называется MasterDataView. В
панели свойств, это имя главной таблицы должно быть выбрано в свойстве называемом
MasterDataView. После выбора, мы должны сообщить Rave, какой ключ будет использован
для связи таблиц. Этот ключ называется DetailKey. DetailKey, в нашем примере будет
CustomerID. Затем, таблица, которая будет просматриваться в цикле, это таблица,
содержащая заказы, это будет таблица DataView. MasterDataView (главная таблица) и
DataView (детальная таблица) соединяются по Detail Key (общий уникальный ключ в каждой
таблице).
DataCycle может также быть ограничен, ил отсортирован при создании отчета. Например,
допустим, Вы хотите создать отчет для заказчиков, проживающих в Аризоне. Для
ограничения отчета только заказчиками из Аризоны, MasterKey должен быть установлен.
Установка MasterKey делается нажатием на кнопку эллипса (…) в свойстве в панели свойств.
Будет вызван редактор Data Text. В области Data View, выберите радио кнопку «Selected» и
затем выберите нужную MasterDataView таблицу, которая будет главной в нашем примере, и
помощью выпадающего меню. Как только закончите, затем выберите поле, которое будет
использоваться как фильтр в главной Master Table или MasterDataView таблице. После этого
нажмите на кнопку Insert Field, которая покажет выпадающее меню Data Field. Это поместит
должный текст в область Data Text, внизу редактора. Теперь в Data Text напечатайте «='AZ'»
для ограничения данного поля только клиентами из Аризоны. Нажмите OK, когда будете
готовы, это исключит прочих клиентов, не из Аризоны.
Компонент DataMirrorSection
Компонент DataMirrorSection это секция, которая отражается (зеркально) в другие
секции, базируясь на содержимом из данной секции. Зеркальное отражение секция
позволяет данному компоненту быть очень гибким. Помните, что секции могут
содержать любые другие компоненты, включая графику, регионы, текст и другое.
Пример использует компонент «DataMirrorSection» включенный в RaveDemo файл проекта.
Данный пример показывает, как иметь один отчет, производящий различные форматы
конвертов при посылке по международным или американским адресам. Шаблон для
международных адресов имеет строку страны и центруется на конверте, тогда как
американский формат не имеет строки страны и смещен вправо от центра и ниже на
конверте.
Данный пример показывает несколько приемов, как использовать зеркальное отражение
секции. На странице 2 есть три секции. Секция 3 имеет общих строки адреса в обоих
шаблонах. Секция 1 и 2 содержат зеркальное отражение в секцию три. Международная
секция имеет дополнительную строку страны, добавленную к своему шаблону. Заметим, что
«remarks» было добавлено к странице 2, и оно не является частью, какой либо секции. "US
Template" и "International Template" только текстовые примечания, предназначенные для
помощи в показе каждой секции.
Для понимания как сделан главный шаблон, перейдите на страницу 1, и выберите
"DataMirrorSection". Заметим что, свойства "DataView" и "DataField" были установлены к
полю, которое используется для выбора, какой шаблон отражать. Для проверки этой логики,
перейдите в свойство "DataMirrors" и нажмите кнопку эллипса для открытия редактора Data
Mirror. Выберите каждый элемент "DataMirror" и обратите внимание на установки в нижней
92
User Guide
части диалога. Данный пример имеет два шаблона "templates", но чувствуйте себя свободно и
добавляйте больше для создания сложных требований отчета.
ПРИМЕЧАНИЕ:
Обычно одна из настроек определяется как «Default». Если «Default» равно NOT и поле не
соотносится ни с одной из других установок, тогда формат используется, как если бы был
нормальным содержимым компонента DataMirrorSection.
Компонент CalcOp
Компонент CalcOp это невидимый компонент, который позволяет выполнить
операции (определенные свойством Operator) на двух значениях из различных
источников (Src#CalcVar, Src#DataField или Src#Value). Результат затем сохраняется
в параметре проекта, подобном CalcTotal (через свойства DestParam и DisplayFormat).
Например, есть два компонента DataText, которые должны быть рассчитаны совместно.
Например, A+B=C, где A и B представляют два значения, двух компонент DataText, и C
представляет результат. Для этого и может использоваться компонент CalcOp.
Выберите два компонента DataText в выше указанном примере, используйте свойства Src1X
и Src2X, где X или CalcVar (переменная расчета), DataField, или DataValue. Эти три типа
источников значений, которые могут использоваться в расчете в компоненте CalcOp.
Заметим, что Src (источник) может быть только одним из трех доступных типов, и может
быть только два источника, Src1 или Src2.
Три типа источников имеют много различных ассоциированных с ними. Для источника
CalcVar, выпадающее меню показывает список всех переменных доступных на данной
странице для использования. Эти расчетные переменные, только переменные для хранения
значений. Эти значения могут быть из другого компонента CalcOp или из другого расчетного
компонента. Для источника DataField для получения доступных значений сначала
определите, из каких DataView/ DataField они приходят. Другими словами DataField это поле
в таблице, которая DataView. Для выбора поля, сначала должен быть выбран DataView. Для
источника Value, напечатайте числовое значение, это все что требуется для заполнения
данного свойства. Again, напоминаем, что только одно из этих трех источников может быть
назначено источнику.
После выбора источников, выберите операцию, которая будет использоваться между ними.
Для выбора операции, используйте свойство Operator, с помощью выпадающего меню и
сделайте нужный выбор. В примере, A+B=C, оператор должен быть «coAdd».
Бывает много случаев, когда необходимая функция должна быть выполнена на значении,
перед обработкой второго значения. Здесь есть свойство SrcYFunction, где Y это 1 или 2 для
Src1 или Src2. С помощью SrcYFunction, значение может быть конвертировано (например, из
часов в минуты), или быть выполнена тригонометрическая функция над ним (например, взять
синус от значения), или другие функции выполнены над этим значением (например, взять
корень квадратный из значения, или получить абсолютное значение).
После выбора двух значений, самое время подумать о результате. В примере, A+B=C, C это
значение результата. Результат может быть или записан в переменную проекта или просто
сохраниться как внутреннее значение. Для записи в параметр, используйте свойство
DestParam для выбора должного параметра, в который записать результат. Если результат
сохраняется как внутреннее значение, ничего не делать, иначе выберите компонент. Усилено
рекомендуется переименовать компонент, так что бы он отражал суть, легче будет
использовать в будущем.
93
User Guide
После установки значений и установки места для результата, возможно, потребуется
форматировать результат или даже выполнить функцию, над результатом. Используйте
свойства DisplayType и DisplayFormat для форматирования результата в подходящий формат.
Имеются два значения для DisplayType - DateTimeFormat и NumericFormat. DisplayFormat
имеет много параметров, которые должны быть указаны в поле редактирования. Что бы
найти эти значения смотрите «Приложение A. Форматирование», в конце данного
руководства. Подобно двум значениям, A и B, в примере, A+B=C, над результатом C также
можно выполнить функцию, перед записью в параметр или сохранить значение. Для выбора
функции, используйте выпадающее меню свойства ResultFunction.
Компоненты CalcOp могут подключаться в цепочки для получения
более сложных выражений, используя свойства Src#CalcVar,
которые могут быть назначены другим CalcOp или CalcTotal
компонентам. Например, чтобы создать сложное выражение,
показанное на рисунке справа, надо его разделять на шаги с двумя
простыми значениями.
Для разделения сложного выражения на четыре простых, надо их
создать и сохранить как компоненты CalcOp. Для Z, Y, X и W
должно быть четыре промежуточных компоненты CalcOp. Но, как
вы видите из диаграммы выражения, Z и Y должны быть
выполнены до X, поскольку он зависит от выполнения двух
предыдущих операций. И, наконец, W должен быть выполнен после
X, для получения правильного конечного результата.
Так как важно выполнять вычисления в должном порядке, важно убедиться в каком порядке
они будет в дереве проекта. При выполнении отчета, отчет будет выполнять вычисления в
порядке их следования в дереве проекта. Для компонент CalcOp или других расчетных
компонент. В примере выше, если Z, Y, X, и W находятся в дерева проекта, Z должен быть
первым в дереве и W должен быть последним в дереве. Это означает, что они должны быть в
правильном порядке. Это означает, что Z будет обрабатываться первым, затем Y и так далее.
Так же важно отметить, что если Z зависит от других компонент (подобно другим
компонентам CalcOp или DataText), эти компоненты должны быть выше в дереве проекта.
Убедитесь что компоненты в правильном порядке. Для перемещения компонент вверх/вниз в
дереве проекта, используйте панель выравнивания для изменения порядка печати компонент.
Компонент CalcController
Компонент CalcController это невидимый компонент, который действует как
диспетчер, вместе с DataBand, для компонент CalcText и CalcTotal через их свойства
Controller. Когда компонент диспетчера печатается, он сигнализирует всем
вычисляемым компонентам, что управляет выполнением ими функций суммирования. Это
позволяет выполнять итоги для групп, детальных групп или целых страниц, в зависимости от
позиции компонента CalcController. Другой характеристикой компонента CalcController
является его способность инициализировать компоненты CalcText или CalcTotal
специфическим значением (через свойства InitCalcVar, InitDataField и InitValue). Компонент
CalcController только инициализирует значения, если они использованы в свойстве Initializer
свойств CalcText или CalcTotal.
Компонент CalcTotal
Компонент CalcTotal это невидимая версия компонента CalcText. Когда этот
компонент печатается, его значения обычно записываются в параметры проекта
94
User Guide
(определенные в свойстве DestParam) и форматируются согласно свойству DisplayFormat. Это
может быть полезным при выполнении итоговых вычислений, которое будет использовано
другими вычислениями прежде, чем напечатано. Оставьте DestParam пустым, если значение
CalcTotal будет использовано только компонентами, такими как CalcOp.
Упражнение 25: использование компонента Font Master
создайте новую страницу в отчете. Выберите New Report Page в окне проекта;
перейдите в дерево проекта и выберите страницу;
в панели свойств, введите «FontMaster» в свойстве Name, пока выбрана страница;
перейдите в панель стандартных компонент. Найдите компонент FontMaster и
нажмите на кнопку. Затем нажмите на страницу;
5. посмотрите в панели дерева проекта и обратите внимание, что появился новый
компонент в объекте Page названный FontMaster1. Но, когда Вы посмотрите на
страницу, то здесь не будет визуальных компонент. FontMaster это невидимый
компонент;
6. убедитесь, что компонент FontMaster выделен, нажав на него в дереве проекта.
Компонент будет подсвечен, показывая, что он выделен.;
7. пока компонент FontMaster выбран, посмотрите в панели свойств. В свойстве Font,
нажмите на кнопку эллипса (кнопка с тремя точками);
8. после нажатия на кнопку эллипса, появится диалог Font. Сделайте свой выбор,
используя кнопки перемещения и поля для отметок. Для первого компонента
FontMaster, установите Arial Font, Bold, размер 14 и Underline в Effects;
9. посмотрите в панели свойств, пока компонент еще выбран. Свойство Font отразило
ваш выбор сделанный в диалоге Font;
10. теперь, пока свойство Font еще выбрано, переместитесь на свойство Name и
установите "FMArial14BldUndrln" в поле ввода имени;
11. следующий взгляд на дерево проекта показывает изменение имени. Полезно и нужно,
переименовывать компоненты в дереве проекта, для того, что бы отличать один
компонент от другого. Поэтому мы продемонстрировали переименование компонент
FontMaster и Page;
12. теперь, три раза повторите шаги с 4 по 11, используя различные имена и установки.
FMArial16ItlcUndrln: Arial, 16, Italic и Underlined. FMTimesNwRmn12: Times New
Roman, 12. FMCourier12: Courier, 12. для понимания переименуйте компоненты,
согласно соглашениям об именовании. В данных примерах мы использовали эти
соглашения, для именования FontMaster компонент;
13. Далее, бросить пять компонент Text на страницу, а также один компонент Memo;
14. Мы будем писать «письмо», используя брошенные на страницу компоненты;
15. используем один компонент Text, для поля даты и другие четыре для адреса.
Компонент Memo мы будем использовать для текста письма. Поэтому заполните ваши
компоненты соответственно. Более подробно о том, как заполнять компоненты вашим
текстом смотрите описание свойства «Description Listing» в «Приложение C. Описание
свойств», или смотрите главу «9. Стандартные компоненты». Стремитесь
использовать панель выравнивания для корректного выравнивания компонент
«письма». Также, возможно потребуется изменить размеры компонент для полного
отображения текста;
16. затем, выберите компонент Text, который будет содержать дату. Пока еще выбрано
измените свойство FontMirror компонента FMCourier12 с помощью выпадающего
1.
2.
3.
4.
95
User Guide
меню. Обратите внимание, что шрифт изменился на предустановленный в
FMCourier12;
17. затем выберите четыре компоненты Text, которые предназначены для адреса. Панель
свойств покажет, что это множественный выбор. В свойстве FontMirror, выберите
FMTimesNwRmn12;
18. выберите компонент Memo, который будет содержать текст «письма». Пока выбрано,
выберите FMArial16ItlcUndrln в выпадающем меню FontMirror;
19. это заканчивает зеркальное отражение шрифтов на страницу. Последняя вещь
объясняет, что нужно сделать, когда Вы пожелаете изменить шрифты;
20. выберите все компоненты для адреса. Измените свойство FontMirror
FMArial14BldUndrln. Теперь, это можно использовать для изменения шрифта у многих
компонент Text/Memo с одной установки на другую без изменения свойства Font у
каждого компонента;
21. Иногда может быть много компонентов связанных с одним компонентом FontMirror,
поскольку все они имеют отношение к одной специфической области отчета. В этом
примере, мы можем предположить, что все заголовки адреса должны быть связаны с
одним свойством FMArial14Bldunderln, через свойство Font Mirror. Так, , чтобы
изменять это мы должны переделать только одно свойство FontMirror;
22. выберите FMArial14BldUnderln компонент FontMirror в дереве проекта;
23. в панели свойств, пока компонент выбран, нажмите на кнопку эллипса;
24. измените в диалоге Font следующие свойства: Times New Roman, 10, по other Font
Effects;
25. в свойстве Name свойства FontMirror, введите следующее имя: FMTimesNwRmn10.
Упражнение 26: настройка компонента PageNumInit для нумерации
1. сначала создайте новую страницу, или используйте ту, которая осталась от
предыдущего примера. Если это новая страница, бросьте несколько компонент Text на
нее. Это просто компоненты для примера.
2. перейдите в панель отчета и найдите компонент Data Text. Нажмите на него и затем
нажмите на странице.
3. поместите компонент DataText в область, в которой должен быть номер страницы,
например, в самом низу страницы.
4. убедитесь, что компонент размещен корректно и выбран. Проверь выбор путем
визуального наблюдения, вокруг компонента должна быть рамка с зелеными
маркерами, или компонент должен быть подсвечен в дереве проекта.
5. Пока компонент выбран, перейдите в панель свойств и посмотрите свойство DataField.
Нажмите на копку эллипса.
6. должен появится редактор Data Text. Посмотрите в редакторе на секцию "Report
Variables".
7. теперь, помощью стрелок перейдите в конец Report Variables. Щелкните на нем и
посмотрите все доступные элементы. Использую линейку прокрутки, перемещайтесь
вверх/вниз по меню.
8. в секции Report Variables, посмотрите на "Relative Page". Выберите ее.
9. затем нажмите на кнопку Insert Report Var, справа от секции Report Variables. Это
поместит подходящий текст в области Data Text, внизу редактора Data Text.
96
User Guide
10. перейдите в область Data Text и напечатайте следующее: « + 'of' + ». Включая пробелы
до и после каждого символа.
11. теперь возвратитесь в выпадающий список Report Variables. Прокрутите, пока не
найдете TotalPages. Выберите этот элемент.
12. надмите на кнопку Insert Report Var, для вставки в область Data Text.
«Report.TotalPages» будет добавлено в эту область.
13. Нажмите OK, когда будете готовы. Ваша область DataText выглядит следующим
образом.
14. после нажатия OK, Вы возвратитесь в панель свойств. Если ВЫ расширите панель
свойств и посмотрите на свойство DataField, Вы увидите результат DataText
полученный из редактора Data Text.
15. на странице, компонент DataText будет выглядеть как A ниже. Если вы расширите
рамки компонента DataText (как в B), Вы увидите, что появится результат из
редактора Data Text. В действительности не необходимости расширять компонент; это
мы сделали, для того, что бы посмотреть в данном упражнении.
16. Осталась еще одна вещь, для окончания нумерации страницы, мы должны
инициализировать страницу требуемым номером. Для этого перейдите в дерево
проекта и найдите компонент PageNumInit. Выберите его.
17. пока компонент PageNumInit еще выбран, перейдите в панель свойств и найдите
свойство InitValue.
18. в свойстве InitValue введите число, это означает, что нумерация наших страниц
начитается с единицы.
19. это все, что нужно для настройки PageNumInit. Отметим, что каждый отчет
нумеруется независимо от другого отчета.
97
User Guide
18. Адаптация отчетов
В данной главе



Объясняет проблемы, относящиеся к адаптации.
Объясняет, как использовать якоря для закрепления ваших компонент.
Показывает, как работать с непечатной зоной на различных принтерах.
Обзор
Одной из больших проблем, с которой сталкиваются разработчики при создании отчетов, это
адаптация. Что точно такое эта адаптация? Сначала, когда отчет создан, выполнение
нормально происходит на одном конкретном компьютере, к которому подключено один или
более принтеров. Когда отчет выполняет в жизни, вступают в действие такие факторы,
размер бумаги, ориентация листа и непечатная область на разных принтерах. Во вторых,
должен допускать некоторую гибкость в общей разработке и формате отчета.
Rave помогает преодолевать эти проблемы, давая доступ разработчику до конкретных
свойств отчета. В этой главе, эти свойства объяснится подробно, и позволяют делать
стандартный вид на различных платформах. На этом пути разработчик может
сфокусироваться на создании отчета и меньше беспокоиться о преодолении сложностей
распространения.
Отчеты также будут способны настроить форматы, основываясь на внешних параметрах,
переданных во время выполнения.
Свойство якоря (Anchors)
Большинство визуальных компонент имеет свойство Anchors. Это мощное средство
определяет, как будет перемещаться при изменении размеров его родителя. Есть два значения
якорей, один для горизонтали и один для вертикали. По умолчанию якоря установлены на
верхний левый угол родителя. Что это значит, когда меняется размер родителя (например,
компонент Section), компонент останется на том же самом расстоянии от левого, верхнего
угла родителя. Два других значения якорей это Bottom и Right, они аналогичны по функциям
(фиксируют правый, нижний угол родителя).
Параметр якоря Center фиксирует ребенка в центр родителя. Stretch поменяет размеры так,
что стороны останутся на том же расстоянии от родителя. Stretch чаще всего используется,
когда Вы хотите, чтобы компонент соответствовал ширине и высоте родителя. Две других
специальных установки якоря, Resize и Spread используются для группы компонент. Resize
пропорционально меняет размер компонент и промежутков между ними, при изменении
родителя. Spread пропорционально меняет только промежутки между ними, (компоненты
остаются того же размера) при изменении родителя. Бросьте компонент Section и поместите
на нем несколько прямоугольников или текстовых компонент, измените значения этих
компонент, что бы увидеть действие якорей.
Якоря могут быть использованы, чтобы создавать самонастраивающиеся отчеты, когда
объединяются с другими возможностями отчета. Представьте себе, что отчет может
печататься, или в портретной, или в альбомной ориентации, или отчет может выполняться на
разных размерах бумаги. Установка свойств якорей позволит отчету приспосабливаться к
этим меняющимся условиям. Типичный табличный отчет, созданный компонентами Region;
это Band, Text и DataText компоненты внутри каждой полосы. Если компонент Region
устанавливает якорь в Stretch, по горизонтали и вертикали и все компоненты Text и DataText
устанавливают якоря в Resize, отчет сможет подстроиться под эти установки.
98
User Guide
Другие изменения, как например, непечатная область принтера, может также быть решена с
помощью якорей и будет обсуждена в следующей главе.
Непечатная область принтера
Большинство принтеров имеют область, называемую как Непечатная область принтера. Это
означает, что в данной области невозможна никакая печать, по причине фактических
ограничений аппаратных средств (обычно, поскольку принтер использует эту область
страницы, чтобы "захватывать" бумагу, при прохождении через ролики). Эти значения могут
поколебаться от 0 (общее для матричных принтеров) до 1,5 дюймов. Чернильные принтеры
обычно имеют большую нижнюю границу (и иногда 0 для верхней границы), большинство
чернильных и лазерных принтеров имеют около 0,25 дюйма для левой и правой границ
непечатной области.
Рамки с красными точками, на границах страницы, показывают непечатную область
текущего выбранного принтера (или установленные предпочтения). Все между этими
линиями и границами листа представляет непечатную область принтера, в которой вы
должны избегать размещать компоненты. Проблема состоит в том, как узнать какой будет эта
зона для назначенного принтера. Если отчет разработан с чрезвычайно большими границами
этих полей, тогда лишком много пустого пространства будет занято на каждой странице.
Свойство WasteFit отвечает на эту общую проблему печати.
Страница имеет свойство, называемое WasteFit, которому можно назначить одно из двух
значение, или true или false.
По умолчанию значение False. Установка в значение true заставляет страницу, подстраивать
компоненты, размещенные на ней, так что бы они поместились в рабочей области принтера.
Компоненты, размещенные на ней, масштабируются, что бы они поместились в рабочей
области.
Тем не менее, этого недостаточно, что бы установка в WasteFit отработало для всех
компонент автоматически. Подчиненные компоненты должны иметь свои собственные якоря,
что бы они смогли также построиться при смене размеров страницы.
Когда это используется правильно, то это свойство становится мощной возможностью,
позволяя разработанным отчетам автоматически приспосабливаться к различным принтерам.
Редактор якорей
Обычно, полосы отчетов, колонки, абзацы выравниваются к левому верхнему углу требуемой
зоны. Это достаточно для большинства потребностей отчета.
Тем не менее, возможно Вы захотите управлять начальной или конечной позициями ваших
компонент динамически. Это может быть двух колоночная секция, где левая колонка это
компонент Memo, который изменяет высоту и правая колонка это компонент Text, который
всегда занимает одну строку. Как сделать оба компонента плавающими и выровнять по низу
формата? В Rave это делается с помощью свойства Anchor.
Что бы изменить стиль якоря зайдите в требуемый компонент и нажмите кнопку эллипса, это
откроет редактор якорей, подобный одному из выше показанных. Это предоставляет метод
для выбора стиля якоря данному компоненту, с помощью соответствующей вертикальной ил
горизонтальной радио кнопок. Обратите внимание на представление появляющиеся ниже
каждой. Выбор якоря имеет визуальную индикацию, что делает та или другая установка. Три
другие установки Stretch, Resize, Spread немного сложны для объяснения, но образцы
примеров также показывают на рисунке, сто каждая делает.
99
User Guide
Важно заметить, что свойство Anchor применяется относительно родителя компонента. Так,
если родителем является страница, то установки действуют относительно сторон страницы.
Если родителем является секция, то установки действуют относительно сторон секции.
Одним из путей визуально увидеть родство это посмотреть компоненту в дереве отчетов.
Уровень выше и является родителем.
Следующие комбинации не ограничительные, но обычно спариваются следующим образом:






Выравнивание Left/Top
Выравнивание Right/Bottom
Выравнивание по обоим центрам
Оба Stretch
Оба Resize
Оба Spread
100
User Guide
19. Пакеты и обмер страниц
В данной главе


Обсуждается, как группировать отчеты
Содержит вызов и цепочки страниц
Пакеты страниц
Вероятно, наиболее общим методом связывания страниц, будет последовательная пакетная
обработка страниц, что определяется списком независимых определений страниц. Первая
страница в списке начинает выполнение и продолжает до конца, затем вызывается вторая и
так до последней страницы. Главной вещью, о которой надо помнить, что определение
каждой страницы независимо от других и выполнение продолжается до окончаний, прежде
чем начнется выполнение следующей страницы. Помните, что это проще для
административных задач, при выполнении группы страниц на текущей основе.
Определите последовательность страниц печати, через свойство PageList, в пределах
выбранного узла уровня Report. Когда это свойство будет выбрано (нажатием на кнопке
эллипса), будет вызван диалог, который позволит построить список из списка определений
страниц, в указанном узле дерева отчета. Преимущество этого метода - в том, что PageList
независим от индивидуальных определений страниц. Это означает, что PageList может
запустить целую последовательность страниц (отчетов), но индивидуальные отчеты могут
все еще выбираться индивидуально и запускаться без ввода пакетной связи. Помните, что
страницы отчета не видимы другим отчетам так, что если требуется гибкость в вызове
отдельных определений страниц, определите многократно используемые страницы, как
глобальные страницы, вместо страниц отчета.
ПРЕДУПРЕЖДЕНИЕ
Другой метод, группировать страниц, это установить в первой странице свойство GotoPage к
другой странице. Теперь, когда первая страница закончится, автоматически начнется вторая
страница. Проблема с данной техникой, что как только будет запущена первая страница, она
ВСЕГДА запустит вторую страницу, так как они связаны вместе на уровне определений
страниц.
Вызов страниц
(Узел Page – свойство GotoMode – установка gmCallEach)
Другой тип связи отчетов, где должен быть обычный поток страниц. Легчайший пример
этого будет отчет, где каждая запись ВСЕГДА производит три страницы вывода. Это может
быть отчет в виде формы, где страница 1 содержит демографическую информацию о
пациенте, страница 2 содержит медицинскую информацию, и страница 3 содержит страховую
информацию. Так, проходя по базе данных, каждая запись о пациенте будет производить три
страницы отчета. Смотри упражнение для пошаговых инструкций как вызывать страницы.
Цепочка страниц
(Узел Page – свойство GotoMode - установка gmGotoDone)
Обмен страниц подобен пакетному режиму. Пакетная техника была обсужденная раньше, с
использованием свойства PageList, и было предупреждение об использование свойства
GotoPage. Тем не менее, если Вы планируете последовательность, то используйте свойство
101
User Guide
GotoPage со страницами их каталога глобальных страниц, оно очень мощное. Упражнение в
конце данной главы дает определение Multi-Page определений, включая счет, файловую
копию, документы о поставке и сопроводительные документы.
Различный формат первой страницы
(узел Page – свойство GotoMode – установка gmGotoNotDone)
Другой тип связи это когда в отчете первая страница отличается от других страниц. Это
может быть отчет, которые имеет титульный лист, может быть с логотипом компании на
странице 1, но оставшиеся страницы имеют другой одинаковый формат. Что Вам нужно
сделать для этого, Вы должны создать отдельное определение для первой страницы, которое
указывает на страницу 2. затем создать определение второй страницы (все оставшиеся
страниц), которые дальше никуда не указывают. Упражнение в конце главы проходит через
подробные шаги по выполнению данного процесса.
Различный формат четных/нечетных страниц
(Узел Page – свойство GotoMode – установка gmGotoNotDone)
Другой тип связи это когда отчет имеет различные форматы для четных/нечетных страниц.
Это могут быть отчеты, которые печатаются на обеих сторонах листа бумаги (дуплексная
печать) и перфорированные отверстия на одной стороне, так что бы конечный отчет мог быть
вложен в скоросшиватель. Это будет означать, что внутренние границы (скажем 1 дюйм)
могут быль больше, чем внешние границы (скажем ½ дюйма). Чтобы создавать цикл где
определение страницы 1 (нечетные страницы) указывало на страницу 2 и не вызывало ее,
если отчет закончен на этой странице, И определение страницы 2 (четные страницы)
указывало на страницу 1 и не вызывало ее, если отчет закончен на этой странице. Этот цикл
должен продолжаться пока отчет полностью не отпечатается. Смотрите упражнение в конце
данной главы для получения подробных шагов для выполнения данного этого процесса.
Отчеты Пакет - Цепочка
Как только разработка отчета закончена и работает, повседневные процедуры
отрегулировались. В этой точке, не будет необычным обнаружение того, что некоторые
отчеты часто приходится печатать в определенной последовательности. Это могло быть
группой отчетов, которые создаются в конце каждого месяца, квартала, и тому подобное.
Другой пример мог быть серией исполнительных итогов, которые требуются верхнему
уровню управления. Конечно, возможно запустить каждый требуемый отчет индивидуально
для этих повторных случаев. Затем, когда они будут полностью сделаны, сгруппировать их
вместе и отдать в офис. Это часто означает, что есть контрольная таблица, которая подробно
описывает, какие повторные отчеты требуются, когда и для кого.
Эта проблема производства повторной последовательности отчетов решена в Rave путем
связывания отчетов один с другими. Rave имеет способность связывать определения страниц
отчетов, в широкий ряд путей, устанавливая различные комбинации трех свойств:
Page.GotoMode, Page.GotoPage и Report.PageList. Важно отметить, что установка свойства
GotoMode определяет поведение свойства GotoPage. Свойство PageList на уровне узла Report
разработано для предоставления пути установки нескольких различных цепочек в заданной
последовательности свойством GotoPage.
Хотя мы дадим примеры, как получить различные последовательности «пакет/цепочка», не
возможно включить все возможные варианты. Секрет в том, что каждый должен понять и
быть гибким в смешивании различных частей Rave. Конкретно, обратить особое внимание на
102
User Guide
каталог глобальных страниц и свойства GotoMode, GotoPage, Mirror и PageList. Различные
комбинации этих свойств обеспечивают разнообразие параметров вывода. Есть много мощи в
этом, поэтому наилучший совет начните с простых отчетов. Затем добавьте некоторые их
этих мощных добавлений, и они принесут вам понимание.
Упражнение 27: вызов страниц
Путь выполнения этого следующий:








выполните все обычные определения для страницы 1;
выполните все обычные определения для страницы 2;
выполните все обычные определения для страницы 3;
установите свойство GotoPage первой страницы указывать на вторую страницу;
установите свойство GotoMode первой страницы в gmCallEach;
установите свойство GotoPage второй страницы указывать на третью страницу;
установите свойство GotoMode второй страницы в gmGotoDone;
убедитесь, что свойство GotoPage последней страницы пустое.
Установка свойство GotoPage первой страницы в gmCallEach активирует свойство после
печати первой страницы. Так, по окончанию первой физической страницы, начнется
выполнение второй страницы. Поскольку вторая страница имеет режим gmGotoDone, то
переход будет, когда закончится печать второй страницы. Страница три отпечатается, и
управление перейдет к первой странице, поскольку ее свойство GotoPage пусто. Таким
способом Вы можете объединить любое количество страниц совместно. Ключ в том, что
установка gmCallEach сохранит вызывающую страницу, чтобы всякий раз, встретится пустое
свойство GotoPage, печать продолжилась на вызывающей странице.
Упражнение 28: цепочка страниц
В данном примере, мы собираемся сделать Multi-Page определение, которое включит счет,
файловую копию, транспортную накладную и упаковочный лист.






Создайте секцию на глобальной странице, которая будет зеркально отображена позже.
Выполните все нормальные определения для страницы счета в данной секции;
Создайте секцию на глобальной странице, которая будет зеркально отображена позже.
Выполните все нормальные определения для страницы файловой копии в данной
секции;
Создайте секцию на глобальной странице, которая будет зеркально отображена позже.
Выполните все нормальные определения для страницы транспортной накладной в
данной секции;
Создайте секцию на глобальной странице, которая будет зеркально отображена позже.
Выполните все нормальные определения для страницы упаковочного листа в данной
секции;
Создайте новый отчет, который будет хранить определения для этих страниц;
Создайте новую страницу определения, «Invoice».
Бросьте секцию на эту страницу и установите свойства Left и Top отраженные на
глобальную секцию «Invoice», бросьте текстовый компонент в низ страницы
"INVOICE COPY";
103
User Guide





Создайте новую страницу определения, «FileCopy1».
Бросьте секцию на эту страницу и установите свойства Left и Top отраженные на
глобальную секцию «FileCopy», бросьте текстовый компонент в низ страницы «FILE
COPY 1»;
Создайте новую страницу определения, «FileCopy2».
Бросьте секцию на эту страницу и установите свойства Left и Top отраженные на
глобальную секцию «FileCopy», бросьте текстовый компонент в низ страницы «FILE
COPY 2»;
Повторите данные шаги для транспортной накладной и упаковочного листа;
Теперь вернитесь в определение страницы «Invoice» (НЕ глобальное определение).
Установите PageMode в gmGotoDone.
Установите PageGoto указывающим на страницу определения «File Copy 1»;
Повторите эти шаги для каждой копии, помните оставить пустым последнее свойство
PageGoto.
Зеркальное отражение глобальной страницы позволяет многократно использовать основной
дизайн. Данный пример показывает, «FileCopy» будет отражено дважды, и определение
метки на каждой странице будет различаться.
Упражнение 29: различная первая страница
Путь выполнения этого следующий:






выполните все обычные определения для страницы 1;
создайте новое определение для второй страницы;
установите свойство GotoPage первой страницы указывающим на вторую страницу;
установите свойство GotoMode первой страницы в gmGotoNotDone;
выполните все обычные определения для страницы 1;
убедитесь, что свойство GotoPage второй страницы оставлено пустым.
Установка свойства GotoMode в gmGotoNotDone активизирует свойство GotoPage после того,
как первая физическая страница отпечатается, но только когда определение текущей
страницы не завершится (например, EOF – конец файла). Так, по окончанию физической
страницы 1, начнется выполнение страницы 2. Поскольку определения страницы 2 имеет
пустым свойство GotoPage, определения страницы два останутся в силе, пока все оставшиеся
физические страницы не завершатся.
Упражнение 30: различные четные и нечетные страницы
Путь выполнения этого следующий:





сделайте секцию на первой странице, которая установите для границ нечетных
страниц. Например, установите свойства Left = 1.0, Width = 7.0, Top = 0.5 и Height =
10.0;
закончите все остальные обычные определения для страницы 1 в данной секции;
создайте новую страницу для определений;
бросьте секцию на страницу 2, и установите параметры для верхней и левой границ,
четных страниц. Например, Left = 0.5 и Top = 0.5;
установите свойство Mirror секции страницы 2 указывающим на секцию страницы 1;
104
User Guide



установите свойство GotoPage второй страницы указывающим на первую страницу;
установите свойство GotoPage первой страницы указывающим на вторую страницу;
установите свойство GotoMode обеих страниц в gmGotoNotDone.
Установка свойство GotoPage первой страницы в gmCallEach активирует свойство после
печати каждой физической страницы, но только пока определение текущей страницы не
закончено (например, EOF – конец файла). Так, по окончанию физической страницы 1,
начнется выполнение страницы 2, по окончанию физической страницы 2, начнется
выполнение страницы 1. Данный цикл будет продолжаться, пока одна из страниц не
закончится. Если в данной точке, управление должно быть передано другой странице,
используйте свойство компонент отчета PageList для выбора следующей страницы.
105
User Guide
20. Предпочтения
В данной главе


Показано, как вызвать диалог предпочтений
Объясняется каждая закладка диалога предпочтений
Вызов диалога предпочтений
Перед началом работы в Rave сделайте маленький перерыв и узнайте об управлении
поведением дизайнера RAVE. В основном меню, выберите «Edit», затем «Preferences». Это
откроет диалог предпочтений, где посмотрите и почувствуйте систему настройки RAVE.
Закладка Default
Закладка «Default», это место, где производится настройка параметров поведения
визуального дизайнера проекта RAVE и страниц. Установки в закладке «Default»
используются при создании нового проекта или страницы. После того, как проект будет
запущен, свойства проекта могут быть изменены на уровне Project и затем они будут
сохранены для данного проекта. Тот же относится к свойствам страниц. Например, проект
мог иметь сетку по умолчанию в 0,25 дюйма, но отдельной странице установка сетки может
быть изменена на 0.1 дюйма.
Закладка Designer
Закладка «Designer» управляет изменениями сетки, выравниванием, единицами измерений и
масштабирования.
«Zoom Increment» управляет коэффициентом изменения при операциях масштабирования в
компонентах или панели масштабирования.
Секция «Alignment Options» управляет видимостью кнопок Order и Tap. Она также управляет
«speed key», назначенной инструменту перемещения (Tap). «speed key» в действительности
лишь определяет расстояние, на которое компоненту разрешено перемещаться за одно
нажатие клавиши. Для использования данной возможности, выберите компонент и нажмите
любую из кнопок перемещения на панели. Или используйте стрелки на клавиатуре совместно
с нажатой клавишей Ctrl.
В области «Grid Settings», цвет сетки и другие связанные изменения могут быть применены к
странице отчета. «Snap To Grid» заставит курсор мыши перемещать и изменять размеры
компонент в единицах приращения Grid Spacing. Параметр «Draw Grid On Top» позволяет
сетке находиться поверх компонент, которые имею непрозрачный цвет фона. Для скрытия
сетки, снимите отметку с «Show Grid». Некоторыми из этих предпочтений можно управлять
из панели дизайнера. Более подробно о панели дизайнера и других панелях написано в главе
«8. Панели утилит».
«Waste Area» управляет видимостью между рамкой (красная линия из точек) и краем листа.
«Show Waste Area» показывает, прячет эту красную рамку вокруг страницы. Затем
следующие два выбора управляют шириной «Waste Area». «Waste Area» может быть
установлена по настройкам принтера по умолчанию, или может быть установлена вручную с
помощью полей ввода Left, Right, Top и Bottom.
В секции «Background Gradient», есть три цвета, которые создают область между страницей и
ее границами. Щелкните на колесе цвета и выберите желаемые цвета градации заливки фона.
106
User Guide
Для того, чтобы сделать фон однотонным, просто выберите тот же цвет для всех трех
составляющих.
Видимость панелей Order Alignment и Tap Tools управляется установками в секции Alignment
Options закладки Designer. Для перехода в эту секцию выберите пункт Preferences из меню
Edit и затем выберите закладку Designer.
Также в параметрах «Alignment Options», панель Tap имеет «speed key» назначенный ей. Этот
«speed key» в действительности лишь определяет расстояние, на которое компоненту
разрешено перемещаться за одно нажатие клавиши. Параметр «Tap Distance» изначально
установлен в 0,01 дюйма. Если эту дистанцию увеличить, то перемещение компонент
потребует меньше времени. Для использования данной возможности, выберите компонент и,
удерживая нажатой клавишу Ctrl, нажмите на одну из кнопок перемещения на панели. Или
используйте стрелки на клавиатуре совместно с нажатой клавишей Ctrl.
Закладка Environment
«Environment» содержит настройки для объема показываемой пользователю информации,
панелей и параметров среды страницы.
«User Level», это уровень пользователя, который можно повысить или снизить. Данная
настройка управляет объемом информации, который показывается пользователю, главным
образом, имеющим дело с различными свойствами, которые будут объяснены позже в этом
руководстве. Не отвлекайтесь сначала на различные расширенные свойства. Что бы
упростить работу с Rave на ранней стадии опыта, начните с уровня или Beginner User Level
(начальный) или Intermediate User Level (промежуточный). Пока начальный и
промежуточный уровни достаточны для разработки отчетов Rave, эти уменьшенный
установки скрывают некоторые органы управления. Таким образом, если есть элементы,
обсуждаемые здесь и они не видны в Rave, проверьте настройки уровня пользователя в
предпочтениях.
«Options» секция Environment, управляет заголовками полосок «Band», настройками среды и
линейками. «Always Show Band Headers» заголовки полос будут показаны все время. «Save
Environment Only Changes» сохраняет все изменения при выходе из программы. «Display
Rulers» делает видимыми линейки.
«Run in administrator mode» заставляет пользователя ввести пароль, если есть файл паролей.
Если данный параметр не установлен и есть файл паролей, пользователь не запрашивается
для ввода пароля, но программа запускается не в административном режиме. Администратор
может поместить пароль в различных местах для ограничения доступа. Установка пароля в
свойстве AdminPassword ограничивает доступ пользователя.
"Язык" изменяет язык интерфейса пользователя. Чтобы иметь этот выбор, языковые файловые
переводчики должны быть установлены. Как только установлено просто выбор язык.
«Language»
изменяет язык пользовательского интерфейса. Что бы иметь такую возможность,
должен быть установлен файл переводов. Если это установлено, просто выберите язык.
Закладка Shortcuts
Секция «Shortcuts» позволяет пользователю определить свои горячие клавиши, для широкого
спектра действий в проекте.
Это поможет сохранить Вам некоторое время, если Вы проверите список «Actions», что бы
увидеть, нет ли здесь горячей клавиши для задачи, которую Вы часто повторяете при
использовании дизайнера Rave designer. Если здесь нет горячей клавиши, то Вы можете ее
создать.
107
User Guide
Приложение A. Форматирование
Ниже приведен список различных кодов форматирования и как они влияют на вывод.
Алфавитно-цифровые элементы
Описание: DisplayFormat форматирует значение, с помощью форматной строки. Следующие
спецификаторы формата поддержаны для использования в форматной строке:
Пример: Форматная строка
123456.78
-123.0
0.5
0.0
#,##0.00
123,456.78
-123.00
0.50
0.00
#.#
123456.8
-123
.5
0
$,0.00
$123,456.78
$-123.00
$0.50
$0.00
0.00;(0.00);'-'
123456.78
(123.00)
0.50
-----
Спецификатор Представление
0
Место для одной цифры. Если форматируемое значение имеет в данном
месте цифру, то она будет скопирована в выходную строку, иначе в
данную позицию будет помещен '0'.
#
Место для одной цифры. Если форматируемое значение имеет в данном
месте цифру, то она будет скопирована в выходную строку, иначе эта
позиция останется пустой.
.
Разделитель дробной части. Первый символ '.' в форматной строке задает
позицию для разделителя. Подлинный символ, вставляемый в строку
результата, определяется посредством Number Format в панели
управления Windows.
,
Разделитель тысяч. Если форматная строка содержит символ ',', то
выходная строка будет делиться на группы по три цифры, слева от
десятичного разделителя. Подлинный символ, вставляемый в строку
результата, определяется посредством Number Format в панели
управления Windows.
E+
Научная нотация. Если любая из строк 'E+', 'E-', 'e+', или 'e-' содержится в
форматной строке, то число форматируется с использованием научной
нотации. Группа до четырех символов '0' может быть указана сразу за 'E+',
'E-', 'e+', или 'e-' для определения минимально количество цифр
экспоненты. 'E+' и 'e+' форматы используются знак плюса для вывода
положительных экспонент и знак минуса для отрицательных экспонент.
'E-' и 'e-' форматы добавляют знак минуса для отрицательных экспонент.
'xx'/"xx"
Символы, заключенные в одинарные или двойные кавычки копируются в
строку результата как есть, и не влияют на форматирование.
;
Разделитель секций для положительных, отрицательных и нулевых чисел
в форматной строке.
Положение самого левого нуля '0' перед десятичным разделителем форматной строки и
самого правого нуля после десятичного разделителя в форматной строке определяет диапазон
чисел, которые всегда присутствуют в выходной строке.
108
User Guide
Число перед форматированием всегда округляется по количеству десятичных позиций ('0'
или '#') справа от десятичного разделителя. Если форматная строка не содержит разделителя,
число округляется до ближайшего целого числа.
Если количество символов слева от десятичного разделителя превышает количество позиций
в форматной строке, слева от десятичного разделителя, то дополнительные цифры
добавляются перед первой позицией слева.
Можно определить различные форматы для положительных, отрицательных и нулевых чисел
в форматной строке, разделяя их с помощью символа ';'.
Первая секция:
Форматная строка для всех значений.
Вторая секция:
Первая секция определяет формат для положительных и нулевых
чисел, а вторая секция для отрицательных чисел.
Третья секция:
Первая секция определяет формат для положительных чисел, вторая
для отрицательных чисел, а третья для нулевых чисел.
Если секция для нулевых или отрицательных чисел пустая, то есть если даже есть
разделители секций, то все равно применяется секция для положительных чисел. Если секция
для положительных чисел пустая или вся форматная строка пустая, то для форматирования
используется общее форматирование для чисел с плавающей запятой и с точность в 15 цифр.
Элементы даты / времени
Для элементов типа даты или времени можно использовать следующие форматные коды.
Форматные спецификаторы не чувствительны к регистру символов. Если форматный
параметр пустой, то форматируется, как будто был применен спецификатор 'c'. Доступны
следующие спецификаторы:
Примеры: dddd, mmmm d, yyyy
d mmm yy
=>
Monday, September 21 1998
=>
21 Sep 98
Спецификатор
c
Вывод
Показывает дату, используя формат из глобальной переменной
ShortDateFormat. Время не отображается, если дробная часть DateTime
равна нулю.
d
Показывает день без ведущего нуля (1-31).
dd
Показывает день с ведущим нулем (01-31).
ddd
Показывает день, как аббревиатуру (Sun-Sat), используя строки из
глобальной переменной ShortDayNames.
dddd
Показывает полное название дня (Sunday-Saturday), используя строки из
глобальной переменной LongDayNames.
ddddd
Показывает дату, используя формат из глобальной переменной
ShortDateFormat.
dddddd
Показывает дату, используя формат из глобальной переменной
LongDateFormat.
m
Показывает месяц без ведущего нуля (1-12). Если вслед за
спецификатором следует спецификатор h или hh, то вместо месяца
показываются минуты.
mm
Показывает месяц с ведущим нулем (01-12). Если вслед за
109
User Guide
спецификатором следует спецификатор h или hh, то вместо месяца
показываются минуты.
mmm
Показывает месяц, как аббревиатуру (Jan-Dec), используя строки из
глобальной переменной ShortMonthNames.
mmmm
Показывает полное название месяца (January-December), используя строки
из глобальной переменной LongMonthNames.
yy
Показывает год, как двухзначный номер (00-99).
yyyy
Показывает год, как четырехзначный номер (0000-9999).
h
Показывает час без ведущего нуля (0-23).
hh
Показывает час с ведущим нулем (00-23).
n
Показывает минуты без ведущего нуля (0-59).
nn
Показывает минуты с ведущим нулем (00-59).
s
Показывает секунды без ведущего нуля (0-59).
ss
Показывает секунды с ведущим нулем (00-59).
t
Показывает время, используя формат из глобальной переменной
ShortTimeFormat.
tt
Показывает время, используя формат из глобальной переменной
LongTimeFormat.
am/pm
Показывает время, используя 12-часовой формат для спецификаторов h
или hh, и показывает 'am' для времени до полудня, и 'pm' для времени
после полудня. В спецификаторе am/pm можно использовать малые,
большие или смешанные буквы, но результат будет показан корректно.
a/p
Показывает время, используя 12-часовой формат для спецификаторов h
или hh, и показывает 'a' для времени до полудня, и 'p' для времени после
полудня. В спецификаторе am/pm можно использовать малые, большие
или смешанные буквы, но результат будет показан корректно.
ampm
Показывает время, используя 12-часовой формат для спецификаторов h
или hh, и показывает содержимое глобальной переменной TimeAMString
для времени до полудня, и TimePMString для времени после полудня.
"/"
Показывает разделитель даты, используя значение из глобальной
переменной DateSeparator.
:
Показывает разделитель времени, используя значение из глобальной
переменной TimeSeparator.
'xx'/"xx"
Символы, заключенные в одинарные или двойные кавычки копируются в
строку результата как есть, и не влияют на форматирование.
110
User Guide
Приложение B. Горячие клавиши
Ниже приведен список различных горячих клавиш, которые могут быть использованы.
Смотрите Preferences - Shortcuts для просмотра назначенных клавиш или назначения своих
собственных.
Дизайнер страниц или дерево проекта
Click
Right Click
Shift Alt Click
Shift Ctrl Click
Shift Click
Выбирает данный компонент
Показывает контекстное меню для данного компонента
Добавляет все компоненты того же типа, как компонент, на котором
щелкнули в список выбора текущей страницы дизайнера
Добавляет все подчиненные компоненты в список выбора
На компоненте переключает выбор данного компонента. Может
использоваться для выбора нескольких компонент.
Только дизайнер страниц
Click
Ctrl + Arrow Keys
Ctrl C / Ctrl Ins
Ctrl Click
Ctrl F4
Ctrl V / Shift Ins
Ctrl X / Shift Del
Delete
Escape
F9
F11
Shift + Arrow
Keys
На пустой области дизайнера страниц снимает отметку со всех
компонент
Перемещает выбранный компонент в направлении стрелки
Копирует выбранное в буфер обмена
Центрирует окно дизайна относительно выбранной позиции
Выгружает текущую глобальную страницу
Вставляет содержимое буфера обмена в страницу дизайнера
Вырезать в буфер обмена
Удалить текущие отмеченные компоненты
Смена выбора к хозяину текущего компонента
Выполняет текущий отчет
Переключает между страницами дизайнера и панелью свойств
Меняет размер выбранных компонент
Up
= уменьшение высоты,
Down = увеличение высоты,
Left
= уменьшение ширины,
Right = увеличение ширины
Только дерево проекта
Alt Drag
Alt Drag
Ctrl Drag
Ctrl Drag
Double Click
Double Click
DataField компонент на страницу дизайнера – создает текстовый
компонент
Выбранный компонент на контейнер компонента в дереве проекта –
создает компонент назначения (должен быть контейнером компонента
подобно секциям или регионам) - хозяин всех выбранных компонент
DataField компонент page designer - создает DataText компонент
компонент на страницу дизайнера - создает копию компонента
На узле глобальной страницы – загружает выбранную страницу в
дизайнер страниц
На узле отчета – активирует выбранный отчет
111
User Guide
Приложение C. Описание свойств
Список, приведенный ниже, показывает все свойства, в алфавитно-цифровом порядке,
составляющие системы RAVE. Свойства, определены по их типам, категориям, членам каких
компонент они являются, короткое описание и отношения с остальными свойствами.
Значение по умолчанию показываются, когда они применимы.
AllowSplit
По умолчанию
False
Компонент/Класс
Band, DataBand
Описание
Если установлено в True, то полоса (band) может переноситься на другие страницы.
Примечание:
Если полоса слишком большая, что бы разместиться на одной странице, ее можно разделить
на части, с переносом остатка на другую страницу.
AlwaysGenerate
По умолчанию
False
Компонент/Класс
Report
Описание
При установке в True, генерируется полный отчет, до посылки его на устройство вывода. Это
важно для страхования, что переменные отчета подобные TotalPages будут известны до
печати первой страницы.
Anchor
По умолчанию
Top / Left
Компонент/Класс
Все видимые компоненты
Описание
Определяет метод, который используется для выравнивания компонент по обоим
направлениям, по вертикали и горизонтали в области родителя.
См. также
ExpandParent
AutoSize
По умолчанию
True
112
User Guide
Компонент/Класс
Все компоненты штрих кодов
Описание
Когда установлен в true, размеры штрих кода автоматически подстраиваются для показа
всего кодированного текста.
См. также
Text
BandStyle
По умолчанию
‘None’
Компонент/Класс
Band, DataBand
Описание
Щелкните на эллипс в области BandStyle, это откроет диалоговое окно редактора, которое
позволяет установить поведение необходимое для выбранной полосы.
См. также
ControllerBand, Band Style Editor
BarCodeJustify
По умолчанию
pjLeft
Компонент/Класс
Все компоненты штрих кодов
Описание
Определяет, как печатается штрих код относительно его границ.



PjLeft
печатает штрих код с выравниванием влево.
PjCenter печатает штрих код с выравниванием по центру.
PjRight печатает штрих код с выравниванием вправо.
См. также
Center, Left, Right
BarCodeRotation
По умолчанию
Rot0
Компонент/Класс
Все компоненты штрих кодов
Описание
Позволяет поворачивать штрих код в одном из четырех направлений. Точка вращения левый
верхний угол штрих кода.


Rot0
Rot90
без поворота
поворот на 90 градусов относительно страницы
113
User Guide


Rot180
Rot270
поворот на 180 градусов относительно страницы
поворот на 270 градусов относительно страницы
См. также
Left, Top
BarHeight
По умолчанию
0.5 ( PostNet component 0.125 )
Компонент/Класс
Все компоненты штрих кодов
Описание
Устанавливает высоту полоски
См. также
BarWidth
BarTop
По умолчанию
0
Компонент/Класс
Все компоненты штрих кодов
Описание
Устанавливает положение верха штрих кода. Положение читаемого текста управляется
свойствами PrintReadable и PrintTop.
См. также
PrintReadable, PrintTop, Top
Bin
По умолчанию
Defaulr ( Windows system settings )
Компонент/Класс
Page
Описание
Указывает лоток подачи бумаги, используемый для документа.
См. также
Collate, Duplex, Orientation, PaperSize, Printer, Resolution
BorderColor
По умолчанию
Black
Компонент/Класс
Circle, Ellipse, Rectangle, Square
114
User Guide
Описание
Устанавливает цвет бордюра для графики.
См. также
FillColor
BorderStyle
По умолчанию
psSolid
Компонент/Класс
Circle, Ellipse, Rectangle, Square
Описание
Устанавливает стиль бордюра вокруг графического примитива.







PsClear
psDash
psDashDot
psDashDotDot
psDot
psInsideFrame
psSolid
без бордюра
создает бордюр из точек
создает альтернативный бордюр из точек и тире
создает бордюр из тире и двойных точек
создает бордюр из тире
создает бордюр внутри рамки закрытых примитивов
создает сплошной бордюр
Примечание:
Только стиль psSolid может иметь карандаш шире, чем 1.
См. также
BorderColor, BorderWidth
Bottom
По умолчанию
‘None’
Компонент/Класс
Все компоненты штрих кодов
Описание
Устанавливает позицию низа штрих кода. Это значение включает читаемый текст, если он
печатается.
См. также
PrintReadable, PrintTop
CalcType
По умолчанию
ctSum
Компонент/Класс
CalcText, CalcTotal
Описание
Устанавливает тип расчета, выполняемый CalcText над содержимым свойства DataField.
115
User Guide





CtAverage
CtCount
CtMax
CtMin
CtSum
среднее значение для поля данных
количество элементов
максимальное значение для поля данных
минимальное значение для поля данных
сумма поля
См. также
CountBlanks, RunningTotal
CalcVar
По умолчанию
‘ ‘ ( empty )
Компонент/Класс
CalcTotal
Описание
Определяет расчетный компонент, который используется в CalcType операции. Если это
свойство определено, то поле DataField не используется.
См. также
CalcType
Categories
По умолчанию
‘ ‘ ( empty )
Компонент/Класс
ProjectManager
Описание
Определяет категории отчета. Например, можно определить следующие категории
'Accounting', 'General', 'Status' и 'System'.
См. также
Cursor, DevLocked, Parameters
Category
По умолчанию
‘ ‘ ( empty )
Компонент/Класс
Report
Описание
Устанавливает категорию, к которой относится отчет. Например, Вы можете определить
следующие категории 'Accounting', 'General', 'Status' и 'System'.
См. также
Cursor, DevLocked, Parameters
116
User Guide
Center
По умолчанию
‘None’
Компонент/Класс
Все компоненты штрих кодов
Описание
Устанавливает или возвращает позицию горизонтального центра штрих кода. Когда значение
назначается Center свойству, то также устанавливается свойство BarCodeJustify в pjCenter.
См. также
BarCodeJustify, Left, Right
CodePage
По умолчанию
cpCodeA
Компонент/Класс
I128BarCode
Описание
Указывает, какой код, Code A, Code B или Code C будет использован.



cpCodeA устанавливает 128 вывод в Code A
cpCodeB устанавливает 128 вывод в Code B
cpCodeC устанавливает 128 вывод в Code C
Collate
По умолчанию
False
Компонент/Класс
Report
Описание
Устанавливает тип сортировки для задания печати отчета.
См. также
Bin, Duplex, Orientation, PaperSize, Printer, Resolution
Color
По умолчанию
Black
Компонент/Класс
Компоненты Line и text
Описание
Используется для установки цвета компонентов.
См. также
BorderColor, FillColor
117
User Guide
Columns
По умолчанию
1
Компонент/Класс
DataBand, Region
Описание
Определяет количество колонок, данное свойство зависит от компонента.
DataBand определяет, количество колонок для печати. Ширина каждой колонки определяется
делением ширины полосы, и прогресс распространяется в направлении слева направо перед
печатью следующей строки.
Region устанавливает количество колонок в регионе. Когда регион печатается то, он печатает
содержимое полос во всех колонках слева направо.
См. также
Columnspacing
ColumnSpacing
По умолчанию
0
Компонент/Класс
DataBand, Region
Описание
Определяет ширину промежутка между колонками. Это не применяется перед первой или
после последней колонки.
См. также
Columns
ConnectionName
По умолчанию
‘ ‘ ( empty )
Компонент/Класс
DataView
Описание
Устанавливает имя подключения данных, из которого будут поступать данные для отчета.
ContainsRTF
По умолчанию
False
Компонент/Класс
DataMemo
Описание
Указывает, содержит ли memo коды RTF или нет.
118
User Guide
Если ContainsRTF установлено в true, тогда вывод форматируется в соответствии с кодами
RTF, содержащимися в memo.
Controller
По умолчанию
‘ ‘ ( empty )
Компонент/Класс
CalcText, CalcTotal
Описание
Определяет компонент controller, который будет выполнять вычисления в свойстве CalcType ,
когда контроллер будет печататься. Обычно, контроллер завязан на конкретный просмотр и
будет оповещен когда новые данные будут доступны.
См. также
CalcType, ControllerBand, DataField, DataView, Initializer
ControllerBand
По умолчанию
‘ ‘ ( empty )
Компонент/Класс
Band, DataBand
Описание
Устанавливает контролирующий компонент band для текущих компонент Band или DataBand.
Например, стиль заголовка или подвала полосы должен назначить данные из DataBand, для
которых он действуют, как заголовок или подвал. Детальные полосы в стиле master-detail
отчета должны установить свои свойства ControllerBand к главному DataBand.
См. также
BandStyle, Controller
Copies
По умолчанию
1
Компонент/Класс
Report
Описание
Устанавливает количество копия отчета для печати.
См. также
Bin, Collate, Duplex, Orientation, PaperSize, Printer, Resolution
CountBlanks
По умолчанию
True
Компонент/Класс
CalcText, CalcTotal
119
User Guide
Описание
Данное свойство устанавливает, как компонент CalcText должен считать пустые поля в
расчетах типа ctAverage и ctCount.
См. также
CalcType
Cursor
По умолчанию
crDefault
Компонент/Класс
Все графическии
Описание
Определяет тип курсора, внутри выбранной зоны элемента.








crAppStart
crArrow
crCross
crDefault
crDrag
crHandPoint
crHelp
crHourGlass
См. также
Categories, DevLocked, Parameters
DataField
По умолчанию
‘ ‘ ( empty )
Компонент/Класс
Большинство компонент баз данных
Описание
Определяет тип данных, которые компонент обрабатывает или показывает. Содержимое
может быть именами полей данных, отчет переменные, параметры проекта или даже строки
констант в кавычках. Рекомендуется использование редактора DataText для построения
значения DataField.
См. также
DataView
DataView
По умолчанию
‘ ‘ ( empty )
Компонент/Класс
Большинство компонент баз данных
120
User Guide
Описание
Определяет представление, которое будет использоваться, если какое либо имя поля
назначено свойству DataField.
См. также
DataField
Description
По умолчанию
‘ ‘ ( empty )
Компонент/Класс
DataView, DataField, Page, Report
Описание
Определяет многострочное поле, которое будет описывать компонент. Это можно
использовать совместно со свойством FullName для документирования как использовать
компонент.
См. также
FullName, Name
DesignerHide
По умолчанию
False
Компонент/Класс
Band , DataBand
Описание
Это свойство управляет видимостью содержимого полосы (band) в дизайнере, уменьшает
«беспорядок» других полос, при установке данного свойства в true. Обратный показ
осуществляется установкой в false. Это может быть нужным, если есть много полос или
полоса, который занимает большое пространство.
Примечание:
Это не оказывает воздействия на печать, а только на показ в дизайнере страницы.
См. также
DevLocked
DestParam
По умолчанию
‘ ‘ ( empty )
Компонент/Класс
CalcOp, CalcTotal
Описание
Определяет параметр проекта, в который будет сохраняться результат вычисления. Это
значение может остаться пустым, если вычисление будет использоваться как промежуточный
результат для других компонент.
121
User Guide
См. также
DataField, Operator
DestPIVar
По умолчанию
‘ ‘ ( empty )
Компонент/Класс
Page, ProjectManager, Report
Описание
Инициализирует значение переменной PIVar (Post Initialize Variable). Любые PIVar с тем же
именем, покажут это значение, после печати. Обычно PIVar печатаются с помощью
редактора Data Text или компонента DataText. Основное различие между PIVar и
параметрами состоит в том, что PIVar используют значения, которое устанавливается после
PIVar (в порядке печати), тогда как параметры печатают значение, которое было установлено
перед печатью. Общее использование для PIVar это печать итогов на заголовках полос,
которые должна быть инициализирована позже в подвале полосы. Это работает даже через
множество страниц. Свойство Report.AlwaysGenerate должно быть установлено в true, если
Вы используете PIVar в вашем отчете.
См. также
AlwaysGenerate, Editor DataText, PIVars
DetailKey
По умолчанию
‘ ‘ ( empty )
Компонент/Класс
DataBand , DataCycle
Описание
Устанавливает ключевые поля для подчиненной таблицы, которые должны соответствовать
ключу главной таблицы в master-detail отчете. Множество полей должно быть объединено с
помощью символов «+».
См. также
MasterKey
DevLocked
По умолчанию
False
Компонент/Класс
Все компоненты
Описание
Блокирует возможность изменения свойств.
Можно использовать для предотвращения случайного изменения стабильной части отчета в
отчете со сложной структурой.
См. также
Categories, Cursor, DesignerHide, Parameters
122
User Guide
DisplayFormat
По умолчанию
‘ ‘ ( empty )
Компонент/Класс
CalcOp, CalcText, CalcTotal, All Numeric Field Types
Описание
DisplayFormat форматирует значение согласно форматной строки. Различные форматы
спецификаторов приведены в «Приложение A. Форматирование».
См. также
Приложение A. Форматирование
DisplayOn
По умолчанию
doParent
Компонент/Класс
Большинство компонент
Описание
Управляет, может ли использоваться компонент для просмотра, печати или в обоих случаях.




DoAll
doParent
doPreviewOnly
doPrinterOnly
показывает данный элемент и в просмотре и на печати
использует настройки владельца для DisplayOn
элемент может быть показан только при просмотре
элемент может быть показан только при печати
DisplayType
По умолчанию
dtNumericFormat
Компонент/Класс
CalcOp, CalcText, CalcTotal
Описание
Определяет, что содержимое представлять или в числовом или в формате даты/времени.
Свойство DisplayFormat обрабатывает или как числовое или в формате даты/времени в
зависимости от этой установки.


dtDateTimeFormat
dtNumericFormat
устанавливает формат даты/времени
устанавливает числовой формат
Duplex
По умолчанию
pdDefault
Компонент/Класс
Report
Описание
Устанавливает дуплексный режим для принтера.
123
User Guide




PdDefault
pdSimplex
pdHorizontal
pdVertical
используется текущий режим, (дуплексный режим не меняется)
симплексный режим (дуплексный режим не инициализируется)
инициализируется дуплексный режим - печать Head to Toe
инициализируется дуплексный режим - печать Head to Head
Примечание:
Не все принтеры поддерживают дуплексную печать.
См. также
Bin, Collate, Orientation, PaperSize, Printer, Resolution
ExpandParent
По умолчанию
True
Компонент/Класс
Memo
Описание
При установке в true, высота родителя memo увеличивается на ту же величину, что и высота
memo.
Примечание:
Для правильного порядка печати динамически изменяемых по размеру memo, установите
ExpandParent в true и также установите вертикальный якорь в stretch.
См. также
Anchor Editor, Anchor Property, DataMemo component
Extended
По умолчанию
False
Компонент/Класс
Code39BarCode
Описание
При установке в true, используется расширенный Code 39 формат вместо стандартного Code
39 формата.
FieldName
По умолчанию
‘ ‘ ( empty )
Компонент/Класс
Все компоненты данных баз
Описание
Определяет имя поля, откуда данный компонент будет получать данные.
124
User Guide
FileLink
По умолчанию
‘ ‘ ( empty )
Компонент/Класс
Bitmap, Metafile
Описание
Определяет имя файла, для инициализации битмапа или метафайла из файла на диске.
См. также
Image
FillColor
По умолчанию
White
Компонент/Класс
Circle, Ellipse, Rectangle, Square
Описание
Устанавливает цвет заполнения графических примитивов.
См. также
BorderColor, Color, FillStyle
FillStyle
По умолчанию
fsSolid
Компонент/Класс
Circle, Ellipse, Rectangle, Square
Описание
Устанавливает стиль, используемый для заполнения графического примитива. Используйте
панель заполнения для выбора нужного стиля или введите его из выпадающего списка.









fsBDiagonal
fsClear
fsCross
fsDiagCross
fsFDiagonal
fsHorizontal
fsNone
fsSolid
fsVertical
Примечание:
Установка FillStyle в fsClear установит FillColor в White.
См. также
BorderColor, Color, FillColor
125
User Guide
FinishNewPage
По умолчанию
False
Компонент/Класс
Band, DataBand
Описание
Очень подобен StartNewPage, но если установлен в True, то начинает новую страницу после
окончания печати полосы.
Примечание:
Свойство StartNewPage обычно используется на полосах заголовка, в то врем, как
FinishNewPage обычно используется в полосах подвала.
См. также
MaxRows, StartNewPage
FirstPage
По умолчанию
‘ ‘ ( empty )
Компонент/Класс
Report
Описание
Определяет первую страницу для печати отчета, если свойство PageList пустое.
См. также
GotoMode, GotoPage, PageList
Font
По умолчанию
System font
Компонент/Класс
Все текстовые компоненты
Описание
Определяет шрифт, который будет использован для рисования содержимого текстового
компонента.
См. также
FontJustify
FontJustify
По умолчанию
pjLeft
Компонент/Класс
Большинсто текстовых компонент
Описание
Устанавливает горизонтальное выравнивание текстовых данных.
126
User Guide




pjBlock
pjLeft
pjCenter
pjRight
выравнивание текста по блоку
выравнивание текста влево
выравнивание текста по центру
выравнивание текста вправо
FontMirror
По умолчанию
System font
Компонент/Класс
Большинсто текстовых компонент
Описание
Данное свойство указывает на компонент FontMaster, который используется для определения
шрифта. Установка данного свойства, как главного шрифта, перекрывает свойство Font.
См. также
Font
FullName
По умолчанию
‘ ‘ ( empty )
Компонент/Класс
DataField, DataView, Page, Report
Описание
Определяет полное имя или длинное имя элемента проекта. Полное имя является одной
строкой и может содержать специальные символы и пробелы.
См. также
Description, Name
GotoMode
По умолчанию
gmGotoDone
Компонент/Класс
Page
Описание
Данное свойство определяет поведение свойства GotoPage.
gmGotoDone переход в свойство GotoPage, когда определение страницы полностью
закончило печать. Может быть несколько физических страниц, если на странице есть
регионы.
gmGotoNotDone переход в свойство GotoPage после окончанию печати одной физической
страницы, только если определения текущей страницы еде не закончены печать. Данное
значение обычно нужно с зеркально отраженными секциями (четные и нечетные страницы,
различная первая страница, …).
gmCallEach вызов свойства GotoPage после печати каждой физической станицы в
зависимости определение страницы закончило печать или нет. Это полезно для вставки
127
User Guide
других страниц после печати каждой страницы. Управление возвращается на вызывающую
страницу, когда заканчивается цепочка (например, встретится пустое свойство GotoPage).
См. также
GotoPage, PageList
GotoPage
По умолчанию
‘ ‘ ( empty )
Компонент/Класс
Page
Описание
Определяет страницу, которая будет печататься после текущей страницы, в соответствии с
правилами в свойстве GotoMode.
См. также
GotoMode, PageList
GridLines
По умолчанию
5
Компонент/Класс
Page
Описание
Управляет, какие линии сетки будут видимы.
По умолчанию установлено 5, что означает показывать только каждую пятую линию сетки.
Если GridSpacing установлено в 0,1 дюйма, то это означает, что будут видны линии сетки
через каждые пол дюйма, но привязка к сетке будет с шагом 0,1 дюйма.
См. также
GridSpacing
GridSpacing
По умолчанию
0.1
Компонент/Класс
Page
Описание
Устанавливает дистанцию между линии сетки.
См. также
GridLines
GroupDataView
По умолчанию
‘ ‘ ( empty )
128
User Guide
Компонент/Класс
Band, DataBand
Описание
Определяет просмотр данный, который будет использоваться при расчете по GroupKey.
См. также
GroupKey
GroupKey
По умолчанию
‘ ‘ ( empty )
Компонент/Класс
Band, DataBand
Описание
Определяет поле (я), которые будут использоваться для расчета группового ключа.
Когда отчет использует заголовки или подвалы, свойство GroupKey используется для
определения, начала новой группы. Отдельные поля должны быть разделены символами «+».
См. также
GroupDataView
Height
По умолчанию
‘None’
Компонент/Класс
Все видимые компоненты
Описание
Определяет общую высоту компонента.
Для штрих кодов это свойство только для чтения, которое содержит полную высоту штрих
кода.
Если свойство штрих кода PrintReadable установлено в true, тогда свойство Height содержит
высоту штрих кода плюс высоту строки текущего шрифта.
См. также
BarHeight, PrintReadable
HRadius
По умолчанию
0
Компонент/Класс
Rectangle, Square
Описание
Управляет горизонтальным радиусом закруглений прямоугольника. Когда используется в
комбинации с VRadius, эти свойства закругляют углы прямоугольников или квадратов.
129
User Guide
См. также
VRadius
Image
По умолчанию
‘ ‘ ( empty )
Компонент/Класс
Bitmap, Metafile
Описание
Определяет рисунок, который будет печататься компонентом битмапа или метафайла.
См. также
FileLink
InitCalcVar
По умолчанию
‘ ‘ ( empty )
Компонент/Класс
CalcController
Описание
Когда этот компонент действует как инициализатор, он определяет расчетный компонент,
который используется как инициализирующее значение.
Если это свойство определено, InitDataField и InitValue игнорируются.
См. также
InitDataField, InitDataView, InitValue
InitDataField (CalcController)
По умолчанию
‘ ‘ ( empty )
Компонент/Класс
CalcController
Описание
Если свойство InitCalcVar пустое, тогда это свойство определяет поле данных или параметр
проекта, который используется как начальное значение для любых компонент,
использующих данный инициализатор.
Если это свойство определено, то InitValue игнорируется.
См. также
InitCalcVar, InitDataView, InitValue
InitDataField (PageNumInit)
По умолчанию
‘ ‘ ( empty )
Компонент/Класс
PageNumInit
130
User Guide
Описание
Определяет значение, которое является относительным номером, от которого начинается
отсчет, когда этот компонент начинает печататься.
Если текст не удастся конвертировать в целое число, то будет использовано значение по
умолчанию, равное 1.
См. также
InitDataView, InitValue
InitDataView
По умолчанию
‘ ‘ ( empty )
Компонент/Класс
CalcController, PageNumInit
Описание
Определяет просмотр по умолчанию DataView для свойства InitDataField.
См. также
InitDataField
Initializer
По умолчанию
‘ ‘ ( empty )
Компонент/Класс
CalcText, CalcTotal
Описание
Определяет компонент инциализатор. CalcController - обычно инциализатор, который
инициализирует расчет, когда инциализатор начинает печататься.
Инциализаторы полезны для установки вычисления в специфическую величину или для
инициализации его в ключевых точках в отчета.
См. также
Controller, CalcController
InitToFirst
По умолчанию
True
Компонент/Класс
DataBand, DataCycle
Описание
Перемещает DataSet в начало файла или на позицию первой записи.
См. также
ConnectionName
131
User Guide
InitValue (CalcController)
По умолчанию
0
Компонент/Класс
CalcController
Описание
Если свойства InitCalcVar и InitDataField пусты, тогда оно определяет константу, которая
будет использована как начальное значение для любых компонентов, для которых этот
инициализатор.
См. также
InitCalcVar, InitDataField, InitDataView
InitValue (PageNumInit)
По умолчанию
1
Компонент/Класс
PageNumInit
Описание
Определяет значение, которое будет относительным номером страницы, с которого начнется
отсчет, когда этот компонент будет печататься. Только переменная отчета RelativePage (не
CurrentPage), отразит новый номер страницы.
См. также
InitDataField, InitDataView
KeepBodyTogether
По умолчанию
False
Компонент/Класс
DataBand
Описание
Если данное свойство true, то полоса данных попытается сохранять полосу от заголовка
содержимого до подвала содержимого на той же странице.
См. также
KeepRowTogether, OrphanRows, WidowRows
KeepRowTogether
По умолчанию
False
Компонент/Класс
DataBand
Описание
Если данное свойство true, то полоса данных попытается сохранять полосу от заголовка
строки до подвала строки на той же странице.
132
User Guide
См. также
KeepBodyTogether, OrphanRows
Left
По умолчанию
‘None’
Компонент/Класс
Все видимые компоненты
Описание
Устанавливает позицию левого края компоненты.
См. также
Top, Width
LineStyle
По умолчанию
psSolid
Компонент/Класс
Все компоненты линий
Описание
Устанавливает стиль линии.
 PsClear
 psDash
 psDashDot
 psDashDotDot
 psDot
 psInsideFrame

psSolid
линия не рисуется
создает линию из точек
создает альтернативную линию из точек и тире
создает альтернативную линию из двойных точек и тире
создает точечный карандаш
создает карандаш, который рисует линии внутри кадра или
закрытого примитива
создает непрерывную линию
Примечание:
Только psSolid может иметь ширину карандаша более одного пикселя.
См. также
BorderStyle, BorderWidth, LineWidth
LineWidth
По умолчанию
1
Компонент/Класс
Drawing
Описание
Устанавливает ширину линии. Единицы для толщины этой линии управляются свойством
LineWidthType. Ширина линии больше, чем 1 пиксель может быть использована только для
непрерывных линий.
133
User Guide
См. также
LineStyle, LineWidthType
LineWidthType
По умолчанию
wtPixels
Компонент/Класс
Drawing
Описание
Определяет, является ли свойство LineWidth графических примитивов мерой измерения в
пикселях или пунктах. Используйте пиксели и ширину линии в 1, если нужна максимально
возможно тонкая линия.
Также используйте пункты для всех других значений LineWidth для обеспечения одинаковой
толщины на всех устройствах.


WtPixels
LineWidth измеряется в пикселях
WtPoints
LineWidth измеряется в пунктах
(1 пункт = 1/72 дюйма)
См. также
LineWidth
Locked
По умолчанию
False
Компонент/Класс
Все компоненты
Описание
Управляет состоянием выбранного компонента (компонентов) и всех его детей (если
имеются). Если true, тогда свойства не могут быть выбраны или изменены.
Цвет имен свойств и маркеры (если выбрано), будут красного цвета, когда эта свойство true.
Примечание:
Это может быть использовано для замораживания части проекта страницы, чтобы его нельзя
было случайно переместить, при разработке другой части отчета.
LookupDataView
По умолчанию
‘ ‘ ( empty )
Компонент/Класс
DataText
Описание
Указывает просмотр, который будет использоваться в качестве справочника.
См. также
DataField, LookupDisplay, LookupField, LookupInvalid
134
User Guide
LookupDisplay
По умолчанию
‘ ‘ ( empty )
Компонент/Класс
DataText
Описание
Определяет поле в LookupDataView, которое будет отображено в отчете после поиска в
справочнике.
См. также
DataField, LookupDataField, LookupField, LookupInvalid
LookupField
По умолчанию
‘ ‘ ( empty )
Компонент/Класс
DataText
Описание
Определяет поле (поля) в LookupDataView, по которому будет сравниваться значение поля,
определенное в DataField. Как только значение будет обнаружено, значение из LookupDisplay
будет показано в отчете.
См. также
DataField, LookupDataField, LookupDisplay, LookupInvalid
LookupInvalid
По умолчанию
‘ ‘ ( empty )
Компонент/Класс
DataText
Описание
Определяет текст, который будет отображен, если поиск не увенчается успехом для текущего
значения DataField в LookupDataView.
См. также
DataField, LookupDataField, LookupField, LookupField
MailMergeItems
По умолчанию
‘ ‘ ( empty )
Компонент/Класс
Все memo компоненты
Описание
Загружает токены и заменяет текстовые данные элементов, которые будут использованы в
поиске и замене в течение сеанса автоматического составления писем.
135
User Guide
См. также
«Компонент DataMemo»
MasterDataView
По умолчанию
‘ ‘ ( empty )
Компонент/Класс
DataBand, DataCycle
Описание
Определяет DataView, который будет использоваться при расчете из свойства MasterKey.
См. также
DetailKey, MasterKey
MasterKey
По умолчанию
‘ ‘ ( empty )
Компонент/Класс
DataBand, DataCycle
Описание
Определяет главное поле (поля) для отчета в стиле master-detail. Содержимое поля MasterKey
будет сравниваться на соответствие со свойством DetailKey, для установления отношения
master-detail с подчиненной таблицей. При указании нескольких полей используйте символ
«+» для объединения полей.
См. также
DetailKey, MasterDataBand
MatchSide
По умолчанию
msWidth
Компонент/Класс
Bitmap, Metafile
Описание
Определяет метод, который битмап или метафайл будут использовать при изменения
размера, чтобы менять размеры самого себя.
MsBoth
образ будет соответствовать как проектной ширине так и высоте.
MsHeight
образ будет соответствовать проектной высоте, и подстраивать ширину для
сохранения правильных пропорций.
MsInside
образ будет нарисован пропорционально внутри назначенной области.
MsWidth
образ будет соответствовать проектной ширине, и подстраивать высоту для
сохранения правильных пропорций.
См. также
Height, Width
136
User Guide
MaxRows
По умолчанию
0
Компонент/Класс
DataBand, DataCycle
Описание
Определяет максимальное количество строк, которые будут отпечатаны для полосы данных.
Значение 0 означает, что будут отпечатаны все доступные строки в просмотре.
См. также
StartNewPage
MinHeightLeft
По умолчанию
0
Компонент/Класс
Band
Описание
Определяет минимальную высоту, которая должна остаться в регионе прежде, чем эта полоса
напечатается. Если значение MinHeightLeft больше, чем оставшаяся высота в регионе, тогда
полоса будет напечатана на следующей странице.
См. также
Region
Mirror
По умолчанию
‘ ‘ ( empty )
Компонент/Класс
Все компоненты
Описание
Вызовется на текущий компонент для зеркального отражения (дубликат) свойств компонента
введенных из списка.
См. также
Global Page
Module
По умолчанию
Еще нет
Компонент/Класс
Page
Описание
Данное свойство пока не реализовано.
137
User Guide
См. также
Description, FullName
Name
По умолчанию
‘None’
Компонент/Класс
Все компоненты
Описание
Определяет имя компонента. Используйте свойство Name, для назначения нового имени. По
умолчанию Rave назначает последовательные имена, базирующиеся на типе компонента,
например, такие как 'Rectangle1', 'Rectangle2', и так далее. Измените его на более значимое,
что сделает код удобочитаемым. Имя не должно содержать пробелов или специальных
символов. Это - имя, которое будет использовано на панели дерева проекта.
См. также
Description, FullName
NullText
По умолчанию
‘ ‘ ( empty )
Компонент/Класс
DataField
Описание
Устанавливает имя, которое будет печататься, если значение DataField пустое.
См. также
DataField, TextFalse, TextTrue
Operator
По умолчанию
coAdd
Компонент/Класс
CalcOp
Описание
Определяет тип операции, которая будет выполнена над двумя исходными значениями.
Результат этого вычисления может быть помещен в параметр проекта, используя свойство
или использоваться в других вычислениях как компонент CalcVar.







coAdd
coAverage
coDiv
coExp
coGreater
coLesser
coMod
устанавливает операцию Source1 + Source2
устанавливает операцию (Source1 + Source2) / 2.0
устанавливает операцию Source1 / Source2
устанавливает операцию Source1 в степени Source2
устанавливает операцию большее из Source1 и Source2
устанавливает операцию меньшее из Source1 и Source2
устанавливает операцию Source1 mod Source2
138
User Guide


coMul
coSub
устанавливает операцию Source1 * Source2
устанавливает операцию Source1 - Source2
См. также
DestParam, ResultFunction, Src1Xxxxx, Src2Xxxxx
Orientation
По умолчанию
poDefault
Компонент/Класс
Page
Описание
Устанавливает ориентацию для страницы в портретную или альбомную. Значение poDefault
использует установку по умолчанию принтера, для определения ориентации.
См. также
Bin, Collate, Duplex, PaperSize, Printer, Resolution
OrphanRows
По умолчанию
0
Компонент/Класс
DataBand
Описание
Устанавливает минимальное количество строк, которые могут быть самими по себе внизу
страницы. По умолчанию значение 0 допускает разорванные строки (1 строка внизу
страницы).
См. также
KeepBodyTogether, KeepRowTogether, WidowRows
PageHeight
По умолчанию
11
Компонент/Класс
Page
Описание
Определяет высоту страницы. Нормально эта свойство будет модифицировано через
свойство PaperSize.
См. также
PageWidth, PaperSize
PageList
По умолчанию
‘ ‘ ( empty )
139
User Guide
Компонент/Класс
Report
Описание
Определяет список страниц, чтобы печататься при выполнении отчета. Если никакие
страницы не определены в PageList, тогда отчет начнет печать со значения, определенного в
свойстве FirstPage.
См. также
FirstPage , Batch Report example on page 151
PageWidth
По умолчанию
‘ ‘ ( empty )
Компонент/Класс
Page
Описание
Определяет ширину страницы. Нормально эта свойство будет модифицировано через
свойство PaperSize.
См. также
PageHeight, PaperSize
PaperSize
По умолчанию
"Letter, 8 ½ by 11 inches"
Компонент/Класс
Page
Описание
Обеспечивает метод, для выбора размера бумаги, использованный для узла отчета. Выберите
один из узлов отчета, панель свойств покажет свойства доступные на уровне отчета.
Выберите PaperSize, и здесь будет выпадающий список, где можно выбрать размер бумаги.
Примечание:
Все страницы в пределах отчета должны быть одного размера. Если они разные, то первая
отпечатанная страница определит размер для всех остальных страниц для данного отчета.
См. также
Orientation, PageHeight, PageWidth
Parameters
По умолчанию
‘ ‘ ( empty )
Компонент/Класс
Page, ProjectManager, Report
Описание
Позволяет параметрам, быть доступными в проекте, отчете и уровне страницы.
140
User Guide
Параметры могут быть использованы для печати данных, переданных из приложения
(например, ReportTitle или UserName) или для записи вычисленных результатов. Параметры
могут быть напечатаны, с помощью редактора Data Text компонента DataText.
См. также
Editor DataText, DestParam, DestPIVar, PIVars
PIVars
По умолчанию
‘ ‘ ( empty )
Компонент/Класс
Page, ProjectManager, Report
Описание
Позволяет определить PIVars (Post Initialize Variables) в проекте, отчете и на уровне
страницы.
PIVars инициализируются с помощью свойства DestPIVar вычислительных компонент. PIVars
нормально печатаются с помощью редактора DataText. Основное различие между PIVars и
параметрами, это то, что PIVars использует значение, которое устанавливается после (в
порядке распечатки), тогда как параметры печатают значения, которые устанавливаются
перед. Общее использование для PIVars это печатать итогов на заголовках полосы, которая
будет инициализирована позже на полосе нижнего колонтитула.
Это работает даже через множество страниц. Report.AlwaysGenerate должен быть установлен
в true, если Вы используете PIVars в вашем отчете.
См. также
AlwaysGenerate, DestPIVar, Parameters, DataText
PositionMode
По умолчанию
pmOffset
Компонент/Класс
Band, DataBand
Описание
Определяет, как позиция данной полосы будет измеряться относительно предыдущей
отпечатанной полосы.



PmAbsolute
PmOffset
PmOverlay
дистанция измеряется относительно верха региона
дистанция измеряется относительно последней полосы
не учитывает позицию последней полосы
См. также
PositionValue
PositionValue
По умолчанию
0
141
User Guide
Компонент/Класс
Band, DataBand
Описание
Устанавливает начальную позицию этой полосы, основываясь на установке свойства
PositionMode. Если установка - pmAbsolute, то начальная позиция измеряется от верха
контролируемого региона для этой полосы. Если установка - pmOffset, тогда дистанция
измеряется от низа последней отпечатанной полосы. PmOverlay - действует подобно
pmOffset, тем не менее, это не учитывает последнею отпечатанную полосу.
См. также
PositionMode
PrintChecksum
По умолчанию
‘None’
Компонент/Класс
Все компоненты штрих кодов
Описание
Определяет, включает ли читаемый текст контрольный символ.
Примечание:
Возможно, что символ контрольной суммы может оказаться непечатным символом с
некоторыми типами штрих кода.
См. также
BarTop, UseChecksum
Printer
По умолчанию
‘ ‘ ( empty )
Компонент/Класс
Report
Описание
Определяет принтер, на который будет печататься отчет. Оставьте это поле пустым для
печати на принтер по умолчанию.
См. также
Bin, Collate, Duplex, Orientation, PaperSize, Resolution
PrintReadable
По умолчанию
True
Компонент/Класс
Все компоненты штрих кодоу, исключая UPC
Описание
Установка этого свойства в false, запрещает печать читаемого текста совместно со штрих
кодом.
142
User Guide
Примечание:
Для UPC штрих кодов, текст всегда печатется.
См. также
PrintTop, TextJustify
PrintTop
По умолчанию
False
Компонент/Класс
Все компоненты штрих кодов
Описание
Установите это свойство в true, чтобы разрешить печатаемый текст печатать вверху штрих
кода. Значение false означает, что печатаемый текст будет напечатан ниже штрих кода. Это
свойство не имеет эффект при печати кодов UPC, поскольку текст UPC всегда печатается
внизу штрих кода.
См. также
PrintReadable, TextJustify
ReprintLocs
По умолчанию
(ALL)
Компонент/Класс
Band, DataBand
Описание
Определяет, что бы печать полосы независимо начиналась на новой странице. Когда
установлено, что бы полоса печаталась на новой странице, тип полосы, который вызывал
переход на новую страницу, будет сверен с типом полосы в свойства ReprintLocs. Если тип
полосы обнаружен в ReprintLocs, тогда полоса будет печататься на новой странице.
См. также
BandStyle
Resolution
По умолчанию
prDefault
Компонент/Класс
Report
Описание
Определяет разрешение для задания печати.





prDefault
prDraft
prHigh
prLow
prMedium
143
User Guide
См. также
Bin, Collate, Duplex, Orientation, PaperSize, Printer
ResultFunction
По умолчанию
cfNone
Компонент/Класс
CalcOp
Описание
Определяет функцию, которая будет приложена к результату вычисления после того, как
действие будет выполнено.


























cfAbs
cfArcTan
cfCos
cfDec
cfFrac
cfHoursToTime
cfInc
cfMinsToTime
cfNeg
cfNone
cfPercent
cfRandom
cfRound
cfRound1
cfRound2
cfRound3
cfRound4
cfRound5
cfSecsToTime
cfSin
cfSqr
cfSqrt
cfTimeToHours
cfTimeToMins
cfTimeToSecs
cfTrunc
абсолютное значение
арктангенс, значения в радианах
косинус, значения в радианах
значение - 1
дробная часть значения
преобразовывает часы в DateTime формат
значение + 1
преобразовывает минуты в DateTime формат
значение * -1
значение не изменяется
значение, умноженное на 100
случайное значение в диапазоне от 0 и до значения
округление до ближайшего целого
округление до одного десятичного знака после запятой
округление до двух десятичных знаков после запятой
округление до трех десятичных знаков после запятой
округление до четырех десятичных знаков после запятой
округление до пяти десятичных знаков после запятой
преобразовывает секунды в DateTime формат
синус, значения в радианах
возведение в квадрат
корень квадратный
преобразовывает из DateTime формата в часы
преобразовывает из DateTime формата в минуты
преобразовывает из DateTime формата в секунды
целая часть значения
См. также
DestParam
144
User Guide
Right
По умолчанию
‘None’
Компонент/Класс
Все компоненты штрих кодов
Описание
Устанавливает или возвращает позицию правого края штрих кода. Когда значение
назначается Right, то одновременно устанавливает свойство BarCodeJustify в pjRight.
См. также
BarCodeJustify, Center, Left
Rotation
По умолчанию
0
Компонент/Класс
CalcText, DataText, Text
Описание
Определяет вращение выбранного текстового компонента в градусах. Текст вращается по
часовой стрелке в диапазоне значений от 0 до 359.
См. также
BarCodeRotation
RunningTotal
По умолчанию
False
Компонент/Класс
CalcText, CalcTotal
Описание
Определяет должен ли бегущий итог сохраняться после печати при переходе на новую
страницу.
False означает, НЕТ, и значение сбрасывается в 0 каждый раз после печати.
True означает, ДА, и значение сохраняется и продолжает наращивать итоги после печати.
См. также
CalcType, CountBlanks
Size
По умолчанию
‘None’
Компонент/Класс
DataField
145
User Guide
Описание
Определяет ширину в символах области данных. Это нормально использовать во время
разработки, при операциях перемещения и бросания (drag and drop) компоненты DataText,
для определения приблизительной ширины, которая потребуется при печати компонента.
SortKey
По умолчанию
‘ ‘ ( empty )
Компонент/Класс
DataBand, DataCycle
Описание
Определяет поле (поля), которые будут переданы подключению данных для сортировки.
Разделяйте отдельные поля символами «+».
Примечание:
Основная база данных должна поддержать поля, переданные как ключ сортировки.
Src1CalcVar
По умолчанию
‘ ‘ ( empty )
Компонент/Класс
CalcOp
Описание
Определяет расчетный компонент, который будет использоваться как источник первого
операнда для вычислительной операции. Если это свойство определено, то Src#DataField и
Src#Value будут проигнорированы.
См. также
Src#DataField, Src#DataView, Src#Function, Src#Value
Src1DataField
По умолчанию
‘ ‘ ( empty )
Компонент/Класс
CalcOp
Описание
Если Src#CalcVar пустое, определяет поле данных для использования как первый источник
значения для расчетной операции. Если это свойство определено, то Src#Value будет
игнорировано.
См. также
Src#CalcVar, Src#DataView, Src#Function, Src#Value
Src1DataView
По умолчанию
‘ ‘ ( empty )
146
User Guide
Компонент/Класс
CalcOp
Описание
Определяет просмотр по умолчанию, который будет использован для свойства Src#DataField.
См. также
Src#DataField
Src1Function
По умолчанию
cfNone
Компонент/Класс
CalcOp
Описание
Определяет функцию, которая будет выполняться на источнике значения перед выполнением
операции вычисления.
Примечание:
Смотри ResultFunction (для списка констант).
См. также
Src#CalcVar , Src#DataField , Src#Value
Src1Value
По умолчанию
0
Компонент/Класс
CalcOp
Описание
Если свойства Src#CalcVar и Src#DataField пустые, то определяет константное значение,
которое будет использоваться, источник первого значения для выполнения вычислительной
операции.
См. также
Src#CalcVar, Src#DataField, Src#Function
Src2CalcVar
По умолчанию
‘ ‘ ( empty )
Компонент/Класс
CalcOp
Описание
Определяет расчетный компонент, который будет использоваться как источник второго
операнда (Примечание переводчика: в оригинале первого, поправлено и для других Src2
свойств) для вычислительной операции. Если это свойство определено, Src#DataField и
Src#Value будут проигнорированы.
147
User Guide
См. также
Src#DataField, Src#DataView, Src#Function, Src#Value
Src2DataField
По умолчанию
‘ ‘ ( empty )
Компонент/Класс
CalcOp
Описание
Если Src#CalcVar пустое, определяет поле данных для использования как второй источник
значения для расчетной операции. Если это свойство определено, то Src#Value будет
игнорировано.
См. также
Src#CalcVar, Src#DataView, Src#Function, Src#Value
Src2DataView
По умолчанию
‘ ‘ ( empty )
Компонент/Класс
CalcOp
Описание
Определяет просмотр по умолчанию, который будет использован для свойства Src#DataField.
См. также
Src#DataField
Src2Function
По умолчанию
cfNone
Компонент/Класс
CalcOp
Описание
Определяет функцию, которая будет выполняться на источнике значения перед выполнением
операции вычисления.
Примечание:
Смотри ResultFunction (для списка констант).
См. также
Src#CalcVar , Src#DataField , Src#Value
Src2Value
По умолчанию
0
Компонент/Класс
CalcOp
148
User Guide
Описание
Если свойства Src#CalcVar и Src#DataField пустые, то определяет константное значение,
которое будет использоваться, источник второго значения для выполнения вычислительной
операции.
См. также
Src#CalcVar, Src#DataField, Src#Function
Tag
По умолчанию
nil
Компонент/Класс
Все компоненты
Описание
Тег не имеет определенного назначения, для Rave. Свойство Tag предоставлено для удобства
хранения дополнительных целых значений или указателей для особых потребностей в
приложении. Например, используйте свойство Tag при выполнении инструкции case в
компоненте.
Text
По умолчанию
‘None’
Компонент/Класс
Текстовые компоненты и компоненты штрих кодов
Описание
Для штрих кодов не включайте контрольный символ. Контрольный символ рассчитывает
автоматически и печатается согласно состоянию свойству UseChecksum.
Примечание:
Для штрих кодов, любые недопустимые символы удаляются из свойства перед назначением.
См. также
Font , FontJustify
TextFalse
По умолчанию
‘ ‘ ( empty )
Компонент/Класс
BooleanField
Описание
Определяет, что значение логического поля FALSE. Пустое значение этого свойства
напечатает текст "False".
См. также
TextTrue
149
User Guide
TextJustify
По умолчанию
pjCenter
Компонент/Класс
Все компоненты штрих кодов
Описание
Определяет, как читаемый текст должен выравниваться относительно штрих кода.
 pjBock выравнивание текста по границам

pjLeft

pjCenter выравнивание текста по центру

pjRight
выравнивание текста влево
выравнивание текста вправо
См. также
PrintReadable, PrintTop, Text
TextTrue
По умолчанию
‘ ‘ ( empty )
Компонент/Класс
BooleanField
Описание
Определяет, что значение логического поля TRUE. Пустое значение этого свойства
напечатает текст "True".
См. также
TextFalse
Top
По умолчанию
‘None’
Компонент/Класс
Все видимые компоненты
Описание
Устанавливает или возвращает позицию верхнего края компонента. Для штрих кодов,
значение этого свойства включает читаемый текст, если он печатается.
См. также
BarTop, Left, PrintReadable, PrintTop
Truncate
По умолчанию
False для CalcText и Text, True для DataText
Компонент/Класс
CalcText, DataText, Text
150
User Guide
Описание
Когда установлено в true, текст обрезается по границе свойства Width, определенной в
дизайнере данного компонента. Если свойство равно false, тогда весь текст будет печататься
без учета свойства width.
См. также
Width
Units
По умолчанию
unInch
Компонент/Класс
Project
Описание
Устанавливает значения единиц измерения по умолчанию для данного проекта. Если
установлено в unUser, тогда коэффициент определяется значением в UnitsFactor.





unCM
unInch
unMM
unPoint
unUser
единицы в сантиметрах
единицы в дюймах
единицы в миллиметрах
единицы в пунктах (1/72 дюйма)
пользовательские единицы, определяются в UnitsFactor
См. также
UnitsFactor
UnitsFactor
По умолчанию
1.0
Компонент/Класс
Project
Описание
Устанавливает или возвращает текущий коэффициент преобразования, необходимый для
преобразования единиц в дюймы. Это значение должно быть равно количеству единиц в
одном дюйме. (unCM = 2,54 поскольку 2,54 сантиметра равны одному дюйму)
См. также
Units
UseCheckSum
По умолчанию
False (Code128 := true)
Компонент/Класс
Все компоненты штрих кодов
Описание
Указывает должен ли включаться контрольный символ штрих код.
151
User Guide
См. также
BarHeight, BarWidth, PrintReadable, Text, Width
VRadius
По умолчанию
0
Компонент/Класс
Rectangle , Square
Описание
Управляет вертикальным радиусом углов прямоугольника. Когда используется в комбинации
с HRadius, этим свойства закругляют углы прямоугольников или квадратов.
См. также
HRadius
WasteFit
По умолчанию
True
Компонент/Класс
Page, Section
Описание
Если true, компоненты на странице или в секции будут динамически подстраивать себя для
размещения внутри границ непечатной области принтера. Если компонент не размещен
внутри непечатной области, но выравнивание применяется к его родителю, если он попадает
в непечатную область.
Важно, что бы компоненты (внутри страницы или секции) использовали свойство Anchor, что
бы они могли подстроиться под изменения границ.
См. также
Anchor, Anchor Editor, PageHeight, PageWidth, PaperSize
WideFactor
По умолчанию
3.0
Компонент/Класс
Все компоненты штрих кодов
Описание
Фактор ширины это коэффициент ширины широкой полоски к узкой полоске.
См. также
BarHeight, BarWidth, Width
WidowRows
По умолчанию
0
152
User Guide
Компонент/Класс
DataBand
Описание
Устанавливает минимальное количество строк, которые могут быть на верху следующей
страницы. По умолчанию значение 0, что допускает висячих строки.
См. также
KeepBodyTogether, KeepRowTogether, OrphanRows
Width
По умолчанию
‘None’
Компонент/Класс
Все компоненты
Описание
Устанавливает ширину компонента. Для штрих кодов, это возвращает рассчитанную ширину
полного штрих кода для текущего значения Text.
См. также
BarWidth, Height, Left, Text, WideFactor
WidthType
По умолчанию
wtPixels
Компонент/Класс
Drawing components
Описание
Определяет, как рассчитывает ширина линий. Обычно wtPixels и ширина линии в 1 пиксель
должна быть установлена для получения максимально тонкой линии (обычно называется как
hairline). Тип ширины wtPoints должен использоваться для всех строк свыше одного пикселя
для обеспечения подробности между устройствами с различными DPI разрешениями
(например, принтер или просмотр). Когда используется wtPoints, ширина линий выражается в
пунктах (72 пункта на дюйм).
См. также
BorderWidth, LineWidth
153
Download