Manual Report Designer List Label
Manual Report Designer List Label
The
software described in this documentation is provided on the basis of the combit GmbH license
agreement.
Neither this manual nor any part of it may be hard copied or stored in any other way (e.g.
digitally) without the express written consent of combit GmbH. All references to personal or
company names in this handbook are, as far as could be determined, purely fictitious. Any
similarities are unintentional. Avery and all Avery brands, product names and codes are
trademarks of Avery Dennison Corporation.
Table of Contents
1. Introduction.............................................................................................. 7
1.1 General ...................................................................................................... 7
1.2 Help Functions........................................................................................... 8
2. General Methods and Procedures ......................................................... 10
2.1 The Designer Interface ............................................................................ 10
2.1.1 Dockable and Floating Tool Windows and Toolbars....................... 10
2.1.2 Toolbars .......................................................................................... 12
2.1.3 Object Bar ....................................................................................... 12
2.1.4 Toolbar ............................................................................................ 12
2.1.5 Context menu ................................................................................. 12
2.1.6 Status Bar........................................................................................ 12
2.1.7 Workspace ...................................................................................... 13
2.1.8 Variable List..................................................................................... 15
2.1.9 Layers Window ............................................................................... 16
2.1.10 Objects Window ........................................................................... 16
2.1.11 Report Structure............................................................................ 17
2.1.12 Preview ......................................................................................... 17
2.1.13 Properties Window ....................................................................... 17
2.1.14 Using the Keyboard....................................................................... 19
2.1.15 Drag & Drop................................................................................... 19
2.2 Exiting the Designer ................................................................................ 20
2.3 Variables, Formulas and Expressions ...................................................... 20
2.3.1 The Elements of an Expression ...................................................... 20
2.3.2 Insert variables ................................................................................ 23
2.3.3 Insert fixed text ............................................................................... 24
2.3.4 Inserting Comments ....................................................................... 26
2.4 Working with Functions........................................................................... 26
2.4.1 Function Syntax .............................................................................. 28
2.4.2 Value Types..................................................................................... 29
2.4.3 Examples for the Use of Functions................................................. 29
2.4.4 Insert logical condition.................................................................... 31
2.4.5 Formatting....................................................................................... 32
2.5 Operators................................................................................................. 35
2.5.1 Relational Operators ....................................................................... 37
2.5.2 Arithmetic Operators ...................................................................... 37
2.5.3 Logical Operators............................................................................ 38
2.6 Working with Sum Variables.................................................................... 38
2.6.1 Defining Sum Variables................................................................... 38
2.6.2 Using Sum Variables ....................................................................... 40
2.7 Working with User Variables ................................................................... 40
2.8 Using Filters............................................................................................. 40
2.8.1 Record Filters .................................................................................. 40
2.8.2 Project Specific Filters for Records................................................. 40
3
Table of Contents
4
Table of Contents
5
Table of Contents
6
General
1. Introduction
With the List & Label Designer, you can create or edit output forms which are used
to present information taken either from a database or other data source.
The designer, print preview and export dialog are generally opened from within an
application with a menu item (e.g. Configuration > Print > Labels or Output > Mail
Merge > Labels).
1.1 General
The List & Label Designer considers output forms to be "projects". In a project, you
will find all actual layout information, as well as the layout details including page size
and orientation, fonts, colors, frames, circles, lines, pictures etc. if relevant to the
project.
The List & Label Designer recognizes three types of projects - lists, labels, and cards
(often complex label projects).
The individual elements of a project are called "objects". In this manner, a label
project can, for example, consist of an object for the sender line, the address area,
and the logo. These objects contain the information required for printing such as the
actual contents, fonts, alignments, word wrapping, colors, etc.
The List & Label Designer provides different types of objects which can be freely
placed and changed in size on your workspace. Depending on its type, an object can
display information or have various different properties.
Texts can contain fixed text as well as the variable content of individual records.
Lines for which layout options such as line width and color can be defined.
Rectangles are rectangular frames for which layout options such as frame width,
colors, filling pattern and shading can be defined.
Circles and Ellipses for which layout options such as frame width, colors and filling
pattern can be defined.
Picture objects allow you to integrate graphics (fixed file or variable) into projects.
7
Introduction
Crosstab allow you to analyze and display different kinds of data in several
dimensions.
Formatted Text objects can change the format within a line (unlike text objects).
HTML Texts can display the contents of web sites and other HTML formatted text.
You normally position the required objects in the workspace with your mouse, and
then define the corresponding contents and layout properties. Alternatively, you can
just drag a variable from the variable list per drag & drop, and place it on your
workspace.
In order to edit an existing object you need to select it. Just click into the required
object and the object will be selected. A selected object can be identified by its
raised frame. When a new object is created, it is automatically "selected" and can be
edited or changed immediately. The property dialog of an object can be activated
with a double-click. Please be aware that the selection tool needs to be activated.
See chapter "Object Bar".
The following subchapters provide you with a summary of the methods and
procedures to be used for the creation and editing of projects. The following is a
typical sequence of steps in this procedure:
1. Define the page layout
2. Set preferences and options (only necessary once)
3. Insert objects
4. Edit objects
5. Save the project
8
Help Functions
sensitive menu. Alternatively, you can call up the help you need regarding a
command or a dialog by pressing F1 where you need it. In dialog windows, there is
also a help button at the bottom left corner. The online help regarding the relevant
subject is opened with this. This context sensitive help is available for almost all
commands and dialogs.
Online Help
Another way of finding information is to open the online help through "?" > Contents
and then to use the search function to find the required topic.
Tooltips for dialog controls
Many dialogs and buttons have tooltips. These are small help texts, which
automatically appear when you keep the cursor still over a dialog element.
9
General Methods and Procedures
10
The Designer Interface
desktop. The workspace assumes a special function, it is the only window that is
constantly visible and is attached to the Designer window. The other tool windows,
for example the Property List or the Object List, allow themselves to be docked to
any part of the workspace.
Multiple tool windows can be docked together and, by using the tab strips, brought
to the foreground.
To do this, select the tool window to be moved by depressing and holding the left
mouse button in the title bar. You can now drag the tool window to any desired
position. A rectangular frame will be presented which shows the position and size at
which the tool window will be placed. If you drag it into the title bar of a previously
docked tool window, it will be placed behind the window(s) at this position. If it is
dragged into the upper portion of a previously docked window, then the position will
be shared and the newly docked window will be in the upper portion. If you drag it
into the lower portion of a docked window then the position will be shared and the
new window will be in the lower portion. The same is true for the left and right
portions of the (docked) tool windows.
If you place a tool window in a different position, it will not be docked but will be a
movable "floating" window.
The workspace has the behavior of a previously docked window, with the
differences that it cannot be selected and moved and other windows cannot be
docked behind it.
Tip: When a tool window is dragged away from its position, it can be returned to
that position but there will be no partitioning. To repartition, the window must first
be placed in another position and then returned to share the space with its
"colleague".
To set the size relationships of the docked windows, you can place them on the
borders of their neighbors and adjust the size using the mouse. The position will
then be partitioned anew. This functions in both the horizontal and vertical directions.
11
General Methods and Procedures
2.1.2 Toolbars
Both of the Designer’s toolbars can be docked onto the four edges of the Designer
window or presented as freely movable (floating) windows. Click with the mouse
either in the narrow area at the left or top of the appropriate toolbar, or in the title bar
of the toolbar if it is presented as an independent window.
Tool windows and toolbars can be turned on/off by using the command View >
Windows >... .
Tip: Preferences, such as window position, size, display, etc. will be globally
saved for every application List & Label is integrated into. They are then valid for
all List & Label projects of the same type (lists, labels or file cards).
2.1.4 Toolbar
In the same manner, menu items can also be directly selected via the toolbar (as a
shortcut). Just click on the button you require.
12
The Designer Interface
▪ the margin between the object’s upper left corner in relation to the same
corner of the workspace
▪ the margin between the object’s lower right corner in relation to the sa-
me corner of the workspace
2.1.7 Workspace
The workspace is the area in which objects can be changed and defined. The shape
and size of the workspace depends on the default values of the paper size and
alignment (see: Project > Page Setup).
13
General Methods and Procedures
exact placement of objects. The objects are not permanently attached to the guides;
the guides only provide assistance in the placement.
The guide options are defined with a context menu. You can set the "catch range" for
each guide in pixel, and the objects will automatically be pulled to the guide when
they enter the set catch range.
You can make the guides non-relocatable so that you do not accidentally move them
within the workspace. The snap function is turned off when you depress the Ctrl-key
while placing objects.
View Modes
At the bottom of the workspace you can select the view mode:
▪ In Layout mode you can see the object frames and the contents of the objects
as formulas. This mode is ideal for exact positioning and is the fastest mode.
▪ Layout Preview mode shows the objects in WYSIWYG mode. If the system DLL
MSIMG32.DLL is present (normally from Windows 98 or Windows 2000
upwards) objects will be painted transparently in the layer color.
▪ The Preview mode is identical to the separate preview window. The separate
preview window is automatically closed when this mode is active. In contrast to
the Preview Window, you can edit all objects.
Options in the view mode
In the view menu, you can find various options regarding the appearance of the
designer. In order to work precisely even with complex projects, there are several
levels of magnification available:
Whole Page ( no zoom) alt+1
Zoom 2x alt+2
Zoom 4x alt+3
Zoom 8x alt+4
14
The Designer Interface
variable list, object window, properties window and layers window to gain more
space.
15
General Methods and Procedures
If you wish to assign variables or fields to existing objects, you can simply drag the
variable from the list and drop it on the respective object. List & Label does the
pasting for you (drag & drop).
If you drag a variable to a free areain the project workspace, a new text object is
automatically generated.
16
The Designer Interface
The sequence of the objects can be changed by pulling an object with the mouse
into another position in the hierarchical list. If the Shift-key is depressed, the object
will be attached to the object at that position, changing the hierarchy of the objects.
Hint: The special dependence of the objects upon one another, which is very
important for printing, is displayed hierarchically. Further, detailed information is
contained in Chapter "Object List".
2.1.12 Preview
The Preview Window is available for you in order to check the layout of your
workspace.
Click in the window to change between full size and normal window size. The size of
the Preview Window can be changed by dragging the frame. These settings are
stored globally for the project type, and are therefore valid for all List & Label projects
of the same type. You can select an area to enlarge by dragging a rectangle. The
zoom modes in this preview are independent of the zoom mode in the workspace.
Alternatively, you can change the zoom modes by using the buttons in the toolbar.
More detailed information can be found in "Real Data Preview" in Chapter "Projects".
17
General Methods and Procedures
Categories and property groups can be, to improve view, opened and closed. It is
also possible to abstain from the use of the categories, and display all property
groups alphabetically instead.
The sorting method is set using this button. You can sort either by
"category"” or "alphabetically". Using the button "Hide or show constant expressions"
it is possible to show formulas, e.g. "False" or "LL.Color.black".
Below the property list, a short description of the selected property is displayed.
This function can be turned on/off by using the i-button.
18
The Designer Interface
Properties
You can also work with key combinations within the property Lists.
Function Shortcut
Change to next property or header Cursor down/up
Open/Close category +/-
Open all property groups of a category or *
sub-groups of a group
Edit property Tab
End editing Shift + Tab
Open combobox Ctrl + F4 (in Edit mode)
ENTER Depends on value: open content dialog, invert
Yes/No, open combo box
19
General Methods and Procedures
20
Variables, Formulas and Expressions
▪ Show Function Syntax: A tool tip appears in the formula assistant that describes
the selected function, lists the necessary parameters and displays the result
types.
▪ Autocomplete: After entering a character, all available functions, fields,
parameters and variables that begin with this character will be shown and can
be selected.
▪ Syntax Coloring: functions, parameters and operators are displayed in different
colors.
▪ Automatic Type Conversion: Variables and fields will be automatically converted
at the time of entry of the expression so the type of data conforms to
expectations.
Expression Modes
Please note that there are two possible modes for expressions:
On one hand there is the normal expression mode, where variables and functions
can be used without brackets or chevrons. Fixed text must be framed by quotation
marks. Variables may be combined with the "+"-Operator.
21
General Methods and Procedures
On the other hand there is the extended mode, where fixed text may be stated as
is without quotation marks. Variables are framed by "<" and ">" and functions are
framed by chevrons "«" and "»". The chevrons can be inserted by clicking the button.
The combining of variables with the "+" operator is not necessary. This mode is
easier to use.
Register Cards
The dialog consists of a row of cards, each containing different editing elements.
Card contains the elements
Variables and the variables and functions available for this object type
Functions
Condition a special dialog for the definition of IF-THEN-ELSE conditions
Text a dialog for the entry of fixed text
Date Format a list of the available date formats
Number a list of the available number formats
Format
Operators a list of the available link operators
On each of these cards you will find an "Insert" button with which you can insert the
selected element into the expression field. You can also perform this by double-
clicking or using drag & drop.
There are special rules for the syntax and linking of various individual elements of an
expression (variables, text, functions, etc.). For this reason you should always insert
the various elements into the expression field via the relevant card of this dialog. In
order to insert variables you should use the "Variables and Functions" card, to enter
text the "Text" card, etc.
Experienced users may wish to enter the expression directly into the expression field
or to edit the expression (e.g. place brackets).
22
Variables, Formulas and Expressions
23
General Methods and Procedures
24
Variables, Formulas and Expressions
Please note that spaces, for example separators between variables or between
variables and text, are considered to be fixed text.
Inserting Linefeed
To insert a linefeed, click the button "Linefeed". The linefeed is
represented by a special character.
Linefeed are only active for those objects (a line in a text object or a column in a
table) for which line breaks are set. In this way, words that do not fit into the
line/column will be broken into the next line and all following text will be moved
down. Please note that if the text doesn't consist of a number of words, but of a long
word it will not be wrapped, but clipped.
The value for "Line Wrap” in the "Layout” category of the properties for the text
object must be set to "True” for the appropriate paragraph.
For tables, the value for "Line Wrap” in the "Layout” category of the properties must
be set to "True” for the appropriate column.
Inserting Tabs
Tabs are only available in text objects, thus the button will not appear in
fields of table columns.
25
General Methods and Procedures
Only one tab can be inserted for each line. Its position and alignment can be
adjusted using the button "Properties". For more information please refer to Chapter
"Inserting Text Objects".
26
Working with Functions
You can also use functions for some parameters. For example: Dow$(Today())). This
will print the current day.
To insert a variable and a function simultaneously, drag the required variable on the
required function folder (e.g. "Numerical Functions"). The folder will be opened
automatically and you can select the desired function. If you drop the variable on a
function, this function will be inserted into the editing line with the selected variable
as first parameter.
27
General Methods and Procedures
28
Working with Functions
29
General Methods and Procedures
30
Working with Functions
Fstr$(QUANTITY*PRICE, "$$,$$$,$$&.##")
We use the '$' here to show this feature:
Value Result
2*999.55 " $1,999.10"
1100 " $1,100.00"
100*1099.5 " $109,950.00"
For some additional examples please refer to Chapter "List of List & Label Variables"
in the "Appendix".
The function "LastPage()"
LastPage( returns TRUE if the current page is the last or FALSE if it is not. LastPage()
has no arguments, still the parentheses have to be written to declare it as function
usage.
As example we assume you want to have a 'sum' line at the bottom of a page which
displays the current subtotal or total:
If(LastPage(),"Subtotal: ","Total: ")+ FStr$(SUM,"$$$$$$$&.##")
Note that objects using LastPage() in their appearance condition have to be linked to
the table object.
The function "Left$(STRING, NUMBER)"
The function "Left$(STRING, NUMBER)" returns the first NUMBER of characters of
the STRING.
Formula Result
Left$("combit", 2) "co"
Left$("combit", 10) "combit"
31
General Methods and Procedures
In our example the condition is false, for the last page, in this case the sum total
should be returned (parameter of the sum function is "False").
You can insert the established conditions into the expression field by using the
"Insert” button. They can be stand-alone expressions or part of another expression.
2.4.5 Formatting
Formatting can be achieved via the property “Format” or by using functions FStr$() or
Date$().
Formatting Dates with Date$()
Using the dialog with the card "Date Format" you can get assistance for date
formatting. You can have full-text formatting for day and month values, 2- or 4-letter
representation of the year and so on.
To the left is the format string, to the right the result with a date example: As default,
the function Now() is selected as date parameter which will display the current date.
Of course you can replace it with any date value you like:
32
Working with Functions
Date$(Today() + 7, "%d.%m.%y")
This would display the date one week from today.
In the above example, the date function "Now()” has been formatted so that the
result is displayed with the month and the day as a two digit number, and the year as
a four digit number. More detailed information on the use of the Date$() function can
be found in the Appendix.
Formatting Numbers with FStr$()
Using the card "Numner Format" you can define the format in which a number shall
be presented. In this way number of digits, decimals, leading signs etc. can be
defined. More detailed information on the use of the Fstr$() function can be found in
Chapter "Examples for the Use of Functions" and in the Appendix.
33
General Methods and Procedures
34
Operators
2.5 Operators
The card "Operators" displays a list of all available operators. These can be used to
make calculations, combine variables and/or fixed text, as well as to perform logical
comparisons.
The available operators can be categorized, in order of increasing priority, into logical
operators (AND, OR, NOT), arithmetic operators (+, -, *, /, %) and relations (<, <=,
=, >, >=, <>,!=).
The usual editing rules apply: logical operators will be calculated before arithmetical
operators, which will in turn be calculated before relations.
There are three columns on the dialog page. The first describes the operator, the
second is the syntax and the third the type(s) of value(s) it can be applied to.
The operator "+" has particular importance, because it can not only be used for
addition (Value types "Number" and "Date"), but also for the concatenation of text
(Value type "String") or fixed text.
35
General Methods and Procedures
36
Operators
37
General Methods and Procedures
Sum variables can be used to build sums/totals over the records, for example the
sum of the column PRICE in a table. It is possible to optionally add all records on a
particular page (page totals) or for the whole project (totals).
38
Working with Sum Variables
To use sum variables of this kind ("@SumXX") in projects they must be assign the
required numeric expressions. This is done with the command Project > Sum
Variables.
Click the "Insert a new variable" button to create a new sum variable first and give a
descriptive name. When working with projects from older List & Label versions, 50
variables "@sum01"..."@sum50" are already predefined. To assign an expression to
the new sum variable, click the "Edit..." button. This opens the assistant for defining
expressions.
Example: The easiest way is to simply select a numeric variable, e.g. UnitPrice. The
logical expression would be: @TotalPrice = @TotalPrice + UnitPrice. As the part of
the expression "@TotalPrice = @TotalPrice + " is not predefined, simply predefine
"UnitPrice".
On the other hand you can also build sums via complex expressions, as long as the
result is only a numeric value.
Defining a Counter
With sum variables you can easily define the counter which is actualized for each
printed record.
In the simplest case, a counter is increased for each record. The logical expression
would be: @Counter = @Counter + 1. As the part of the expression "@Counter =
@Counter + " is not predefined, simply predefine "1".
39
General Methods and Procedures
40
Using Filters
To assign a project specific filter, use the command Project > Filter, which will open
a dialog for the definition of filter conditions. This is similar to the dialog described in
Chapter "Variables, Formulas and Expressions".
41
Projects
3. Projects
Use the File menu commands to open existing projects in the List & Label Designer
or create new ones.
To start a new project, select File > New. If your current project has unsaved
changes, you will be asked whether you would like to save them. List & Label then
automatically opens the default project for the type of project you require.
Normally this is merely an empty workspace with a certain paper size and alignment.
In the case of label projects you can also pre-determine a certain label format (size
and the layout of individual labels on the page).
If you select "New project assistant" in the Options > Workspace dialog, you will be
guided through the process of creating a new project by the project wizard (see
below).
Hint: A default project is a standard empty "copy" to aid in the creation of projects.
It is however possible for you to change the default project to your own
requirements and save it as a file called "default". The next time you use the
command File > New your own - changed - default project will be opened.
To open an existing project select File > Open. If your current project has
unsaved changes, you will be asked whether you would like to save them.
A dialog will open in which you can select the file to be opened.
42
Creating or Opening a Project
If a description has been given to a project (see Project Properties) the description
will be displayed underneath the sketch field. In the "sketch" field you can see a
sketch of each selected project, making it easier for you to find the project you are
looking for. (The sketch is only shown if the corresponding option is set, see:
Options > Compatibility > Sketch in File Dialog).
The Designer will issue a short warning if you select a project that was designed
with an older version. Please note that projects designed with the new Designer will
not be readable or editable with an older version. We advise you to make backups of
your project files before editing them with the new Designer. Please check your
layout after conversion carefully, as slight changes may occur.
43
Projects
Project description
In the "Project Description" field you can enter a description of the project. This
description is then displayed in the dialog File > Open and makes it easier to find
the desired project. Alternatively, this description can also be displayed in the File >
Save As... dialog.
Active Design Layout
For multi-page projects it can be sensible to define different layout setting (page
size, orientation). Use the field "Active Design Layout" to define which layout-setting
should be used in the designer workspace.
Number of Issues
Defines the number of issues for print and preview. Activates the function IssueIn-
dex() for display and layout region conditions.
44
Saving projects
Embed Drilldown-Reports
Drilldown-Reports will be embedded in the preview file, so they can be shipped or
saved completely.
Minimum page count
With card projects at least the number set in the "Minimum page count" field is
automatically printed. For example you want to print out a four-page form with a
different layout for the four pages, create a new layer for each of the four pages and
place the objects on these layers corresponding to the desired output. Afterwards,
set the minimum page count to "4".
With list projects the number set here defines the page number, from which the
output of the table/report container is started. For example you need a cover sheet,
you can assign the table to the layer "Following Pages" and design the layer "First
Page" as desired. Afterwards, set the minimum page count to "2".
Transition Effect for Slideshow Mode
Select a transition effect as default for the preview´s slideshow mode.
Fax and mail parameter
List & Label documents are faxed using the installed fax (printer) driver, i.e. an
installed fax program is a precondition for faxing.
If the fax should be sent using the Windows fax driver, the parameters (at least the
fax number) need to be set in the project's properties. Use the "Fax parameter"
section to enter the required data.
If you want to send the fax using another fax driver, you might be able to use special
command sequences to pass the fax number and other field informations (e.g. DvISE
commands for Tobit David). These command sequences can normally be placed in a
text field. At print time, the fax dialog will then be suppressed, as the document
contains all required data.
You can also send List & Label documents directly by eMail. The required eMail
variables are also defined in the properties window of the project. The eMail settings
(SMTP, MAPI, XMAPI) are changed in the control panel under "combit Mail".
45
Projects
To save a project, select File > Save. When you want to save new projects using File
> Save, the File > Save As dialog will be displayed and you can select a name for
your project.
To save an existing project under a different name or path, select File > Save As. A
dialog will open in which you can enter a name for the project, the device and the
directory in which the project will be saved.
In addition to the file name, you can give a short description of the file which will be
shown in the file-open dialog to help you to easily distinguish your projects.
3.3.1 Regions
For multi-page projects it can be sensible to define different layout setting (page
size, orientation).
In the field "Active Design Layout" of the project properties define the active region
for the designer workspace.
A new area can be defined over the new-button and then define its corresponding
properties. A "condition" has to be defined when the Layout setting is used e.g.
"Page()=1" when it should be used only for page 1. The first area will be used for
valid for the set conditions.
The default-region "Standard layout" is always the last region and the condition is set
to True. If you are sure that the standard layout is never used, you can suppress
displaying the print dialog with the property "Show in print dialog".
46
Defining Page Setup
The format of the region, that includes the condition "Lastpage()", should not vary
from the page layout which will be used when the condition Lastpage() is not true.
This is due to List & Label not knowing at the start of a page if it is intended to be
the last page, hence cannot select a region with the condition Lastpage() is true.
Only after completing the page the printer can be assigned to this region. Should
the page size or orientation change, this can lead to a scale change or data being
cut off.
Please note: if the page size or orientation varies you need to adapt the width and
height of the objects. Otherwise, data will be clipped. In order to dynamically
position the report container you can use the LL.Device.Page variables, e.g.:
Position.Left, Position.Top: 10
Position.Width: LL.Device.Page.Size.cx-20
Position.Height: LL.Device.Page.Size.cy-20
47
Projects
You can configure the output into different export formats by the corresponding
option dialogs. There are two buttons:
Select the format in the list and click on the options button
48
Defining Page Setup
You can select a target format as default for the later print
The top left corner of the workspace always begins on the screen display with the
coordinate 0/0, independent of the selected page size and offset. The effects of
the offset can however be seen in the full-page preview or when you print.
49
Projects
Setting the Size: This provides the size (horizontal = width / vertical = height) of the
label in inch or mm.
Setting the Distance: This option defines the distance from one label to the next (the
space between two labels). For labels with only one column, only the vertical
distance needs to be entered.
Setting the Number: This option defines the number of labels per page. (horizontal
value = number of columns per page, vertical value = numbers of lines per page)
You can check the layout by selecting Options > Preview > Page Preview.
Defining Print Order: Sets the printing order if more than one label is printed on
page. Possible values: 0 (horizontal, 1 (vertical), 2 (horizontal bottom up), 3 (vertical
bottom up).
Labels are normally printed in lines from top left to bottom right. With partly used
sheets of labels you may have already used the first line of labels, for example,
which could cause the sheet to lose its stability at the top. Some printers have
problems taking such sheets and react with a paper jam.
Here you have the option of printing sheets of labels from the bottom up. In this way
the top line of labels will be printed last and the sheet remains stable, even when the
critical area on the sheet is reached.
Store user defined Label formats in the Label template list
To save user defined label you can use the file "cmll1400.inf".
50
Default Values and Options
51
Projects
52
Default Values and Options
53
Projects
54
Default Values and Options
▪ Set the "Selection mode after object insertion" option in order to switch to the
selection mode automatically after inserting an object. This prevents you, for
example, from inserting multiple objects accidentally.
55
Projects
▪ To change the widths of columns that are currently invisible, deactivate the "Edit
only visible cells" option.
This way e.g. a letter head can easily be included. In addition, changes just need to
be edited in one place, if e.g. the design needs to be adapted. A change of address
has to be made only in one single project instead of different projects.
Using Project > Include you can include existing projects in current projects.
The objects of these included projects will be visible, but are locked against editing.
Also included are sum and user variables of the original project. Please notice not to
generate duplicate identifiers when designing, e.g. including an existing project that
is using a sum variable which is already used within the current project. The
sequence in which the projects are included can be defined here as well.
56
Printing Projects
As long as the print call from the upper level program, it will be viewed depending on
the selected template will be viewed using the dialog options selected.
Print Target
In the category "Print Target" you can, by using the "Change..." button select a
different printer or different printer options than the defaults defined in your project
in the Designer.
▪ Selecting the option "Direct to" defines the output format (e.g. preview, printer,
Excel). Please take into account the range of options available for formatting that
are accessible for the menu option "Option", e.g. the number of Excel rows and
columns can be limited to a required number using the option "Exclusive data
export from table objects".
▪ With the option "Preview" it is possible to send the print output to the screen for
viewing of the real data and not to the printer. This way it is possible to view the
real data and control the contents before printing.
57
Projects
▪ With the option "Save options permanently" this setting can be either one time
or permanently saved to your project as the default.
▪ In the category "Options", you can enter the number of copies, the starting page
number and the page range to be printed. If you have defined several regions,
the copies are defined in the category "Print Target".
Label projects
For label projects, you can additionally select the position of the first label on the first
page with the button "Select".
This is useful when printing on pages where labels have already been used.
The dialog shows the layout of the label page. Click on the label you want to use first
during printout, taking into account the print order noted below. You can print not
only from the upper left to the lower right, but you can reverse this order or print by
columns. Printing will start from the label that you chose.
Output to other formats (PDF, RTF, Excel, ...)
Print outputs can also be output into other file formats. For this, select the
corresponding output medium in the print options dialog. Please note that the layout
may not always be transferred 1:1 depending of the format, since some have
specific limits regarding the conversion.
If you have chosen a format other than printer or preview, select "Save As" in the
following dialog and enter a name for the file being created in the "File name" field.
58
Printing Projects
In addition, you have the option of displaying the file directly in the corresponding
program or to send it by e-mail. Activate the corresponding options if required.
▪ With the option "Open the file in the registered application" you can open the file
directly in the relevant program (e.g. Excel) after creating it.
▪ With the option "Send exported file by email" you can send the file directly by
mail.
▪ With the option "Digitally sign created files" you can digitally sign the file.
59
Projects
60
Printing Projects
▪ The magnifiers, as well as the 1:1 tool, represent various zoom levels that can
be used to see fine details in the document. Alternatively, you can use the
mouse to select an area to zoom by drawing a rectangle.
▪ With the Slideshow, you can generate a complete PPT presentation with slide
transition effects. If you right click on this button, you can select the transition
effect. Many keyboard features that are familiar from Microsoft PowerPoint (e.g.
screen black and white, slide navigation) are also supported:
▪ <number> ENTER: Go to Slide <number>
▪ B or Period: Black/Unblack Screen
▪ W or Comma: White/Unwhite Screen
▪ A: Show/Hide Pointer
▪ ESC, Minus, END: End Show
▪ Spacebar, N, Right Arrow, Down Arrow, Page Down: Advance to Next
Slide
▪ Backspace, P, Left Arrow, Up Arrow, Page Up: Return to Previous Slide
▪ Using the button "Print Current Page", you can individually print the currently
displayed page from the preview. If you right click on this button, a Printer
Assignment dialog window is opened.
▪ Using the button "Print All Pages" will send all pages directly from the preview
window to the printer. The file will be printed exactly as shown in the preview.
The Printer Assignment dialog can also be opened using the right mouse button.
▪ Use the button "Send To" to send the current preview file e.g. through your
Standard-Mail-Application to an email recipient. The preview-file can be send in
different formats, e.g. LL, PDF, XPS, EMF, TIFF, ANSI, UNICODE. In order to
view the *.LL-file, the recipient must use the List & Label Viewer, which is often
included with the application. The List & Label Viewer can also be used to print
the preview file.
▪ Using the button "Save As” you can save the current preview file with the *.LL
file extension.
▪ The preview file can be saved in different formats, as e.g. data exchange format
PDF. Depending on the chosen format, further corresponding properties are
possibly available. Please notice that saving in another format does not
guarantee that all information is copied.
▪ Using the "Exit Preview" button, you will leave the preview window and return to
your application. The displayed print preview will not be printed, but discarded.
Any changes will be lost unless previously saved with "Save As".
61
Projects
Using File > Print Sample you can generate a sample printout of your current
project. You can use this sample to check the layout of your project.
Fixed text appears as in the final print, but variables are substituted by sample data
which is constant throughout the sample. Printing real data can not be done from the
Designer.
Printing layers
With the option "Only Visible Layers" on the "Preview” card in the options dialog,
which is opened with Project > Options, you define the way layers are printed in the
sample print. When this option is not activated, all layers will be printed during the
sample print. When this option is activated, only the layers visible in the Designer will
be printed. The sample print is identical to the project in the Preview Window.
Various options are available for the test print depending upon the type of project
being created.
Print Sample in Labels
By selecting the command File > Print Sample > Print Sample with Frames,
your labels will be printed on plain paper with a frame, which represents the borders
of the labels. These frames do not appear when printing real data. By using these
frames, you can determine if your labels have been printed in the correct size and
position.
By selecting the command File > Print Sample > Print Sample without Frames,
a page of your project will be printed, without frames, in the way that it was defined
with the exception that the variables have been replaced with sample data.
Print Sample in List Projects
The command File > Print Sample offers you the options Print Sample 1st Page and
Print Sample Following Page for your list project.
With multipage projects, you can define the first page, which may have a special title
or header, the following pages (which are between the first and last pages), and the
last page. These three parts of a multipage project can be sample printed separately.
To print the first page of your list project, select the menu command File >
Print Sample > Print Sample 1st Page. This will generate a sample print of the first
page only.
To print the following page of your list project, select the menu command File
> Print Sample > Print Sample Following Page. This will print the second page of
your project.
62
Printing Projects
63
Objects
4. Objects
Objects usually have a rectangular shape and are surrounded by a frame in which
their size and position can be changed. This frame indicates the area which the
object occupies in the workspace and consequently the maximal scope that the
contents of an object can have. Objects may, however, overlap slightly or fully
whereby the overlapped object may sometimes be concealed completely.
64
Editing Objects
you can allow a logo to appear on the first page of a project only and not on the
following pages
▪ name the object. Using the name you can easily find the object you are looking
for
▪ assign the object to a (display)-layer or copy it to a layer. Multipage and/or
complex projects become clearer if objects which belong together are put on a
mutual layer. So, in a multipage project all objects which belong to one page can
be put on a common layer. You only need to switch the visibility of this layer
when you want to edit it
▪ copy the object. If you want to place several, similar objects with the same
distance on the workspace then you can use the function Create Multiple
Copies.
▪ If you have selected more than one object you can combine the selected objects
into a group (grouping), align them or adapt their size.
These editing possibilities will now be described individually in detail.
You must be in the selection mode before you can select an object. The
currently active mode is displayed in the middle area of the info bar.
To select an object in the selection mode just click into the object you wish to select.
If you click into the object with the right mouse button, the object will be selected
and a context menu will be simultaneously displayed. An object can also be selected
by dragging a frame around the object by using the left mouse button. Release the
mouse button when the desired object is completely enclosed with the frame. All
objects within the frame will be automatically selected.
To select multiple objects press the shift-key and click with the left mouse button
into the objects you wish to select. Or drag a frame completely surrounding the
objects you wish to select. All objects that are completely enclosed by the frame will
be selected.
When the command Objects > Select is selected, a sub-menu opens with which
you can select from various select modes.
▪ Use the command Objects > Select > Select All or the shortcut Ctrl+a to select
all objects in the workspace.
▪ Use the command Objects > Select> Invert Selection or the shortcut Ctrl+y to
invert the selection. All selected objects become unselected and all unselected
objects become selected. This is valid only for objects on visible layers.
▪ The order in which the objects were created is important for the command
Objects > Select > Next Object. This command, or the plus key on the numeric
65
Objects
keypad, selects the object that is next in the object list (that is, the object
created later) than the currently selected one.
▪ This command has the opposite effect to Objects > Select > Next Object.
4.2.2 Arrange
Objects on the workspace may overlap or completely cover each other. You can
imagine that each of your objects will be printed on a transparency. When you place
your objects on the workspace, place these transparencies in the proper order on
top of each other. Each object is now in its own plane.
You can look at the order using the object list (Objects > Object List).
Using Objects > Arrange, you can rearrange the planes of the selected objects so
that they have the order you require.
Please note that these "planes" (just a term in this case) have nothing to do with the
layers. Objects that have been edited using Objects > Arrange will not have their
layer assignment changed.
Select the object that you would like to arrange on the workspace, and select one of
the following options.
▪ To Front: All selected objects are moved on top of the stack of sheets, that is,
they have priority over the objects lying deeper. Use the command Objects >
Arrange > To Front to bring the selected object to the top of the stack, or use
the shortcut CTRL+POS1.
▪ To Back: Puts the selected objects to the bottom of the stack of sheets. Use the
command Objects > Arrange > To Back place the selected object at the
bottom of the stack, or use the shortcut CTRL+END.
▪ One Forward: Using the command Objects > Arrange > One Forward or the
shortcut CTRL+PAGEUP, the selected objects will be moved one position up in the
stack of sheets.
▪ One Backward: Using the command Objects > Arrange > One Backward or the
shortcut CTRL+PAGEDOWN, the selected objects will be moved one position down
in the stack of sheets.
4.2.3 Alignment
Using the command Objects > Arrange > Alignment or the toolbar you can align
multiple objects in relation to each other. A minimum of two objects must be
selected to use this command.
66
Editing Objects
Left / Right / Top / Bottom: The functions reposition the selected objects at the
corresponding border of the selection rectangle. They will not change in size.
Centered: The objects will be placed at the center of the selection rectangle. They
will not change in size.
Size Fit: The objects will be resized to fill the selection rectangle in the
corresponding direction (horizontal or vertical). Thus they will all get the same width
or height.
Equal Shape Distance: The selected objects will be repositioned so that the
distances between their frames are constant. If the objects are equal in size, this is
the same as Equal Center Distance.
Equal Center Distance: The selected objects will be repositioned so that the
distances between their centers are constant.
Changing Size
1. Select the desired object.
67
Objects
2. When the mouse pointer is placed over the frame, it changes into a bi-
directional arrow. The size can be changed by depressing the left mouse button
and pulling in one of the displayed directions. To simultaneously change the
objects size in both the horizontal and vertical, the mouse pointer must be
placed in one of the corners of the object frame.
3. While dragging the mouse pointer, a frame is created, which reflects the new
size of the object.
4. Release the mouse button when the object has reached the required size.
Repositioning an Object
1. Select the object you require.
2. Click into the object to reposition it. If the mouse pointer is positioned over the
selection frame, a four directional arrow will be displayed.
3. If the shift key is pressed, objects can be shifted only horizontal or vertically. The
adjustment remains.
4. Release the mouse button when the object has reached the position you
require.
Repositioning and Changing Size via the Keyboard
In addition to the mouse and position dialog, objects can also be repositioned on the
workspace via the keyboard.
▪ Select the object you wish to reposition.
▪ Use the cursor-keys to move the object in the direction you require. Press the
key once and the object moves 1/10 millimeter, if the shift-Key is also held, the
object is moved by 1 millimeter.
▪ Use the ctrl and cursor keys for fine adaptation of the object's size
▪ Use the shift, ctrl and cursor keys for a quick adaptation of the object's size.
Changing Size and Position via Dialog
You can change the size and/or position of an object in the Property List. Please note
that changing an entry will cause the automatic recalculation of all other related
values.
If you double-click on the subcategory "Position” in the Property List a position and
size dialog opens. Using this dialog, the defining of the size and position of an object
using the keyboard is simplified.
68
Working with Layers
69
Objects
70
Working with Layers
possible for you to open the formula wizard, in which you can combine variables,
text, and functions with any expressions. Further information can be found in
Chapter 2.8 "Variables, Formulas, and Expressions". Typical appearance conditions
for layers are those that allow objects of a layer to appear only on certain pages.
Condition Description
no condition The objects on this layer always appear
Page()=1 The objects on this layer appear only on the first page.
Page()>1 The objects on this layer appear on all except the first page.
The function LastPage() can only be correctly analyzed when it is used within the
footer of a table object or in objects that are linked to a table. Within the data line
the result of LastPage() is always "False".
71
Objects
Select the objects which you wish to assign to a particular layer, and then select the
command Assign to Layer from the Objects menu or the context menu. A list with
the defined layers will appear. Select the desired layer.
Double-click on the required layer to assign the selected objects to it. Alternatively,
you can also click on the required layer and then confirm the dialog with "OK".
The assigned objects automatically appear in the color of the corresponding layer on
the workspace. This however only applies to the appearance on the workspace.
Depending on which option you have set on the card "Preview" (in the Options dialog
via the option "Only Visible Layers"), either only those layers which are turned on will
be displayed in the preview window, or all layers.
72
Object List
▪ Editing or Deleting Objects: This can be done using the "Edit" and "Delete"
buttons. You may also start the object properties dialog by double-clicking on an
object in the list. If multiple objects are selected when clicking the "Delete"
button, all objects are deleted.
▪ Lock objects: If the option "Locked” has been selected for an object, the object
can be neither selected nor edited on the workspace. It can, however, be edited
using the Object List. If the option is not selected, the object can be selected
and edited on the workspace.
▪ Naming Objects: The edit control allows you to change the name of the
selected object. The name is of course the same name that can be changed
using the property list.
▪ Resetting the Name: The "<-Default" button will set the default text (type and
coordinates) as the name of the object.
73
Objects
Example Invoice Print: An invoice generally consists of a table that shows the
individual invoice line items on any number of pages. The first page should of course
74
Interlinking objects
differ from the others because it also has a letterhead. Create an invisible frame on
the base layer, which starts where the invoice table is to start on the following page
and ends where the invoice table is to start on the first page. Assign the display
property "Page()=1" to the rectangle. The table is also created on the base layer. This
starts below the rectangle object. Now link the table with the rectangle (parent
object) and set the link types "Position Adaption: Vertical Relative to End" and "Size
Adaption: Vertical Inverse Proportional".
The interlink type is selected under the "Vertical Interlink" and "Horizontal Interlink"
tabs.
Vertical Interlinking
The interlinked object adjusts in its position or height depending on the vertical
position or size changes of the parent object. Which corner of the parent object is
applicable for the position adaption of the linked object, depends on the option
selected ("relative to Begin", "relative to End" or "to End" for the position, "proportional"
or "inverse" for the size). If the parent object moves vertically, the interlinked object
will move by the same distance in the same direction.
Horizontal Interlinking
The interlinked object adjusts in its position or width depending on the horizontal
position or size changes of the parent object. Which corner of the parent object is
applicable for the position adaption of the linked object, depends on the option
selected ("relative to Begin", "relative to End" or "to End" for the position, "proportional"
or "inverse" for the size). If the parent object moves horizontally, the interlinked object
will move by the same distance in the same direction.
If both options "horizontal" and "vertical" are on, the linked object will adjust to both
types of change of position of the parent object.
In any case, two completely different types of interlinking are available to you:
Position adaption
This adaption depends on the position of the parent object. If the parent object
changes its position, the position of the linked object changes in the same way
(depending on the additional options).
▪ Option "relative to Begin": The child object moves like the top left corner of the
parent object.
▪ Option "relative to End": The child object moves like the bottom right corner of
the parent object.
▪ Option "To End": The top edge of the child object starts at the end of the parent
object, independent of its original position. This creates an implicit size change
on the first page on which the child page is printed.
75
Objects
Size adaption
This is similar to the position adaption, but as the name suggests, this interlink
depends on the size of the parent object, i.e. when the parent object changes in size,
the interlinked object will also change its size (also dependent on the additional
options).
▪ Option "proportional": The size of the child object changes in the same way as
the parent object. If it becomes 1cm shorter, the child object also becomes 1cm
shorter.
▪ Option "inverse": The size of the child object changes inversely proportional to
the size of the parent object. This is an especially useful option: if the parent
object becomes 1cm shorter, the child object becomes 1cm longer.
Example 1: You are writing text and want to have the number of letters and words
written on every page counted. The linked object only knows this when the text (text
object) has been printed. The sum can then be printed at the end of the page.
Example 2: You want a final text to be printed after a table, and give it the display
76
Interlinking objects
condition "LastPage()". Because it is only certain what size it is after the table has
been output, the final text can therefore only be printed once the table is finished.
For this, you must sequentially link the table with the final text and the final text will
then only print after the table.
Sequential interlinking is the default for linking objects. It is denoted with an
hourglass symbol in the object list. When the sequential interlink is selected, none of
the options for position and size adaption are available in the interlink field.
The object list creates an implicit print order of the objects, so it automatically
creates a sequential interlink. Unlinked objects are printed first, followed by any
objects that are linked in any way. This means sequential interlinking is only
necessary in very specific cases, e.g. when an unlinked object is to be printed
after the linked objects.
smaller than
parent object designed
parent object
object moves up
child object
child object
77
Objects
Example 2: Position Adaption: Vertical Relative to End & Size Adaption: inverse
The linked object changes its position depending on the lower right corner of the
parent object and increases size proportionally.
smaller than
parent object designed
parent object
object moves
up and
increases size
child object
child object
object starts at
end of parent
and increases
overlapping
78
Interlinking objects
object starts at
end of parent,
overlapping
taller than
designed &
bottom aligned
parent object parent object
object moves up
child object
child object
79
Objects
80
Interlinking objects
81
Objects
4.6.1 Locked
Protects an object from being selected accidentally by a mouse click. This property is
only relevant for the design and has no effect upon the print. If an object is locked it
can no longer be selected in the workspace and will be marked with a small red icon
in the Object List. A locked object can, still, be selected in the Object List for editing.
Since "Locked" is only relevant for the design phase of a project, there is no
possibility to define the value of this property using formulas.
Property Description Value Description
Locked Protects the object from accidental selection in True Locked
the workspace through a mouse click
False Unlocked
82
Common Object Properties
4.6.2 Name
When you insert a new object onto the workspace, an object description appears in
the right segment of the status bar. The description is made up of the object's type
and coordinates. This is the default name for the object.
If, however, you have a large number of similar objects in your project, these
descriptions can quickly become confusing. For this reason, you can give the object
a meaningful name using the tool window Objects or the object’s Property List. In
the Property List, click once on the current name to change it.
Alternatively, you can change the object’s name by using the command Objects >
Object List or in the Property field.
Property Description Value Description
Name Object Name Name
The object name is – unlike most properties – a fixed string, thus needing no
quotation marks for a fixed text. If you have activated the option Options >
Workspace > Object Info, the object name will be displayed in the tool tip, when the
mouse is over the object.
83
Objects
4.6.7 Position
The property group "Position" of an object defines the x- and y- coordinates of its
upper left corner, the object width and the object height.
Property Description Value Description
Position Position and size of the object. All data is Position dialog
entered in the units used on the workspace
Left Horizontal offset of the upper left corner of Number
the object relative to the upper left corner of
the workspace Formula Formula dialog
84
Common Object Properties
4.6.8 Font
The font properties can be defined in a dialog. If Default is set to True, the default
font is used. You can define the default font by selecting the command Project >
Options. Default values set on the card "Objects" are valid for all new objects, until
they are changed. In the "Object Font" group you can define the font for each newly
inserted object, using the "Select" button. With the button "default" in the object
properties the font can be adjusted to a predefined system font. The settings also
affect all objects which were not changed manually to a non default font.
Property Description Value Description
Font The font properties can be defined in a Font dialog
dialog. If Default is set to True, the default
font is used.
Default The default font is used instead of the one True Default font
set
False No
Formula Formula dialog
Name Selection of font. All installed fonts are List Font
displayed.
Formula Formula dialog
Character set Sets the country version of the character Number Character set
set. All available character sets are
displayed.
Size Size of the font in points. Shows a list of the Number Default size
available sizes of the selected font.
Formula Formula dialog
Width Sets the width of the font 0 means standard Number Width
width, otherwise the average character
width will be used. Formula Formula dialog
85
Objects
4.6.9 Colors
Colors are always defined in the Property List in the same way.
Property Description Value Description
Color A color dialog is available. Color dialog
86
Common Object Properties
3 Vert. Gradient
4 Horiz. Two-
Part Gradient
5 Vert. Two-Part
Gradient
6 Partly
Transparent
7 Drawing
Formula Formula Editor
4.6.11 Frame
The property group "Frame” defines the frame properties and the content's distances
from the frames. It is available for many objects and sub-objects (e.g. table columns).
Property Description Value Description
Frame Frame properties and offset can be defined in Frame Dialog
a dialog. To apply the chosen line type, select
one of the presets, click the lines in the
preview or use the buttons.
Default When true, the default frame is used, which is True Use default
(in sub- defined in the object's base properties.
objects) False Use custom
Formula Formula Dialog
Layout Describes the type of line draw order being 0 Surrounding
used with frames with more than one line on
it's sides. 1 Horiz. Priority
2 Vert. Priority
Formula Formula Dialog
left/top Settings for the individual frame lines.
right/bottom
Distance Distance between the contents and frame. Number
Formula Formula Dialog
Line Visibility of the frame line. True Line
False No Line
Formula Formula Dialog
Color Choice of the line color.
Line Type Choice of the line type. Choice Choice of pre-
defined lines
(20)
87
Objects
4.6.12 Pattern
With the pattern property you can define the texture of a color. This property is
available with the background colors of table rows and drawn objects and is shown
in combination with the color property.
Property Description Value Description
Pattern Choose a pattern from many predefined Number Predefined
patterns. A value is always defining a pattern. sample
This property is only analyzed if "Filled" is set to Formula formula dialog
"True".
Objects that contain sub-objects, for example a text field that contains multiple
paragraphs, can have additional properties defined that may not appear in the
Property List window.
To edit the contents of these objects, select the object and use the command
Contents in the Objects menu or in the Context menu, or by using the properties
88
Inserting Text Objects
button in the content property of the Property List. Often, you can also double-click
on the object. These commands can not be used if a Contents dialog is not available
for the selected object.
If available, a dialog window will open that may have a different appearance
depending on the type of object.
You will find further information about the Contents dialogs for individual objects in
the following Chapters.
4.7.1 Properties
See also Chapter "Common Object Properties".
Property Description Value Description
Bottom Alignment at the bottom of and within the True Bottom
Aligned object frame. If this option is activated the Aligned
object’s text will be aligned on the lower edge,
if not, on the upper edge. Requirement is that False Top
the paragraphs are not larger than the object. If Aligned
so, the text will be clipped. This option is useful Opens
e.g. when text of an unknown length is to be Formula Formula dialog
placed at the bottom of a page.
89
Objects
90
Inserting Text Objects
91
Objects
92
Inserting Text Objects
Block Block text is both left and right justified. This True Yes
property is only functional when the selected
line is wrapped. This means that the line must False No
be longer than the available space, consist of Formula Formula dialog
multiple words and the option "Line Wrap"
selected.
The last line will be displayed in accordance
with the property "Alignment".
Format The format editor is available in text object True Dialog
paragraphs and in table columns and is an
alternative to formatting with the functions False
Date$() and FStr$() in the formula dialog. Using
the format editor, you can set the format for
numbers, currency, dates, times, percentages
and angles. By default, the computer’s system
settings are used.
Note that the format settings affect the entire
expression. If you only wish to format certain
sections of the expression (e.g. some text and
numbers within the expression) use the
functions Date$() and FStr$() in the formula
dialog.
Blank Blank-optimization can remove undesired True Yes
Optimization spaces (leading, enclosed and remaining).
False No
Imagine that you wish to print a label project
using the following variables which are to be Formula Formula dialog
separated with a space:
<TITLE> <FIRSTNAME> <LASTNAME>
If there is a record in which no title exists, this
variable would remain empty but the following
space would be printed. First name and Last
name appear with a leading space. If, for
example, the variable "Firstname" was empty,
there would be two spaces between "Title" and
"Lastname" (enclosed spaces).
If all three variables were empty, both spaces
would remain (remaining spaces). This line is
then not empty and would not be automatically
ignored.
In these cases, the option "Space-Optimization"
assists in the automatic removal of leading,
enclosed and remaining spaces. Multiple
enclosed spaces will be automatically reduced
to one space.
93
Objects
4.8.1 Properties
See also Chapter "Common Object Properties".
Property Description Value Description
Width Line width in the measuring system used in Number
workspace
Formula Formula
dialog
94
Inserting Rectangles
4.9.1 Properties
See also Chapter "Common Object Properties".
Property Description Value Description
Border Define whether the rectangle should have a 0 transparent
border.
1 pattern / block
color
Formula Formula dialog
To create an ellipse object, select Objects > Insert > Ellipse (CTRL+I).
4.10.1 Properties
See also Chapter "Common Object Properties".
Property Description Value Description
95
Objects
4.11.1 Properties
See also Chapter "Common Object Properties".
Property Description Value Description
Data source Select how the data source for the graphic to be File
displayed is defined. name
Formula Formula dialog
Variable
File name Existing file name, will be File > Open
evaluated if file name was dialog
selected in the property
"Source”. Select the desired
graphic in the Windows familiar
dialog. In this dialog, by using
the option "Imbed in Project",
you have the capability to imbed
the graphic file into your project.
The file is then copied into your
project and is available even
though the file may be absent.
96
Inserting Picture Objects
97
Objects
4 Right Top
5 Right Bottom
6 Left
7 Right
8 Top
9 Bottom
4.12.1 Properties
See also Chapter "Common Object Properties".
Property Description Value Description
Bar Color Color for the selected Barcode.
Bar Width The narrowest bar width in SCM units (1/1000 Formula Formula dialog
mm). 0=automatic adjustment. Not supported
by all barcode types.
Orientation Orientation of the barcode 0 left
within the object frame.
1 centered
2 right
Formula Formula dialog
Bar Width The ratio between the bars or spaces. Not Formula Formula dialog
Ratio supported by all barcode types.
Rotation Rotates the object counter clockwise 0 0°
1 90°
2 180°
3 270°
Formula Formula dialog
Optimum Sets the optimum size for the Barcode. This True Yes
property could affect size changes with the
98
Inserting Barcode Objects
▪ If you wish to print fixed text in barcode form, select the option "Text". Enter the
value to be printed in the first field. Select your desired type of barcode in the
99
Objects
▪ For some barcode types, for example Maxicode, additional options exist
that can be edited in a further dialog. This dialog is opened with the button
"Options".
▪ If you wish to use a formula as a barcode, select the option "Formula" and define
a valid formula expression using the "Edit" button. The return value of the
formula must be of the "Barcode" type. You can also enter variables, but they
must first be converted to variables of the barcode type using the function
Barcode().
▪ If you wish to print a variable in barcode form, select the option "Variable". All
variables of the type Barcode will be displayed in a list box.
100
Inserting Report Container
Example for relationally linked tables: You wish to create a list of all customers in
which the orders of the customers and all ordered items are visible (relationally
linked tables Customers > Orders > OrderDetails).
101
Objects
See also the chapters "Inserting Table Objects", "Inserting Chart Objects" and
"Inserting Crosstab Objects".
▪ In the following dialog, choose the Source Table Path. In the "Choose Source
Table Path" dialog all available tables are displayed hierarchically, i.e. you will find
the respective relationally linked tables under the tables.
"Free content" can also be selected as the data source, provided this is sup-
ported by the application. This means that data lines with fixed content or vari-
ables can be created and thus e.g. texts, letters, images or barcodes can be
integrated into the "Report Script".
102
Inserting Report Container
103
Objects
4.13.4 Drilldown-Reports
Drill-down means navigation in hierarchical data. Drill-down allows a "zooming" in
which the existing data in different levels of detail can be seen. Even for very large
and complex data sets so you can quickly prepare all the required information.
First, only a top level is printed (e.g. Customers). A click on a customer then opens a
new detail report (e.g. Orders).
The context menu can be used to choose if the drilldown report should open in the
same window (in this case, you can navigate back using the green arrow buttons in
the preview's toolbar), in a new tab or in a new tab in the background.
Only the preview supports drilldown functionality. If you need to export a certain
drilldown report to e.g. PDF, you can do so from within the preview window.
Drilldown reports can be embedded into the preview file enabling you e.g. to send
the full report via email. You find the respective option "Embed Drilldown Reports" in
the project's settings.
104
Inserting Report Container
105
Objects
▪ The "Drilldown Links" property of a field or table line can be used to open an edit
dialog for Drilldown-Links.
▪ With the "New" button, you can create a new drill-down link.
▪ Choose the required relation from the drop down list in this dialog.
106
Inserting Table Objects
▪ Either choose an existing project file or create a new one. When creating a new
project, a second instance of the designer opens. Create the report as usual.
4.14.1 Properties
See also Chapter "Common Object Properties".
Property Description Value Description
Data lines
Force Sums will be calculated even with True Yes
Sums the suppression of the data lines.
False No
Formula Formula dialog
Keep If this property is activated, data True Yes
Together lines will be kept together (if this is
possible) after a page break. The False No
lines will be printed on the next Formula Formula dialog
page.
Suppress If the option "Data Lines Suppress” True Yes
is selected, all data lines will be
completely suppressed. This False No
option is especially useful in Formula Formula dialog
combination with the option "Force
Sums”. The last option defines that
the sum will be calculated when
the data line is not printed. With
the combination of both options
and the use of groups and sum
variables, the printing of
interesting statistics is possible.
Zebra With the option "Zebra pattern" in True Yes
Pattern the "Data Lines" group, you can
assign alternating colors to the False No
data lines. This will improve the Formula Formula dialog
clarity of large tables.
Color Color of the selected
pattern.
Pattern Pattern, with which Number Predefined
every other data line is pattern
assigned. Select one of
107
Objects
108
Inserting Table Objects
109
Objects
Various line layouts or definitions can be defined for the individual types of lines.
Special appearance conditions can be activated, if needed, for the various line
definitions.
110
Inserting Table Objects
All line definitions are defined in the identical manner and consist of columns that
can all be individually edited and formatted.
The individual lines types with their definitions and columns can be edited in the
dialog "Table Contents".
A card is provided for the definition of every line type and the columns.
If line definitions have been created, you can select the definitions to be used in the
new line type.
In the example pictured above, the definition for line definition "data first line" was
selected for use in the data line.
If you are creating a new table and no lines have been defined, this dialog will not
appear.
111
Objects
You also have the possibility to copy one or more columns from one table to another
or from one area of a table to another, using the clipboard.
Defining multiple line definitions
Various layouts can be defined for each line type. In connection with the appearance
conditions, and dependent upon the situation, the appropriate layout will be used. In
this way, table lines for some records will appear in bold print while others are
displayed normally. Or, under certain conditions, the table lines contain other
columns.
▪ To create multiple line layouts for a line, select a line definition and click on the
button "Append the line definition".
▪ If you have defined a layout for at least one line, you have the possibility of using
the existing layout as a template for the new line layout.
▪ As described in Chapter "Define Column Contents", you can now define the
columns, their contents and properties for the new layout. Using the button
"Layout” you can define the complete appearance for the new line layout. You
can define, for example, special frames.
▪ You can assign names to the line definitions. This will make it easier for you to
find the line in complex layouts.
112
Inserting Table Objects
▪ The order of the line definitions in the list can be changed using the arrow
buttons or per drag & drop.
▪ With the "Display in Designer" property you can hide single lines in the
workspace. This is very useful when you have a lot of line definitions.
Format Lines
Select a line to define the appearance of the current table line.
In the category "Spacing", the margins that the table line should have within the table
object can be set.
The margins "Top" and "Bottom" define the space between the individual lines of the
table. A bottom margin of 3.0mm sets a space of 3mm between a line of the
selected type and the following lines. When a top margin for the lines is additionally
defined, the space between the lines will be resized appropriately. Each data line will
be printed with the frame line settings in category "Frame".
With the margins "Left" and "Right", margins relative to the table object or to other
table lines can be set. If you have, for example, defined a left margin of 10.0 for the
header lines and a margin of 20.0 for the data lines, the data lines will be indented
10mm in relation to the header line.
Appearance Conditions for Table Lines
Appearance conditions for the table lines can be assigned using the property
"Appearance Cond." Using the formula button opens the familiar dialog for the
definition of logical expressions (see Chapter "Variables, Formulas and Expressions").
These appearance conditions are valid in addition to the project specific appearance
conditions assigned defined with Project > Filter.
Appearance conditions for table lines are especially meaningful when you define
more than one layout for a table line. You can use appearance conditions to change
between the various layouts.
If each table line is to be displayed with a single line layout, ensure that the various
appearance conditions assigned to the individual lines cancel each other out.
Otherwise the same record will appear repeatedly in the table, which means once for
every line layout that fits the appearance conditions. Sometimes this may be desired,
especially when the fields of a table are to be displayed over multiple lines.
113
Objects
▪ In order to insert a new column, click on the button next to the "Append
column" button and select the relevant column type.
▪ You can edit, delete, cut, copy or insert the selected columns using the buttons.
Columns can also be moved across line definitions by Drag & Drop.
▪ The order of the column definitions can be changed with the arrow buttons or
by Drag & Drop.
▪ You can give the column definitions new names, such as e.g. "Article No.",
"Customer Number" etc. This will enable you to quickly find this column in
complex layouts.
▪ You can also insert new columns in this dialog window by Drag & Drop from the
variable list, provided it is not linked. The column type is then adopted from the
variable type.
▪ Editing of the column is done in the familiar Formula Editor, in which
expressions can be defined as column contents, see Chapter "Variables,
Formulas and Expressions" for more information.
▪ The field selection wizard makes it easier to add new columns. When
defining the table rows you will be assisted by the field selection wizard, in
which only the fields of the selected table and its parent tables are available. It is
114
Inserting Table Objects
115
Objects
116
Inserting Table Objects
Bar Width The narrowest bar width in SCM units (1/1000 Formula Formula dialog
(only with mm). 0=automatic adjustment. Not supported
barcodes) by all barcode types.
Orientation Orientation of the barcode within 0 left
(only with the object frame.
barcodes) 1 centered
2 right
Formula Formula dialog
Bar Width The ratio between the bars or spaces. Not Formula Formula dialog
Ratio supported by all barcode types.
(only with
barcodes)
Show Text Define whether the contents of the barcode True Yes
(only with should also be displayed as clear text.
barcodes) False No
Formula Formula dialog
Rotation Rotates the object counter-clockwise. E.g. turn 0 0º
column titles by 90º
1 90º
2 180º
3 270º
Formula Formula dialog
Fit Determines the behavior when the content is 0 Truncate
too long for the line.
1 Wrap
A long word is cut off at value "1" (Wrap). With
the option "Force Wrap" you can force a wrap 2 Shrink
after the last suitable character. 3 Compress
Value "3" (compress) reduces the character Formula Formula dialog
separation and should only up to a certain limit
be used around the legibility to ensure.
117
Objects
118
Inserting Table Objects
119
Objects
It is also possible to use appearance conditions for group header lines. Further
information can be found in the section "Appearance Conditions for Table Lines" in
this chapter. The options of the group header are defined in a property list:
Property Description Value Description
Group by Whenever the string defined by this Formula Formula
expression changes, a group change is dialog
triggered.
Group Sums The selected sum variables are reset each Dialog
time the group line is printed.
We recommend to use the function Sum() for
aggregations.
Repeat as Prints the group header again after a page True Yes
Header break.
False No
Formula Formula
dialog
PDF Index Sets the index level for the PDF-TOC (0=do Number
Level not add to TOC).
Formula Formula
dialog
120
Inserting Table Objects
121
Objects
In general, a distinction is made between three and two axis charts. Three axis charts
have three data axes and can be used to visualize the sales range per month and
employee, for example. A two axis chart has only two data axes and shows e.g. the
sales range for the whole company over a number of months.
4.15.1 Properties
See chapter "4.13.3 Characteristics of Elements" in the report container.
122
Inserting Chart Objects
123
Objects
124
Inserting Chart Objects
125
Objects
126
Inserting Chart Objects
127
Objects
128
Inserting Chart Objects
129
Objects
130
Inserting Chart Objects
131
Objects
Sort Sets wether the data should be sorted (alpha True Yes
Coordinates numeric or numeric).
False No
Formula Formula dialog
Number of The designer has no access to the "real" data Number Formula dialog
sample which will appear in your chart when printing.
records In order to have a picture of how your chart is
going to look like, you can set the number of
values to appear in the designer here.
Filter Allows to filter the diagram data. Only the True True
records matching the condition will be used
for the chart data. If you leave the default False False
setting "True" the chart will display all values. Formula Formula dialog
Axis label Select a text for your axis label here. Formula Formula dialog
Rotation Rotation Angle in degrees. Number Formula dialog
Coordinate Select the text which should be used to label Formula Formula dialog
Label the legend.
Rotation Rotation Angle in degrees. Number Formula dialog
Fixed Sets wether the font size True Yes
Fontsize should be fixed. If not, the font
size will be decreased in order False No
to prevent text from Formula Formula dialog
overlapping.
Legend Select the position of the legend. If you None
Select "at chart" the values are given directly
at the axis. Otherwise, a legend will be added At Axis
on the left, right, bottom or top of the chart. Top
Left
Right
Bottom
132
Inserting Chart Objects
133
Objects
Base 2 (binary)
Formula Formula dialog
Maximum You can limit the shown data range in order True Yes
Value to e.g. regard huge divergences within the
Automatic values. If your values have high peaks, you False No
can cut them off by setting a max limit. If you Formula Formula dialog
leave the default setting "No" the chart will
display all values.
Threshold Maximal Axis Value. Number Formula dialog
Minimum You can limit the shown data range in order True Yes
Value to e.g. regard huge divergences within the
Automatic values. If your values have low peaks, you False No
can cut them off by setting a Minimum Value. Formula Formula dialog
If you leave the default setting "No" the chart
will display all values.
Threshold Minimal Axis Value. Number Formula dialog
Presentation Visual presentation. Depending on selected 1 Cylinder
type and subtype different types of
representation are available: 2 Bar
Pie: - 3 Pyramid
Line: 5, 6, 7 7 Line +
Symbols
8 Octaeder
9 Cone
Formula Formula dialog
Width Bar or Line width. Number Formula dialog
Label on Sets the text to display on the objects. 0 No
objects
1 Yes
Formula Formula dialog
Content The formula of the elements Formula Formula dialog
label, e.g.
LL.ChartObject.AxisCoordina
te
Coordinate Sets whether coordinate lines should be True Yes
Lines drawn in the chart background.
False No
134
Inserting Chart Objects
Number of The number of sub-ticks between two major Number Formula dialog
Ticks coordinate ticks.
135
Objects
Define rows
The Series Axis (y-axis) for a three dimensional chart has the additional possibility to
select the values not just by formula but also by rows. Modify via the Combobox
located above the properties list for the entry "Use rows as data source". The
property "Row Definitions" can be used to modify the properties of the axis. Open
the dialog "Row definitions" and define the individual rows (e.g. Measured
Value/Target/Actual values). It is possible to define properties for each row and then
move it to the section orientation menu.
136
Inserting Chart Objects
137
Objects
138
Inserting Chart Objects
139
Objects
140
Inserting Chart Objects
141
Objects
4.15.8 Examples
Chart options depend on the available data. The following examples have therefore
been kept general. An application may give you the fields "OrderDate", "Product
Category", "Unit Price" and "Quantity", denoting the category of the product, the
quarter in which a transaction took place and the total transaction volume (Unit
Price*Quantity).
Multi-row bar chart
This would be the simplest way to analyze your data; you would have a diagram
showing the total transaction volume for each category and quarter:
142
Inserting Chart Objects
Pie chart
If you are interested in the share each product category contributes to the total sales
over a period of time, you would select a pie chart. This chart directly displays the
shares:
143
Objects
144
Inserting Crosstab Objects
4.16.1 Properties
See chapter "4.13.3 Characteristics of Elements" in the report container.
145
Objects
▪ With the "New" button, you can add a group for rows or columns.
▪ With the "Properties" button you can edit the selected group, with the button
"Delete" you can delete the selected group.
▪ You can add as many groups (layers) as you need, e.g. a group "Year" and
another group "Quarter". With the arrow buttons, the order can be changed. The
lowest row or column is the innermost group.
▪ In the field "Value of the result cells" the cell contents are defined. Here you can
select with the button "Edit group result formula" in the dialog "Cell contents" an
aggregate function for the content, e.g. sum or quantity. This is the formula that
is set into the "value" property of each content cell. In the lower part of the dialog
"Cell contents", the selected result function is displayed.
146
Inserting Crosstab Objects
147
Objects
You can select the cells directly in the sketch in the top part of the dialog and can
then edit their properties. To select more than one cell, hold the CTRL key and
selector drag a frame around the cells with the cursor.
See also Chapter "Common Object Properties".
Property Description Value Description
Value Formula for the cell value. This is evaluated Formula Formula dialog
by the Crosstab.Cells... functions.
Displayed Text to be displayed in the cell, so it can be Formula Formula dialog
contents different from the property "Value".
Link Link that is opened when clicked (only in Link Link
preview, PDF and HTML export).
Formula dialog
Rotation Rotates the object anti-clockwise. With this 0 0°
function you can, for example, turn column
titles by 90°. 1 90°
2 180°
3 270°
Formula Formula dialog
Vertical Vertical alignment of the contents in the 0 top
alignment available space.
1 centre
2 bottom
Formula Formula dialog
Alignment The text alignment. Decimal means numbers 0 Left
are aligned by their decimal points.
(with Text) 1 Centre
2 Right
3 Decimal
Formula Formula dialog
Decimal Position of the decimal point Number
position (only applicable in decimal
alignment, negative means Formula Formula dialog
from the right).
Maximum Sets the maximum width for a cell. If the text Number
Width is wider, the line is wrapped. With the
function Join$ () you can then show the Formula Formula dialog
individual values in a cell.
Minimum Sets the minimum width of the cell. Number
Width
Formula Formula dialog
148
Inserting Crosstab Objects
Minimum Size Sets by how much the crosstab can be Number Formula dialog
shrunk in order to avoid a horizontal page
break. 50=that it can be shrunk up to 50%
to avoid a page break; 100=retain original
size.
Minimum Sets how much height should be available Number Formula dialog
to an object. If less space is available, a
149
Objects
150
Inserting Formatted Text
4.17.1 Properties
See also Chapter "Common Object Properties".
Property Description Value Description
Rotation Rotates the object counter clockwise. 0 0°
151
Objects
1 90°
2 180°
3 270°
Formula Formula dialog
Page break Defines if the object can cause a page break, or True Yes
(in the case of an RTF object) enable another
object to print the text exceeding the object's False No
size. Formula Formula dialog
With labels, the next label will be started only
when all objects with this option have been
printed on the previous label. This option may
not be available if page break ping is not
supported by your application. The option is
activated by default. If you wish to print an
object on every page of a list project, this option
must be deactivated or the object will otherwise
only be printed once per project.
152
Inserting Formatted Text
As a source, you may either select an RTF-Variable or "(Free Text)". If you select the
latter, an input box and formatting aids are displayed in the dialog, which are
explained below. Simply select the text to be formatted and select the respective
format tool:
▪ Select the font, size, color and character set with the combo-boxes.
▪ Select Left justified, centered, right justified, block and text background color,
Indent paragraph (2.5 mm, right Mouse click: indent following lines), Unindent
paragraph (2.5 mm, right Mouse click: unindent following lines), Set line and
paragraph spacing, Enumeration, Insert from clipboard, Undo action, Repeat
action
▪ By clicking the button "Formula" you have access to the Formula Wizard. An
important function of the Formula Wizard is ToRTF, which you can use to
convert variables into RTF-text.
153
Objects
154
Inserting Form Controls
155
Objects
4.19.1 Properties
See also Chapter "Common Object Properties".
4.19.2 HTML-Contents
You can define the contents of the object in the HTML-Object Properties dialog.
▪ File: Select this option to display the contents of a previously saved HTML file.
The "Browse..." button opens a file selection dialog. The file must be located on
a local storage medium or network.
▪ URL: This option is used to display websites (e.g. www.combit.net). The
contents are downloaded at runtime, thus you'll need a connection to the
Internet.
▪ Field/Variable: If your application makes HTML contents available, these can be
selected here. Refer to your application's documentation for details.
▪ Fit to Object: Select this option to fit the contents into the object. If the option is
deactivated, the contents are fit to the object width and output may wrap over
several pages.
▪ Proxy: If your access is via a proxy server, you must enter its address in the
settings group. By default, your current proxy configuration will be set. Leave
this setting (without editing the configuration) in order to be able to distribute
your projects to other systems with a different proxy configuration. The current
configuration will always be taken in this mode.
156
Inserting OLE-Server Documents
4.20.1 Properties
See Chapter "Common Object Properties".
4.20.2 Contents
If contents are available the host application will be opened, otherwise the standard
"Insert Object” dialog will appear.
Tip: When using a template to create your own form or to fill out a form, size and
position of the template are of critical importance. We recommend that the
template be placed using the Property List, as this allows a more exact placement
than the use of the mouse.
4.21.1 Properties
See also Chapter "Common Object Properties".
Property Description Value Description
File name Select the file that contains the required form File Open file
template. name dialog
Relative Path The path is relative to the True Yes
157
Objects
Fade color The selected color will be added to the template Color dialog
to fade the color.
Choice of
predefined
colors and the
Formula dialog
Keep Using the option "Keep Proportions" you can
proportions define whether the graphic should be inserted
in the correct relationship between height and
width (True), or if the graphic should be resized
to occupy the complete object (False).
Visible in Sets whether the template should be visible in True Yes
Preview the preview.
False No
Formula Formula dialog
158
List of List & Label Variables and Fields
5. Appendix
159
Appendix
(not for Multitab projects) during this printing process on the current page. This
number also contains the records that were not printed
due to filter conditions. This number will increase with
every record.
LL.CountPrintedData Number of the actually printed records.
(not for Multitab projects)
LL.CountPrintedDataThisPage Number of the actually printed records on the current
(not for Multitab projects) page.
LL.CurrentContainerItem Value of the property "name" for report container
elements.For layout region.
LL.CurrentTableColumn Index of the column in multi-column projects.
LL.IsForcedPage Shows whether the page has been forced by the
"Minimum Page count" project setting.
LL.FilterExpression Selected project filter.
LL.OutputDevice Output device. Can be used to assign object specific
formats for certain output formats ("HTML", "RTF",
"PDF",…)
LL.SortStrategy Selected sorting can be set, dependent upon the
application in the Project Menu.
@LLFAX.RecipName Fax: Recipient name
@LLFAX.RecipNumber Fax: Recipient fax number
@LLFAX.SenderBillingCode Fax: Sender billing code
@LLFAX.SenderCompany Fax: Sender company
@LLFAX.SenderDept Fax: Sender department
@LLFAX.SenderName Fax: Sender name
160
List of List & Label Variables and Fields
161
Appendix
162
List of Available Functions
163
Appendix
164
List of Available Functions
IssueIndex$ - String
Join$ String [,String, [Number, [Boolean]]] String
JulianToDate Number Date
LastFooterThisTable - Boolean
LastPage - Boolean
Left$ String, Number [,Boolean] String
Len String Number
LoadFile$ String [,String] String
Locale$ Number[,String] String
LocCurr$ Number[,String] String
LocCurrL$ Number[,String] String
LocDate$ Date, [,String, [Number]] String
LocDateTime String [,String] Date
LocNumber$ Number[,String] String
LocTime$ Date, [,String, [Number]] String
LocVal String [,String] Number
Log Number Number
Log10 Number Number
Lower$ String String
Ltrim$ String String
Max Number | Date Number | Date
Maximum Number [,Boolean] Number
Median Number [,Boolean] Number
Mid$ String, Number [,Number] String
Min Number | Date Number | Date
Minimum Number [,Boolean] Number
Minute [Boolean] Number
Month Date Number
Month$ Date String
Now - Date
NthLargest Number, Number [,Boolean] Number
165
Appendix
166
List of Available Functions
Abs
Purpose:
Calculate the absolute value of a number. A negative value will be returned as
positive and a positive value will remain unchanged.
Parameter:
Number
Return value:
Number
Example:
Abs(-3) =3
Abs(3.12) = 3.12
AddDays
Purpose:
Adds the given number of days to the date, or subtracts the number of days
when a negative value is entered.
Parameter:
Date
167
Appendix
Number
Return value:
Date
AddHours
Purpose:
Adds the given number of hours to the date, or subtracts the number of hours
when a negative value is entered.
Parameter:
Date
Number
Return value:
Date
AddMinutes
Purpose:
Adds the given number of minutes to the date, or subtracts the number of
minutes when a negative value is entered.
Parameter:
Date
Number
Return value:
Date
AddMonths
Purpose:
Adds the given number of months to the date, or subtracts the number of
months when a negative value is entered.
Parameter:
Date
Number
Return value:
Date
AddSeconds
Purpose:
168
List of Available Functions
Adds the given number of seconds to the date, or subtracts the number of
seconds when a negative value is entered.
Parameter:
Date
Number
Return value:
Date
AddWeeks
Purpose:
Adds the given number of weeks to the date, or subtracts the number of
weeks when a negative value is entered.
Parameter:
Date
Number
Return value:
Date
AddYears
Purpose:
Adds the given number of years to the date, or subtracts the number of years
when a negative value is entered.
Parameter:
Date
Number
Return value:
Date
Alias$
Purpose:
Returns the value that is specified for the key (first parameter) in the
key/value-pairs (second parameter).
Parameter:
String Expression for the value to be searched.
String List of values (Form: <key=value>| [<key=value>]. To be able to
use "|" or "=" in the value or key, place a "\" infront of it.
169
Appendix
ArcCos
Purpose:
Calculates the arccosine of the value.
Parameter:
Number Value
Number (optional) Mode (0=Degree, 1=Radian). Default: 0.
Return value:
Number
Example:
ArcCos (0) Result: 90
ArcSin
Purpose:
Calculates the arcsine of the value.
Parameter:
Number Value
Number (optional) Mode (0=Degree, 1=Radian). Default: 0.
Return value:
Number
Example:
ArcSin (0.5) Result: 30,00
ArcTan
Purpose:
Calculates the arccotangent of the value.
Parameter:
Number Value
Number (optional) Mode (0=Degree, 1=Radian). Default: 0.
170
List of Available Functions
Return value:
Number
Example:
ArcTan (1) Result: 45,00
Asc
Purpose:
Returns the ASCII-Code of the first character of the string.
Parameter:
String
Return value:
Number
Example:
Asc("A") Result: 65
AskString$
Purpose:
With this function, information can be requested from the user during
printing. A typical example of use for this function would be in a project for a
bank transfer form. Information that remains constant, such as name and
bank details of the sender, can be integrated directly into the project as fixed
text or variables. The transfer amount, however, will almost always be
different. With the function AskString$(), this information can be requested
from the user during printing.
At print time, a dialog will appear in which the needed information can be
entered.
The dialog allows the entered value to be carried over. Abort with "Cancel".
With the button "All", the entered value will be automatically used for all future
result for the AskString$ function during thus print job. This is useful when
the value remains constant over all records.
Parameter:
String The first parameter contains some descriptive text that will appear
in the dialog. Since this is a formula, fixed text must be entered in
quotation marks, for example "Transfer amount:”. This first
parameter must be entered, all remaining parameters are optional.
If no other parameter(s) is/are entered, the first string is also the
default setting for the user input.
171
Appendix
Boolean (optional) The second parameter allows you to define whether the
dialog should be shown once prior to printing (default, FALSE), or
if the dialog should be shown for each record (TRUE).
String (optional) The third parameter contains the string that appears as
the recommended value for the user input. Since this is a formula,
fixed text must be entered in quotation marks, for example "50.00
USD".
Number (optional) The last parameter defines the number of characters that
can be entered by the user. A value of 16, for example, allows the
user to enter a maximum of 16 characters.
Return value:
String
Example:
AskString$("Transfer amount",True,"50.00 USD",16)
Opens a dialog with the title "Transfer amount”, a recommended value of
"50.00 USD” and a maximum of 16 characters. Since the second parameter is
TRUE, the dialog will be shown for each record to be printed.
AskStringChoice$
Purpose:
Prompts the user to choose a value for the specified variable from a
combobox at print time.
Parameter:
String Text, which is displayed and should specify what is to be entered.
Boolean (optional) Sets whether the dialog should be shown once prior to
printing (default, FALSE), or if the dialog should be shown for each
record (TRUE).
String (optional) The combobox entries. The single entries of the combo
box are separated by "|". If one of the entries is '***' (three
asterisks), the text is editable. So a new value which may be
different from the list items can be entered.
Number (optional) Maximum length (Default: 8192 characters).
Return value:
String
Example:
AskStringChoice$ ("Document type".F.,"Offer|Invoice|Delivery note|***)
ATrim$
Purpose:
172
List of Available Functions
Avg
Purpose:
Generates the mean of the set of values that is produced by the first
argument.
Parameter:
Number Expression of the value to be calculated.
Boolean (optional) TRUE: After the output, the values which were stored for
the calculation are deleted. (default: TRUE). Please note that the
stored calculation values are generally deleted for every (sub)table
end. The second parameter only decides whether the values are
already deleted within the table.
Return value:
Number
Example:
Avg(Order_Details.Quantity*Order_Details.UnitPrice)
Barcode
Purpose:
This function converts a string to a barcode. This function can only be used in
lists.
Parameter:
String Barcode value (contents)
String Barcode type. The possible barcode types will be listed by the
auto-complete function of the wizard. If the barcode cannot be
correctly interpreted it will not be printed. Some barcodes require
special formats that must be used. Further information can be
found in Chapter "List of Available Barcodes".
Return value:
Barcode
Example:
173
Appendix
Barcode(Upper$(Name),"3of9")
Barcode$
Purpose:
Returns the text contents of a barcode.
Parameter:
Barcode
Return value:
String
Example:
Barcode$(BC_3OF9) Result: "Item 4711"
BarcodeType$
Purpose:
Returns the type of the barcode as a string.
Parameter:
Barcode
Return value:
String
BasedStr$
Purpose:
Returns the value to any radix.
Parameter:
Number Value.
Number Radix (2 to 36).
Number (optional) Minimum length of the string (without optional prefix). 0
for the minimal length (Default).
Boolean (optional) Defines if a prefix ('0b' for radix 2, '0o' for radix 8, '0x' for
radix 16) is inserted before the string (Default: False).
Return value:
String
Example:
BasedStr$ (1,2,1,True) Result: 0b1
174
List of Available Functions
BinaryAND
Purpose:
Links the two (integer) parameters binary with 'and' and returns the result.
Parameter:
Number Value.
Number Value.
Return value:
String
Example:
BinaryAND (01,10) Result: 0
BinaryAND (10,11) Result: 10
BinaryNOT
Purpose:
Negates the value binary and returns the result.
Parameter:
Number Value.
Return value:
String
Example:
BinaryNOT (10) Result: 5 (ten equivalent 1010, five equivalent 0101)
BinaryOR
Purpose:
Links the two (integer) parameters binary with 'or' and returns the result.
Parameter:
Number Value.
Number Value.
Return value:
String
Example:
BinaryOR (01,10) Result: 11
BinaryOR (10,11) Result: 11
175
Appendix
BinarySHL
Purpose:
Shifts the value binary to the left.
Parameter:
Number Value.
Number Number of bits, the value is shifted.
Return value:
String
Example:
BinarySHL (10,1) Result: 20
BinarySHR
Purpose:
Shifts the value binary to the right.
Parameter:
Number Value.
Number Number of bits, the value is shifted.
Return value:
String
Example:
BinarySHR (10,1) Result: 0,00
BinaryXOR
Purpose:
Links the two (integer) parameters binary with 'exclusive or' and returns the
result.
Parameter:
Number Value.
Number Value.
Return value:
String
Example:
BinaryXOR (01,10) Result: 11
BinaryXOR (10,11) Result: 1
176
List of Available Functions
BMPMapToGray
Purpose:
Converts the picture to greyscales.
Parameter:
Picture or String
Return value:
Picture
Example:
BMPMapToGray ("sunshine.gif")
BMPRotate
Purpose:
Rotates a picture by the given degree.
Parameter:
Picture or String
Number Rotation angle
Number (optional) Mode (0=Degree, 1=Radian)
Return value:
Picture
Example:
BMPRotate(Article.Picture,90)
Case$
Purpose:
Converts a number, dependant upon the value, into a string. Assignment is
made with a formatting string that contains the replacement string for the
number values in ascending order.
Parameter:
Number Number to be converted (n). The n-th value of the character string
will be copied to the return value string. If enough values do not
exist, the character string will remain empty.
String Collection of strings separated by a particular character. If a third
parameter does not exist, this is the "|" character, otherwise the
first character of this parameter.
String (optional) Separator for the formatting string (default: "|")
Return value:
177
Appendix
String
Example:
Case$(Page(),"0|I|II|III|IV|V|VI|VII|VIII|IX|X")
Result: "III", if Page() = 3
Ceil
Purpose:
Calculates the next bigger integer based on the given value. See also function
Floor().
Parameter:
Number Value.
Return value:
Number
Example:
Ceil(5.6) Result: 6
Century
Purpose:
Returns the century of the date.
Parameter:
Date
Boolean (optional) sets whether the calculation should be carried out
'simply' (century starts with year 0) or 'historically' (century starts
with year 1). Default: False
Return value:
Number
Example:
Str$(Century(Today()),0,0) Result: 21
Str$(Century(Date("01.01.2000")),0,0) Result: 20
Str$(Century(Date("01.01.2001")),0,0) Result: 21
Str$(Century(Date("01.01.2000"),.T.),0,0) Result: 21
CheckMod10
Purpose:
Calculate the modulo 10 checksum digit of the string.
Parameter:
178
List of Available Functions
Chr$
Purpose:
Converts a number to a character. This character has the entered number as
it’s ASCII-Code. For multibyte character sets, the highword is the lead byte,
for Unicode, the value is the Unicode code point.
Parameter:
Number
Number (optional) Defines the type of the parameter. 0=multibyte
character sets, 1=Unicode. Default is dependent on the List &
Label dll used.
Return value:
String
Example:
Chr$(64) Result: "@"
ChrSubst$
Purpose:
Searches a character string for a string that is contained in the second
parameter. Every occurrence of this string will be replaced by the string
defined in the third parameter. If no third parameter exists, the strings will be
removed.
Parameter:
String
String
String (optional)
Return value:
String
Example:
ChrSubst$("Otto", "Oo", "_") Result: "_tt_"
ChrSubst$("Normalconsumer", "aeiou","??") Result: "N??rm??lc??ns??m??r"
ChrSubst$("Normalconsumer", "aeiou") Result: "Nrmlcnsmr"
ChrSubst$("3.1415926535",".",",") Result: "3,1415926535"
179
Appendix
Cond
Purpose:
Allows to define conditions. The first parameter is a logical expression that
will be evaluated as "True” of "False”. If the first expression is "True”, the
second expression will be returned as the result. If the expression is "False”,
the third expression will be returned as the result. If no third expression is
entered, the return value will assume the following standard values,
dependent upon its type:
2. Argument Type Return value if expression = False
Boolean False
Number 0
Parameter:
Boolean
All
All (optional) The third parameter must be the same type as the
second parameter.
Return value:
All
Example:
Cond(COUNTRY<>"USA",COUNTRY_LONG)
Cond(PRICE=0,"on request",Str$(PRICE,0,2))
Cond(empty(COMPANY),SALUTATION,COMPANY)
Constant.Pi
Purpose:
Returns the value of Pi.
Parameter: -
Return value:
Number
Example:
180
List of Available Functions
Contains
Purpose:
Evaluates if a string contains another string (second parameter).
Parameter:
String
String
Return value:
Boolean
Example:
Contains("Itemnumber: 12345", "1234") Result: True
Continued
Purpose:
Indicates that a text or RTF-object had a page break. This means that the
current page is a result of the page break.
Parameter:
-
Return value:
Boolean
Cos
Purpose:
Calculates the cosine of the value.
Parameter:
Number Value
Number (optional) Mode (0=Degree, 1=Radian). Default: 0.
Return value:
Number
Example:
Cos (90) Result: 0
Count
Purpose:
181
Appendix
Counts the number of values of the first argument. With this function, all
NULL values in the argument are included in the count. Use the CountIf()
function when you want to disregard NULL values.
Hint: Sum variables (see "Working with Sum Variables") are an alternative way
of creating counters. Sum variables are principally applicable to whole tables.
Aggregate functions principally table specific.
Parameter:
All Values to count (sets the value to count). Needed to define the
table (subtable) for which the records shall be counted.
Boolean (optional) TRUE: The values which were stored for the calculation
are deleted after output. (default: TRUE). Please note that the
stored calculation values are generally deleted for every (sub)table
end. The second parameter only decides whether the values will
be already deleted within the table.
Return value:
Number
Example:
Count(Order_Details.ProductID)
NthLargest(Article.Price,Count(Distinct(Artikel.Stkpreis),True)-1, True)
Calculates the second-smallest value, only taking repeated values into
account once.
CountIf
Purpose:
Counts the number of values that comply with the condition. Use the function
Distinct() when repeated values are only to be counted once.
Parameter:
Boolean Expression for the comparison.
Boolean (optional) TRUE: The values which were stored for the calculation
are deleted after output. (default: TRUE). Please note that the
stored calculation values are generally deleted for every (sub)table
end. The second parameter only decides whether the values will
be already deleted within the table.
Return value:
Number
Example:
CountIf(Customers.Region="EMEA")
CountIf(Distinct(Customers.Region="EMEA")) counts repeated values once
only.
182
List of Available Functions
Crosstab.Cells.Avg
Purpose:
Returns the average of the cell contents. Only available in crosstab objects.
Parameter:
Boolean (optional) True: Only defined values are entered into the calculation
(Default: False). Defined values: if you are, for example, analyzing
customers and quarters, the quarters without turnover constitute
an undefined value and can be treated separately in the
calculation.
Number (optional) Row layer (0= bottom layer or innermost group, 1= next
lowest, ...). Default: 0.
Number (optional) Column layer (0= bottom layer or innermost group, 1=
next lowest, ...). Default: 0.
Return value:
Number
Crosstab.Cells.Max
Purpose:
Returns the largest value of the cell contents. Only available in crosstab
objects. For the parameters and their meaning, see function
Crosstab.Cells.Avg().
Crosstab.Cells.Min
Purpose:
Returns the smallest value of the cell contents. Only available in crosstab
objects. For the parameters and their meaning, see function
Crosstab.Cells.Avg().
Crosstab.Col$
Purpose:
Returns the column header for the cell currently being output. Only available
in crosstab objects.
Parameter:
Number (optional) Column layer (0= lowest layer or innermost group, 1=
next lowest, ...). Default: 0.
183
Appendix
Return value:
String
Crosstab.Col
Purpose:
Returns the column index for the cell currently being output. Only available in
crosstab objects.
Parameter:
Boolean (optional) True: layer (only cells in this layer count), Default: False.
Return value:
Number
Crosstab.Row$
Purpose:
Returns the row header for the cell currently being output. Only available in
crosstab objects.
Parameter:
Number (optional) Row layer (0= lowest layer or innermost group, 1= next
lowest, ...). Default: 0.
Return value:
String
Crosstab.Row
Purpose:
Returns the row index for the cell currently being output. Only available in
crosstab objects.
Parameter:
Boolean (optional) True: layer (only cells in this layer count), Default: False.
Return value:
Number
Crosstab.Value
Purpose:
Returns the cell's content.
Parameter: -
Return value:
184
List of Available Functions
Number
CStr$
Purpose:
Formats a number according to a format character string. This is identical to
the formatting information for the function printf() in the language C. The first
parameter is a number of double precision, and the conversion operator can
assume i.e. the following values: 'f', 'g', 'G', 'e', 'E'.
Parameter:
Number
String format string in C-notation, i.e. '%<format>f'.
Return value:
String
Example:
CStr(Pi,"%5.1f") Result: " 3.1"
CStr(100*Pi,"nun: %g") Result: "nun: 3.141593e+02"
Date
Purpose:
Converts a string to a date.
▪ If the string Contains a dot ".", it will be read in the "d.m.y" format (Ger-
man).
▪ If the string contains a diagonal slash "/", it will be read in the "m/d/y" for-
mat (US English).
▪ If the string contains a dash "-", if will be read in the "y-m-d" format (ANSI).
▪ If the input cannot be correctly interpreted, then the date represents a
value that is larger than all other values, (1e100). The return value can be
evaluated for correctness using "JulianToDate(1e100)".
▪ When one or two digits represent the year, all values under 30 will be
applied to the 21st century (20xx) and all values over 30 will be applied to
the 20th century (19xx).
Parameter:
String
Return value:
Date
Example:
185
Appendix
Date("17.10.2007")
Date("10/17/2007")
Date("2007-10-17")
Date$
Purpose:
Converts a date, using a format string, into an appropriately formatted string.
Composition of the format string: this is a normal string into which
placeholders can be embedded.
Place holder Description
%d Day (1..31)
%<n>d Day to <n> digits
%0<n>d Day to <n> digits, filled on left with '0's
%w Weekday (1..7)
%<n>w Weekday to <n> digits
%0<n>w Weekday to <n> digits, filled on left with '0's
%m Month (1..12)
%<n>m Month to <n> digits
%0<n>m Month to <n> digits, filled on left with '0's
%y Year
%<n>y Year, to <n> digits
%0<n>y Year, to <n> digits, filled on left with '0's
%D Weekday, written out
%M Month, written out
"%e", "%<n>e" Year in the local calendar (Japan: Emperor's year)
"%g", "%<n>g" Era of the local calendar (Japan: Emperor’s era)
"%g", "%1g" Single letter, Latin letters
"%gg", "%2g" Single letter, localized
"%ggg", "%3g" Long name, localized
"%gggg", "%4g" Long name, Latin letters
"%x" Localized date, short form
186
List of Available Functions
As long as one of the above formats is used, the optional third parameter can
be used to set the locale. If the second parameter contains a valid ISO-
Country code, the third parameter can be used to set either the short "0” or
long "1” format. See also Chapter "List of ISO 3166 Country Codes".
Parameter:
Date Value to be formatted.
String (optional) Format description or country code.
String (optional) Country code or date format.
Return value:
String
Example:
Date$(Today(),"Date: %D, %d/%m/%y") Result: "Date: Thursday, 8/11/2007"
Date$(Today(),"%2wthWeek; %D, %2d/%2m/%4y") Result: "45th Week,
Thursday, 8/11/2007"
Date$(Today(),"%D, %3d/%02m/%4y") Result: "Thursday, 8/11/2007"
DateDiff
Purpose:
Returns the difference between two dates in days.
Parameter:
Date First date value
Date Second date value
Return value:
Number
Example:
DateDiff(Date("01.01.2009"),Date("01.03.2009")) Result: 59
DateDiff$
Purpose:
Returns the difference between two dates in days as string.
Parameter:
Date First date value
Date Second date value
String (optional) Format
Return value:
187
Appendix
String
Example:
DateDiff$(Date("01/01/2009"),Date("03/01/2009")) Result: 2 Months
DateHMS
Purpose:
Converts three numbers for hour, minute and second into a date.
Parameter:
Number Hour
Number Minute
Number Second
Return value:
Date
DateInLeapYear
Purpose:
Checks if the given date is in leap year or not. The calculation is made
according to the proleptic grgorian calendar.
Parameter:
Date
Return value:
Boolean
Example:
DateInLeapYear("01.01.2012") Result: True
DateInRange
Purpose:
Evaluates if the date falls within the entered time interval:
Minimum Date: JulianToDate(0)
Maximum Date: JulianToDate(1e100)
Parameter:
Date Date to be evaluated.
Date Lower limit of the test interval.
Date Upper limit of the test interval.
Return value:
188
List of Available Functions
Boolean
Example:
DateInRange(Date("2007.10.20"),Date("2007.2.29"),Today()) Result: True
DateToJulian
Purpose:
Calculates the Julian value of a date. Each day (even those in the past) are
assigned a unique number.
Parameter:
Date
Return value:
Number
Example:
DateToJulian(Today()) Result: 2453992
DateYMD
Purpose:
Converts three numbers for day, month and year into a date.
Parameter:
Number Year
Number Month
Number Day
Return value:
Date
Example:
DateYMD(2009, 11, 1) Result: 01.11.2009
Day
Purpose:
Determines the day (1...31) of the month and returns it as a number.
Parameter:
Date
Return value:
Number
Example:
189
Appendix
Day(Date("17.10.2009")) Result: 17
Day$
Purpose:
Determines the day (1…31) of the month of a date and returns it as a string.
Parameter:
Date
Return value:
String
Example:
Day$(Date("17.10.2009")) Result: "17"
Decade
Purpose:
Returns the decade of the date. Hint: The value is always relative to the start
of the century (1..10)!
Parameter:
Date
Boolean (optional) sets whether the calculation should be carried out
'simply' (decade starts with year 0) or 'historically' (decade starts
with year 1). Default: False
Return value:
Number
Example:
Str$(Decade(Date("01.01.2009")),0,0) Result: 1
Str$(Decade(Date("01.01.2000")),0,0) Result: 10
Str$(Decade(Date("01.01.2000"),.T.),0,0) Result: 1
Distinct
Purpose:
Affects the higher order aggregate function (e.g. Sum(), Avg(), Count()...) and
causes equal values only to be used once in the calculation.
Parameter:
All
Return value:
All
190
List of Available Functions
Example:
CountIf(Distinct(Customers.Region="EMEA"))
Dow
Purpose:
Returns the day of the week to a number(1...7), 1=Sunday, 2=Monday, ...
Parameter:
Date
Return value:
Number
Example:
Dow(Date("01.01.2010")) Result: 4 (Wednesday).
Dow$
Purpose:
Returns the day of the week as a string in accordance with the country
settings, "Sunday", "Monday", ...
Parameter:
Date
Return value:
String
Example:
Dow(Date("01.01.2010")) Result: "Friday"
Drawing
Purpose:
Converts a string type file path into a picture.
Parameter:
String
Return value:
Drawing
Drawing$
Purpose:
Converts a picture into a string type file path.
191
Appendix
Parameter:
Picture
Return value:
String
DrawingHeightSCM
Purpose:
Returns the height of the Picture in SCM units (1/1000mm).
Parameter:
Picture
Return value:
Number
DrawingWidthSCM
Purpose:
Returns the width of the Picture in SCM units (1/1000mm).
Parameter:
Picture
Return value:
Number
Empty
Purpose:
Evaluates if a string is empty. If it is empty, "True” will be the return value,
otherwise "False”. Useful, for example, to determine if the field "ADDRESS” is
empty, and if it is, in combination with the IF-THEN-ELSE condition cond(),
either print the contents of the field "ADDRESS” or "POBOX”.
The third parameter allows the removal of leading and trailing spaces. If this is
evaluated as "True”, a string consisting only of multiple spaces will be
recognized as empty.
Parameter:
String
Boolean (optional)
Return value:
Boolean
Example:
192
List of Available Functions
Evaluate
Purpose:
Evaluates the expression passed as parameter.
Parameter:
String
Return value:
All
Example:
Str$(Evaluate("3*4"),0,0) Result: 12
Str$(Evaluate("4-3"),0,0) Result: 1
Even
Purpose:
Evaluates if a number is even. If the number is even, "True” will be returned,
otherwise "False”.
Parameter:
Number
Return value:
Boolean
Example:
"Page number "+Cond(Even(Page()),"even","odd")
Exists
Purpose:
Checks if a variable or field is defined. Is often used in connection with
GetValue().
Parameter:
String
Return value:
Boolean
Example:
Exists("CustomerID") Result: False
If(Exists("Customer.Status"),Evaluate("Customer.Status"),"no customer status")
193
Appendix
Exp
Purpose:
Calculates the exponential (ex).
Parameter:
Number
Return value:
Number
Example:
Exp(3) Result: 20.08553692
Exp10
Purpose:
Calculates 10 raised to the power of number (10x).
Parameter:
Number
Return value:
Number
Example:
Exp10(3) Result: 1000
FirstHeaderThisTable
Purpose:
Returns whether the header of the table is being output for the first time. The
function can be used as an appearance condition for the header to prevent it
being printed more than once if the table continues onto the next page due to
space limitations. The header is then only printed at the beginning of the
table.
Parameter:
-
Return value:
Boolean
Floor
Purpose:
Calculates the next smaller integer based on the given value. See also
function Ceil().
194
List of Available Functions
Parameter:
Number
Return value:
Number
Example:
Floor(5.6) Result: 5
Frac
Purpose:
Calculates the fractional part of a number
Parameter:
Number
Return value:
Number
Example:
Frac(Pi) Result: 0.1415926535
FStr$
Purpose:
Formats a number according to the format string.
These consist of the following characters ("if negative" refers to the value to
be formatted):
* Digit or '*'-Prefix
$ Local currency symbol
- Digit or sign, if negative
+ Digit or sign
( Digit or '('-Prefix if negative
) ')'-Postfix if negative
# Digit or space prefix
& Digit or '0'
. Decimal point
, Comma, or space prefix
195
Appendix
196
List of Available Functions
GeometricAvg
Purpose:
Calculates the geometric average of the set of values that result from the first
parameter / formula.
Parameter:
Number Expression for the value to be averaged.
Boolean (optional) True: The values which were stored for the calculation
are deleted after output. (default: TRUE). Please note that the
stored calculation values are generally deleted for every (sub)table
end. The second parameter only decides whether the values are
already deleted within the table.
Return value:
Number
GetValue
Purpose:
Returns the value of a variable or field. Is often used in connection with
Exists().
Parameter:
String
Return value:
All
Example:
Str$(GetValue("Customers.CustomerID"),0,0) Result: 1234
If(Exists("Customer.Status"),Evaluate("Customer.Status"),"no customer status")
Hour
Purpose:
Determines the hour of the date and returns it in number format. If the
parameter is not used, the hour of the print time will be returned.
Parameter:
Date (optional)
Return value:
Number
Example:
A condition can evaluate if the current hour has the value "10”. The value of
the current hour must be determined and then compared to the value "10”.
197
Appendix
Hour()=10
HSL
Purpose:
Calculates a color value in the HSL color space (Hue, Saturation, Lightness)
Parameter:
Number Hue [0-360] (0°=red, 120°=green, 240°=blue)
Number Saturation [0-1]
Number Lightness [0-1] (0=no lightness, 1=full lightness)
Return value:
Number
Hyperlink$
Purpose:
The function Hyperlink$ creates a hyperlink text that can be inserted using an
export module. When available, the hyperlink will only be embedded if the
third parameter returns a result of "True” (=default).
To optionally use a hyperlink only on a HTML page, you need to use the List &
Label variable LL.OutputDevice:
Hyperlink$("combit","http://www.combit.net",LL.OutputDevice="HTML")
If an object text contains the character string:
<!--begin:hyperlink="target"-->"Display text"<!--end:hyperlink-->
then a hyperlink will be automatically created in the exported HTML page. The
hyperlink function automatically creates a string with the correct syntax.
Parameter:
String Text
String Hyperlink
Boolean (optional) Embedded
Return value:
String
Example:
Hyperlink$("combit","http://www.combit.net")
If
see Cond
198
List of Available Functions
IssueIndex
Purpose:
Returns the Issue Index (1..) for display and layout region conditions, if
multiple issues are selected in the project parameters
Parameter:
Number
Return value:
Number
Int
Purpose:
Calculates the integer value of a number. The value will be truncated.
Parameter:
Number
Return value:
Number
Example
Int(3,1) Result: 3
IsNULL
Purpose:
Checks whether the transferred value or the result of the expression is NULL,
e.g. an empty date field.
Parameter:
All
Return value:
Boolean
Join$
Purpose:
Collection of strings separated by a particular character.
Parameter:
String Collection of strings separated by a particular character.
String (optional) Separator for the formatting string (default: ";")
199
Appendix
JulianToDate
Purpose:
Interprets a number as a Julian date (each day is assigned a unique number)
and returns the appropriate date.
Parameter:
Number
Return value:
Date
Example:
JulianToDate(2454347) Result: 2007.09.04
LastFooterThisTable
Purpose:
Returns whether the footer of the current table is being output for the last
time. This function can be used as an appearance condition for the footer, in
order to prevent the footer being printed if the table is continued on the next
page due to space limitations. The footer is then only printed on the last page
of the table.
Parameter:
-
Return value:
Boolean
Lastpage
Purpose:
Returns if the current page is also the last page. This function can only be
used in the footer lines of tables, in objects linked with tables or in the layout
regions condition! In all other cases, the result of Lastpage() is always False.
200
List of Available Functions
Parameter:
-
Return value:
Boolean
Example:
Cond(Lastpage(),"Total sum","Subtotal")
Left$
Purpose:
Reduces a string from the right so that only the number of characters set
under Number remain. If the original string is already small enough, it is not
affected.
Parameter:
String The value to be shortened
Number maximum number of positions of the result
Boolean (optional) True: The cut off value is ended with "..." (Default: False).
With numbers < 3 the setting is ignored.
Return value:
String
Examples:
If you had a customer database that contains, amongst other things, the field
NAME for the surname. You now wish to search for all customers whose
surname starts with "C". To do this, you must first identify the starting letters.
Left$(NAME, 1) Result: the first letter of the NAME string.
Left$("combit", 2) Result: "co"
Left$("combit", 4,.T.) Result: "c…"
Left$("combit", 2,.T.) Result: "co"
Len
Purpose:
Returns the number of characters in a string.
Parameter:
String
Return value:
Number
Example:
201
Appendix
Len("1234"+"12") Result: 6
LoadFile$
Purpose:
Outputs the contents of the file as a character string.
Parameter:
String
String (optional) When the file is not available, the value set here is used.
Return value:
String
Example:
LoadFile$("C:\log.txt","File not found!")
Locale$
Purpose:
Returns information about the country settings, for example currency,
decimals, separators, language and country code. The code for the
appropriate country is entered in the second parameter, if no second
parameter is used the default country settings will be used.
Parameter:
Number Index of Locale Entry
String (optional) Country code
Return value:
String
Example:
Locale$(42,"USA") Result: "Monday"
Possible constants for index entry:
http://msdn.microsoft.com/en‐us/library/bb507201.aspx
See also Chapter "List of ISO 3166 Country Codes".
LocCurr$
Purpose:
Returns a string with the valid currency format without the currency symbol
for the entered country.
Parameter:
Number Value to be formatted
202
List of Available Functions
LocCurrL$
Purpose:
Returns a string with the valid currency format and currency symbol for the
entered country.
Parameter:
Number Value to be formatted
String (optional) Country code
Return value:
String
Example:
LocCurr$(123,"USA") Result: "$123.00 "
See also Chapter "List of ISO 3166 Country Codes".
LocDate$
Purpose:
Returns a string with the valid date format for the entered country.
Parameter:
Date Value to be formatted
String (optional) Country code
Number (optional) Format
Return value:
String
Example
LocDate$(Date("17.11.2007"),"USA") Result: "11/17/2007"
See also Chapter "List of ISO 3166 Country Codes".
LocDateTime
Purpose
203
Appendix
Converts the character string into a date (with time if required) in the relevant format
for the country.
Parameter:
String Date
String (optional) Country code
Return value:
Date
Example
LocDateTime(Date("17.11.2007"),"DEU") Result: "17.11.2007"
See also Chapter "List of ISO 3166 Country Codes".
LocNumber$
Purpose:
Returns a string with the valid number format for the entered country.
Parameter:
Number Value to be formatted
String (optional) Country code
Return value:
String
Example:
LocNumber$(123,"USA") Result: "123.00"
See also Chapter List of ISO 3166 Country Codes".
LocTime$
Purpose:
Returns a string with the valid time format for the entered country.
Parameter:
Date Value to be formatted
String (optional) Country code
Number (optional) Format
Return value:
String
Example:
LocTime$ (Now(),"USA") Result: 9:05:22 AM"
See also Chapter "List of ISO 3166 Country Codes".
204
List of Available Functions
LocVal
Purpose:
Interprets the string as a number and returns its value (while respecting any
localized decimal or 1000 separators).
Parameter:
String Number (as string)
String (optional) Country code
Return value:
Number
Example:
LocVal ("12,00","USA") Result: 1200,00
See also Chapter "List of ISO 3166 Country Codes".
Log
Purpose:
Calculates the natural logarithm ln(x).
Parameter:
Number
Return value:
Number
Example:
Log(Exp(1)) Result: 1
Log10
Purpose:
Calculates the base-10 logarithm log(x).
Parameter:
Number
Return value:
Number
Example:
Log10(1000) Result: 3
Lower$
Purpose:
205
Appendix
LTrim$
Purpose:
Removes the leading spaces of a string.
Parameter:
String
Return value:
String
Example:
LTrim$(" George") Result: "George"
Max
Purpose:
Returns the largest of the two values.
Parameter:
Number or Date
Number or Date
Return value:
Number or Date
Maximum
Purpose:
Calculates the maximum of the set of values that result from the first
parameter / formula.
Parameter:
Number
Boolean (optional) TRUE: The values which were stored for the calculation
are deleted after output. (default: TRUE). Please note that the
stored calculation values are generally deleted for every (sub)table
206
List of Available Functions
end. The second parameter only decides whether the values are
already deleted within the table.
Return value:
Number
Example:
Maximum([email protected]:UnitsInStock)
Median
Purpose:
Calculates the median of the set of values that result from the first parameter
/ formula.
Parameter:
Number Expression for the value to be averaged.
Boolean (optional) The values which were stored for the calculation are
deleted after output. (default: TRUE). Please note that the stored
calculation values are generally deleted for every (sub)table end.
The second parameter only decides whether the values are already
deleted within the table.
Return value:
Number
Example:
Median(UnitsInStock)
Mid$
Purpose:
Returns a part of a string. The desired number of characters starting at the
starting position will be returned.
If the third parameter is not used, the string will be returned from the starting
position to the end.
The first character of the string has the Position 0.
Parameter:
String
Number Starting position
Number (optional) Number of characters to be displayed.
Return value:
String
Example:
207
Appendix
Min
Purpose:
Returns the smallest of the two values.
Parameter:
Number or Date
Number or Date
Return value:
Number or Date
Minimum
Purpose:
Calculates the minimum of the set of values that result from the first
parameter / formula.
Parameter:
Number
Boolean (optional) TRUE: The values which were stored for the calculation
are deleted after output. (default: TRUE). Please note that the
stored calculation values are generally deleted for every (sub)table
end. The second parameter only decides whether the values are
already deleted within the table.
Return value:
Number
Example:
Minimum([email protected]:UnitsInStock)
Minute
Determines the minute of the entered date, and returns the result as a
number. If the parameter is not used, the minute of the time of printing will
be returned.
Parameter:
Date (optional)
Return value:
208
List of Available Functions
Number
Mode
Purpose:
Calculates the mode (most common value) of the set of values that result
from the first parameter / formula.
Parameter:
Number Expression for the value to be examined.
Boolean (optional) The values which were stored for the calculation are
deleted after output. (default: TRUE). Please note that the stored
calculation values are generally deleted for every (sub)table end.
The second parameter only decides whether the values are already
deleted within the table.
Return value:
Number
Month
Purpose:
Determines and returns the month (1...12) as a number.
Parameter:
Date
Return value:
Number
Example:
Month(Date("2007.10.17")) Result: 10
Month$
Purpose:
Determines and returns the month (1...12) as a string.
Parameter:
Date
Return value:
String
Example:
Month$(Date("2007.10.17")) Result: "10"
209
Appendix
Now
Purpose:
Returns the current date and time.
Parameter:
-
Return value:
Date
NthLargest
Purpose:
Calculates the nth-largest value of the set of values that result from the first
parameter / formula.
Parameter:
Number
Number <n>, i.e. the index for the value which is to be returned (1-based).
Boolean (optional) TRUE: The values which were stored for the calculation
are deleted after output. (default: TRUE). Please note that the
stored calculation values are generally deleted for every (sub)table
end. The second parameter only decides whether the values are
already deleted within the table.
Return value:
Number
Example:
NthLargest(Order_Details.ProductID,2) calculates the 2-largest number
NthLargestIndex
Purpose:
Calculates the index of the nth-largest value of the set of values that result
from the first parameter / formula.
Parameter:
Number
Number <n>, i.e. the index for the value which is to be returned (1-based).
Boolean (optional) TRUE: The values which were stored for the calculation
are deleted after output. (default: TRUE). Please note that the
stored calculation values are generally deleted for every (sub)table
end. The second parameter only decides whether the values are
already deleted within the table.
210
List of Available Functions
Return value:
Number
Example:
NthLargestIndex(Order_Details.ProductID,2)
NthValue
Purpose:
Calculates the nth value of the set of values that result from the first
parameter / formula.
Parameter:
All
Number <n>, i.e. the index for the value which is to be produced,
alculated e.g. with NthLargestIndex().
Boolean (optional) TRUE: The values which were stored for the calculation
are deleted after output. (default: TRUE). Please note that the
stored calculation values are generally deleted for every (sub)table
end. The second parameter only decides whether the values are
already deleted within the table.
Return value:
Number
Example:
NthValue(NthLargestIndex(Order_Details.ProductID,2))
NULL
Purpose:
Returns a NULL value (value not available).
Parameter:
-
Return value:
All
NULLSafe
Purpose:
Checks if the parameter is NULL and returns a substitute valueif it is,
otherwise it returns the value of the parameter.
Parameter:
All
211
Appendix
Return value:
All
NumInRange
Purpose:
Evaluates if a number falls within the desired range.
Parameter:
Number
Number Upper limit
Number Lower limit
Return value:
Boolean
Example:
NumInRange(Page(),1,10) Result: True, if page number is between 1 and 10.
Odd
Purpose:
Evaluates if a number is odd. If the number is odd "True” will be returned,
otherwise "False”.
Parameter:
Number
Return value:
Boolean
Example:
"Page number "+Cond(Odd(Page()),"odd","even")
Ord
Purpose:
Returns the ASCII value of the first character.
Parameter:
String
Return value:
Number
Example:
Ord("Combit") Result: 67
212
List of Available Functions
Page
Purpose:
Returns the current page number.
Parameter:
-
Return value:
Number
Example:
Case(Odd(Page()),"Even","Odd")+" page number"
Page$
Purpose:
Returns the page number of the printed page as a character string.
Parameter:
-
Return value:
String
Example:
"Page "+Page$()+"/"+TotalPages$() Result: Page 1/3
Pow
Purpose:
Corresponds to the function (Base) ^ (Exponent).
Parameter:
Number Base
Number Exponent
Return value:
Number
Example:
Pow(2,3) Result: 8
Previous
Purpose:
Returns the previous value of the variable, field or formula, i.e. the value it had
for the last record.
213
Appendix
Parameter:
All Variable, field or formula
Return value:
All
Example:
Previous(NAME) Result: "consumer"
PreviousUsed
Purpose:
Returns the value the given variable or expression had when it was last
evaluated.
Parameter:
All Variable, field or formula
Return value:
All
Example:
PreviousUsed(NAME) Result: "Mustermann"
ProjectParameter$
Purpose:
Returns the value of a project parameter. Available parameters:
LL.FAX.Queue Print queue
LL.FAX.RecipName Recipient name
LL.FAX.RecipNumber Recipient fax number
LL.FAX.SenderBillingCode Sender billing code
LL.FAX.SenderCompany Sender company
LL.FAX.SenderDept Sender department
LL.FAX.SenderName Sender name
LL.MAIL.To Mail address
LL.MAIL.CC Mail address for carbon copy
LL.MAIL.BCC Mail address for blind carbon copy
LL.MAIL.Subject Subject line
LL.MAIL.From Sender mail address
214
List of Available Functions
Parameter:
String Name of the project parameter
Boolean (optional) sets whether the return value (possibly a formula) should
be returned directly (True), or should be evaluated (False). Default:
False
Return value:
String
Example:
ProjectParameter$("LL.ProjectDescription") Result:"Article list"
ProjectPath$
Purpose:
Returns the path of the project file, optionally including the file name
(otherwise with "\" at the end)
Parameter:
Boolean True: Sets that the path is returned including the file name
(Default: False).
Return value:
String
Example:
ProjectPath$(.T.) Result: C:\Program Files\LL\crosstab.lsr
Quarter
Purpose:
Returns the quarter of the year (1..4)
Parameter:
Date
215
Appendix
RainbowColor
Purpose:
Calculates a color value between violet and red corresponding to the value of
the first parameter e.g. for rainbow colors in crosstabs.
Parameter:
Number Value to be displayed.
Number Limiting value for violet.
Number Limiting value for red.
Return value:
Number
RegExMatch$
Purpose:
Returns the part of the string that corresponds to the regular expression or
the group passed in the third parameter.
The regular expression corresponds to Pearl 5 Syntax, which in most details
equals the regular expression syntax of the Visual Basic Scripting engine.
Parameter:
String
String
Number
Return value:
String
Example:
Division of the "STREET" field to street and number:
"Street: " + RegExMatch$(STREET,"((?:\w* )+)(\d+[\w ]*$)",1) "Number: " +
RegExMatch$(STREET,"((?:\w* )+)(\d+[\w ]*$)",2)
216
List of Available Functions
RemainingTableSpace
Purpose:
Returns the space available to data and group lines in a table object. The
parameter defines the unit of the return value. The function can be used to
carry out conditional page breaks before group lines, e.g. "Page break before
only 5% space is left”.
Parameter:
Boolean (optional) TRUE: the value is in units which are independent of the
system (SCM-units), FALSE: the value is a percentage of the entire
table size (default: FALSE).
Return value:
Number
Rep$
Purpose:
Returns a string that contains the appropriate number of strings defined in the
first parameter.
Parameter:
String
Number
Return value:
String
Example:
Rep$("-",10) Result: "----------"
Rep$("+-",5) Result: "+-+-+-+-+-"
RGB
Purpose:
Calculates the color value using the relative red, green and blue saturation
values (between 0 and 255). No saturation has the value 0, full saturation the
value 255. This function can be used to set the font color using a formula.
Parameter:
Number red saturation
Number green saturation
Number blue saturation
217
Appendix
Return value:
Number
Example:
Cond(Amount<0, RGB(255,0,0), RGB(0,0,0) Result: red for negative
amounts
Right$
Purpose:
Reduces a string from the left so that only the number of characters set under
Number remain. If the original string is already small enough, it is not
affected.
Parameter:
String
Number
Boolean (optional) True: The cut off value starts with "..." (Default: False). If
Number < 3 the setting is ignored.
Return value:
String
Example:
Right$("normalconsumer", 8) Result: "consumer"
Right$("normalconsumer", 11,.T.) Result: "...consumer"
Round
Purpose:
Rounds a value to the entered number of decimal places. Default is 0.
Parameter:
Number
Number (optional)
Return value:
Number
Example:
Round(3.1454,2) Result: 3,15
Round(3.1454) Result: 3
RTrim$
Purpose:
218
List of Available Functions
Second
Determines the second of the entered date and returns the result as a
number. If the parameter is not used, the second of the print time will be
returned.
Parameter:
Date (optional)
Return value:
Number
Sign
Purpose:
Returns the sign of the value (+1 for a positive value, -1 for a negative value
or 0 if the value is 0).
Parameter:
Number Value
Return value:
Number
Example:
Sign (-3) Result: -1
Sin
Purpose:
Calculates the sine of the value.
Parameter:
Number Value
Number (optional) Mode (0=Degree, 1=Radian). Default: 0.
Return value:
Number
219
Appendix
Example:
Sin (90) Result: 1
Sqrt
Purpose:
Calculates the square root of a number.
Parameter:
Number
Return value:
Number
Example:
Sqrt(4) Result: 2
StdDeviation
Purpose:
Calculates the standard deviation of the set of values that result from the first
parameter / formula.
Parameter:
Number
Boolean (optional) TRUE: The values which were stored for the calculation
are deleted after output. (default: TRUE). Please note that the
stored calculation values are generally deleted for every (sub)table
end. The second parameter only decides whether the values are
already deleted within the table.
Return value:
Number
Example:
StdDeviation(Order_Details.Quantity*Order_Details.UnitPrice)
Str$
Purpose:
Converts a number into a string. The number will be formatted with 6 decimal
places that may be rounded. The length is variable.
Parameter:
Number
Number (optional) Defines the length of the string (default:6). If the number
is too large for this format, the resulting string may then be longer
220
List of Available Functions
StrPos
Purpose:
Returns the position of the nth appearance of a search string. The third
parameter determines which appearance will be returned. Default is 1.
The first character in the string has the position 0.
-1 as return value signifies the search string no longer appears.
Parameter:
String
String Search string
Number (optional)
Return value:
Number
Example:
StrPos("Normalconsumer","or") Result: 1
StrPos("Normalconsumer","r") Result: 2
StrPos("Normalconsumer","r",1) Result: 2
StrPos("Normalconsumer","r",2) Result: 13
StrRPos
Purpose:
221
Appendix
StrSubst$
Purpose:
Searches a string for the appearance of a search string and replaces it with
the string contained in the third parameter (replacement string). If no third
parameter is used, the string located using the search string will be deleted.
Parameter:
String
String Search string
String (optional) Replacement string
Return value:
String
Example:
Assume that you want to print address labels that contain the company
name. You do not have much space available on the label and cannot afford
to completely print long company names, for example, "Forrer Construction,
Incorporated”.
With the expression StrSubst$(COMPANY,"Incorporated","Inc.")
every appearance of "Incorporated" in the COMPANY field will be replaced
with "Inc."
222
List of Available Functions
Sum
Purpose:
Calculates the sum of the parameter / formula in the parameter.
Hint: Sum variables (see "Working with Sum Variables") are an alternative way
of creating sums and counters. Sum variables are principally applicable to
whole tables. Aggregate functions principally table specific.
Parameter:
Number
Boolean (optional) TRUE: The values which were stored for the calculation
are deleted after output. (default: TRUE). Please note that the
stored calculation values are generally deleted for every (sub)table
end. The second parameter only decides whether the values are
already deleted within the table.
Return value:
Number
Example:
Sum (Order_Details.UnitPrice)
Tan
Purpose:
Calculates the tangent of the value.
Parameter:
Number Value
Number (optional) Mode (0=Degree, 1=Radian). Default: 0.
Return value:
Number
Example:
Tan (45) Result: 1,00
Time$
Purpose:
Returns the current time in string format.
The following formats are available:
Placeholder Description
223
Appendix
%m Minutes
%s Seconds
Today
Purpose:
Returns the current date.
Parameter:
-
Return value:
Date
Example:
Date$(Today(),"%D, %m.%d.%4y") Result: "Friday, 11/8/2007"
Token$
See Case$
ToRTF$
Purpose:
Returns a string in RTF-format. This is necessary because some strings may contain
one of the specially defined RTF-format symbols. ('\', '{' or '}').
Parameter:
String
Return value:
String
Example:
If, for example, the field PRODCODE could contain one of the characters,
then the text should be inserted in the following way:
224
List of Available Functions
Total$
Purpose:
Sets that the expression in the argument is calculated for the whole object,
e.g. in a crosstable.
Parameter:
All
Return value:
All
Example:
Sum(sales)/Total(Sum(sales))*100
TotalPages$
Purpose:
Returns the total number of pages. The returned character string is replaced
by the total number of pages when printing.
Please note when using this function that the timing behavior of the print
process can be affected. A progress bar may reach 100% faster, but because
of further processing of the output, there may be a delay before the actual
printout is produced. No calculations may be performed with the result of this
function.
Parameter:
-
Return value:
String
Example:
"Page "+Page$()+"/"+TotalPages$() Result: Page 1/3
UnitFromSCM
Purpose:
Converts a SCM-Unit (1/1000 mm) to the print unit (inch/mm). Important for
the definitions of property values independent of the selected print unit.
Parameter:
Number
Return value:
225
Appendix
Number
Example:
Cond(Page()=1,UnitFromSCM(100000),UnitFromSCM(20000))
Result: 10cm for Page 1, 20 cm for the other pages.
Upper$
Purpose:
Converts the characters of a string to capital letters.
Parameter:
String
Return value:
String
Example:
Upper$("Otto") Result: "OTTO"
Val
Purpose:
The string is interpreted and returned as a number. If an error occurs, the
return value is 0. The decimal sign must always be entered as ".".
Parameter:
String
Return value:
Number
Example:
Val("3.141") Result: 3.141
Val("3,141") Result: 3
Val("3.141e2") Result: 314.2
Val(ChrSubst$("3,141", ",", ".")) Result: 3.141
Variance
Purpose:
Calculates the variance of the set of values that result from the first parameter
/ formula.
Parameter:
Number
226
List of Available Functions
Boolean (optional) TRUE: The values which were stored for the calculation
are deleted after output. (default: TRUE). Please note that the
stored calculation values are generally deleted for every (sub)table
end. The second parameter only decides whether the values are
already deleted within the table.
Return value:
Number
Example:
Variance(Order_Details.Quantity*Order_Details.UnitPrice)
Woy
Purpose:
Returns the week number of a given date.
The optional second parameter determines the setting for the first week of
the year.
0 Week with the first working day
1 Week of January, 1
Year
Purpose:
Determines the year of a date and returns it as a number.
Parameter:
Date
Return value:
Number
Example:
Year(Today()) Result: 2008
Year$(Date("1.1.2008")) Result: 2008
227
Appendix
Year$
Purpose:
Determines the year of a date and returns it as a string.
Parameter:
Date
Return value:
String
Example:
Year$(Today()) Result: "2008"
Year$(Date("1.1.2008")) Result: "2008"
228
List of Available Barcodes
with
Description Value Range
Cc Country code c='0'..'9'
Ppp Product code
Nnnnn Company code n='0'..'9'
aaaaa Article code a='0'..'9'
'|' = Character code chr(124)
xx, xxxxx Supplemental code x=´0´..´9´
The check digit will be calculated and attached automatically. Each character is 7 bar-
widths wide, a code should have a minimum width of (12*7+11)*0.3 mm = 2.85 cm.
Ideal size (bar symbol) nominal size SC2:
Width = 31.4 mm
Height = 24.5 mm
229
Appendix
230
List of Available Barcodes
with
▪ c = Number system
▪ | = Character code chr(124)
▪ nnnnn = Code, interpretation dependent upon the last digit
The check digit will be calculated and attached automatically. Each character is also
7 bar widths wide, a code should then have a minimum width of (13*7+6)*0.3
mm=2.88 cm
2-of-5 Industrial
A number code of low information density.
Allowed characters: '0'..'9'
A Code is (14*number of characters+18) bar widths wide.
2-of-5 Interleaved (ITF)
A number code of high information density, requires high print quality.
Allowed characters: '0'..'9'. The number of characters must be even.
A code is (9*number of characters+9) bar widths wide.
2-of-5 Matrix
A number code of high information density, requires high print quality.
Allowed characters: '0'..'9'.
A Code is (10* number of characters +18) bar widths wide.
2-of-5 Datalogic
A number code of high information density, requires high print quality.
Allowed characters: '0'..'9'.
A code is (10* number of characters +11) bar widths wide.
Codabar
The Codabar-Code is a numerical code with 6 special characters. The information
density is low. The code must conform to the following format:
"fnnnnf"
with
▪ f = Frame code ('A', 'B', 'C', or 'D')
▪ nnnnn = arbitrary quantity of numbers or special characters ('0'..'9', '-', '$', ':', '/',
'.', '+')
Every character is either 2*3+6*1 (characters '0'..'9', '-', '$') or 3*3+5*1 (characters ':',
'/', '.', '+', 'A'..'D') bar widths wide. The characters for the frame code will not be
printed with the text.
231
Appendix
CODE11
Allowed characters: '0'..'9','-'.
Code 11 has, depending on the length, 1 or 2 check digits. List & Label calculates
only 1 instead of 2 check digits if the length of the text is a maximum of 10
characters.
Code39, 3-of-9, Alpha39
One of the few codes that can also display letters. All characters must be entered;
the customary bracketing with ´*´ should also be entered ('*TEST*').
Allowed characters: ' ','$','/','%','*','+','-','0'..'9','A'..'Z'
The expanded code can be activated by a combination of the standard code: for
example: '+A' -> 'a'. Every character is 16 bar widths wide, a text has (16*number of
characters –1) bars.
Code 39 with CRC
Allowed characters: ' ','$','/','%','*','+','-','0'..'9','A'..'Z'
Code 93 (simple and extended)
Code 93 is an extension of Code 39, but has the advantage that it is somewhat
smaller. It covers the complete 128 bytes of the ASCII Allowed characters, including
zero. This must be transferred as chr$(255).
It contains two check digits that are automatically generated by List & Label.
The characters consist of 9 bar widths, that each have 3 bars and 3 spaces. There
are two options for the extended code:
- transfer of the shift character from the host program as
$ chr$(254)
% chr$(253)
/ chr$(252)
+ chr$(251)
- transfer of the desired character, L&L adds the appropriate shift character.
Code 128
This code is basically identical to EAN128, with the exception that the first character
(FNC1 ... FNC4) is defined by the user.
The explanations with EAN128 apply here as well.
Determine the code set that should be used:
Use one of the following codes as a start character:
chr$(135) – start with code A
chr$(136) – start with code B
chr$(137) – start with code C
232
List of Available Barcodes
In order to switch between different code sets within the barcode, you can use the
usual control characters:
Starting from code A to
B: chr$(132)
C: chr$(131)
Starting from code B to
A: chr$(133)
C: chr$(131)
Starting from code C
A: chr$(133)
B: chr$(132)
Example: <Subset B> "RL" <Subset C> "04432476" <Subset B> "0DE110"
Barcode(Chr$(136)+"RL"+chr$(131)+"04432476"+chr$(132)+"0DE110", "Code 128")
GS1 128, EAN128
This code can display all printable ASCII-characters, as well as non-explicit
characters, umlauts and 'ß'. The text can have any appearance. The width is not easy
to display because certain characters have different widths.
Special characters must be replaced with:
NUL chr$(255)
FNC1 chr$(254)
FNC2 chr$(253)
FNC3 chr$(252)
FNC4 chr$(251)
GS1 DataBar
It supports the codes GS1 DataBar, GS1 DataBar Limited, GS1 DataBar Stacked, GS1
DataBar Stacked Omnidirectional, GS1 DataBar Stacked Truncated
Allowed characters: [0-9]
Format: nnn|nnnnnnnnnn (13-digits)
GS1 DataBar Expanded
Allowed characters: Data begins with AI. Max 74 numerical/41 alphanumrical
characters
Format: nnn|nnnnnnnnnn (12-digits, no check digit)
ISBN
Allowed characters: [0-9]
Format: nnn|nnnnnnnnnn (12-digits, no check digit)
233
Appendix
Example: 979-3-86680-192-9
ISBN comprises five components.
1. A prefix depending on the book (978 or 979).
2. The country number, e.g. 0 and 1 for English-speaking countries, 2 for French-
speaking countries and 3 for German-speaking countries.
3. The publisher code, which is the identifying number of the publishing house.
4. The title number given by the publisher.
5. The check digit.
MSI
MSI is a binary barcode in which every character consists of 8 bars.
The character set is limited to '0'..'9' and is suitable only for the display of numbers.
Commonly used in libraries.
Pharma-Zentral-Nummer
Allowed characters: '0'..'9'
The PZN code is used for identifying pharmaceuticals. The pharmaceutical central
numbers (=PZN) are distributed by the "Informationsstelle für Arzneispezialitäen IfA
GmbH''. The represented string of numbers has to correspond to the following
format:
"nnnnnn"
QR Code
Allowed characters: all characters
Format: any
The QR code (QR=quick response) is a two dimensional barcode. It has an
exceptionally high fault tolerance at a high density of data and can be scanned
quickly. The QR code is widespread in Japan and is meanwhile also used for digital
cameras and mobile telephones. There, the picture that has been taken is decoded
so that the context information or a web address (e.g. via a UMTS network) can be
accessed. Free reading programs are available for many mobile telephones.
In order to enter non-printable characters (binary data) in barcode text, they have to
be packed in a special character string. The data is entered via the character string
~dNNN where NNN represents the ASCII code.
234
List of Available Barcodes
SSCC/NVE
The SSCC (Serial Shipping Container Code) barcode is being increasingly used in the
logistics industry.
Allowed characters: [0-9]
Format: nnnnnnnnnnnnnnnnn (17 figures)
PDF417
Allowed characters: Most available and also non-printable characters. To use non-
printable characters in barcode text, tags in the form {binary:xx} can be used in the
barcode text, with xx standing for any sequence of two digit hexadecimal numbers.
This is especially important when Maxicodes are to be created to UPS specifications.
The required special characters can be entered in this way.
Example 1: To encode a NULL and a backspace (BS) symbol in the data, use
"{binary:0008}" (corresponds to "{binary:00}{binary:08}").
Example 2: To pass on a page break, use "Hello{binary:0d0a}World".
235
Appendix
"nn.nnnnn.nnnn"
"nn.nnnn.nnnnn"
"nn.nnn.nnnnnn"
A Code is (9*Number+9) bar widths wide.
Width: 32,0mm - 58,5mm (Clear zone right and left: minimum 5mm). height: 25mm.
The check digit is calculated automatically; Relation: 4:9; Special code of 2 of 5 IL.
DP-Leitcode
A number code of high information density, requires high print quality.
Allowed characters: '0'..'9'.
The code must conform to the following format:
"nnnnn.nnn.nnn.nn"
A Code is (9*Number+9) bar widths wide.
Width: 37,25 mm - 67,5 mm (Clear zone right and left: minimum 5mm). Height:
25mm.
The check digit is calculated automatically; Relation: 4:9; Special code of 2 of 5 IL.
FIM Barcode
Minimum size: 1/2 * 5/8 = 12.7 mm * 15.87 mm.
Transfer values: "A", "B" or "C".
The FIM-Barcode is always printed to the size required by the United States Postal
Service. It can expand beyond the object frame.
German Parcel
A number code of low information density.
Allowed characters: '0'..'9'.
A Code is (14*Number+18) bar widths wide.
Relation: 1:2
Japanese Postal Code
Japanese postcode.
Allows characters: n=[0-9], Address=[A-Z], [0-9], [-]
Formats: nnn-nnnn, then max. 13 character address
Maxicode
Allowed characters: Most available and also non-printable characters. To use non-
printable characters in barcode text, tags in the form {binary:xx} can be used in the
barcode text, with xx standing for any sequence of two digit hexadecimal numbers.
This is especially important when Maxicodes are to be created to UPS specifications.
The required special characters can be entered in this way.
236
List of Available Barcodes
Example 1: To encode a NULL and a backspace (BS) symbol in the data, use
"{binary:0008}" (corresponds to "{binary:00}{binary:08}").
Example 2: To pass on a page break, use "Hello{binary:0d0a}World".
Postnet
This is a barcode used by the United States Postal Service. It is available in three
variants. In reference to placement and offset from other objects, please refer to the
specifications in the appropriate literature.
5-digit: "nnnnn"
10-digit: "nnnnn-nnnn"
12-digit: "nnnnn-nnnnnn"
Minimum size: 1.245 * 4/16 = 31.6 mm * 6.35 mm (10-digit).
Minimum bar spacing 1/24 = 1.058 mm.
The error-correction digit will be automatically amended.
This barcode will be automatically printed in the correct size.
RM4SCC, KIX®
Allowed characters: '0'..'9', 'A'..'Z', 'a'...'z'.
This barcode is used by the Dutch post in distribution. Make sure to pass on a
content according to the specification. For further information please contact the
Dutch post.
Royal Mail
Allowed characters: '0'..'9', 'A'..'Z', 'a'...'z'.
This code is used with the mail merge procedures "Cleanmail" and "Mailsort" by the
British "Royal Mail" to encode postal codes. Royal Mail postal codes contain a
combination of numbers and letters. The Allowed characters therefore includes the
numbers 0..9 and capital letters A..Z. The space character is not included.
Either the postal code (e.g. LU17 8XE) or the postal codes with an additional
"Delivery Point" (e.g. LU17 8XE 2B) are encoded. The maximum number of usable
spaces is therefore limited to 9 digits.
237
Index
6. Index
EAN-14 239
@ EAN-8 239
FIM Barcodes 245
@Sum 39 German Parcel 245
@User 41 GS1 128 242
GS1 DataBar 242
A GTIN-13 238
GTIN-8 239
Active Design Layout 47 ISBN 243
Alignment 70 JAN-13 238
Appearance conditions 87 JAN-8 239
Appendix 167 Japanese Postcode 245
Arrange 69 KIX 246
Alignment 70 Maxicode 246
Back One 69 MSI 243
Forward One 69 NVE/SSCC 244
To Back 69 PDF417 244
To Front 69 Postnet 246
PZN 243
B QR Code 243
Royal Mail 246
Back One 69 SSCC/NVE 244
Barcode Objects UCC-13 238
Functions 181 UCC14 239
Barcode Objects 102 UCC-8 239
Barcodes 238 UPC-A 239
2-of-5 Datalogic 240 UPC-E 240
2-of-5 Industrial 240
2-of-5 Interleaved 240
2-of-5 Matrix 240 C
3-of-9 241 Chart Objects 128
Alpha39 241 Charts
Aztec 244 100% Stacked 131
Codabar 240 Axis Label 139
CODE11 241 Category Axis 138
Code128 241 Clustered 131
Code39 241 Colors 147
Code93 241 Diagram 136, 144
Datamatrix 244 Examples 149
DP-Identcode 245 Fields 148
DP-Leitcode 245 Filter 134, 139
EAN128 242 Legend 134, 142
EAN-13 238 Line 130
238
Index
239
Index
240
Index
241
Index
G Use 19
242
Index
O Options 54
for Workspace 57
Object Bar 12 Output
Object List 76 Formats (PDF, Excel...) 62
Object Properties 87 Print options 62
Objects 7, 16, 67
Appearance conditions 87
Arrange 69
P
Barcode Objects 102 Page 221
Chart Objects 128 Page Layout
Color 89 Labels 51
Content 92 Paragraph properties 96
Copy to Layer 75 PDF Export 54
Crosstab Objects 152 Pi-Constant 189
Edit 67 Picture objects 100
Ellipses Objects 100 Insert 100
Export as Picture 88 Properties 100
Form Controls 161 Picture-Function 200
Form Templates 165 Position 88
Frames 90 Position and Size Dialog 72
Grouping 72 Preview 18
HTML-Objects 164 Previous object 69
Insert 67 Print
Layer assign to 74 Copy 47
Line objects 98 Number of Issues 47
Links 77 Printer 63
Moving 70 Print Sample 65
Name 77, 86 Labels 65
Object Font 55 Last Page 66
Object List 76 Layers 65
OLE Container 165 Lists 65
Picture objects 100 Printing
Position 88 Formats 62
Properties 85 Procedure
Rectangles Objects 99 Project new 44
RTF Text 158 Project open 45
Selecting 67 Project 7, 44
Sizing 70 Default Project 44
Table Objects 112 Description 46
Text Objects 93 Fax Variables 47
OLE Container 165 Import 45
Open 45 Include 59
Operators 36 Mail Variables 47
Arithmetic 38 New 44
Logical 39 Open 45
Relation 38 Parameters 46
243
Index
244
Index
U W
User request 179 Workspace 13
User-Variables 41 Alignment Grid 54
V Z
Variable List 15 Zoom 14
Variables 20, 24, 167
245