Basic work with object
The report consists of objects that are intended to display text and graphics. The objects are also bands, page and object itself.
The basic work is labeling, selecting, deleting, moving, resizing and setting up a new object.
Selecting an object
If you want to move the object, change the size or properties, we must first select it. Select the object by clicking on it with the mouse. The object gets the platter, which means it is currently selected. Simultaneously select multiple objects by holding down the Shift key and clicking objects. You can also select more objects by holding down the Ctrl key and pressing and holding the left mouse button. Drag the mouse over the work surface. A dashed rectangle appears. All objects, which are entirely or partially in this rectangle, are selected. When we have selected the desired objects, we release the mouse button.
Deleting an object
Delete the object by selecting it and pressing the Delete key.
Moving the object
To move the object, use the mouse to place on it. The pointer gets the shape of a hand. Press and hold the left mouse button and move the mouse to the new location. There, the left button is lowered and the object remains in that place. In case when we move an object which is connected to another object, this one also moves.
Resizing the object
First we select the object. Then we place ourselves in the corner of the object, where the mouse pointer changes the shape. The mouse pointer changes to the line with arrows at both ends. Press and hold the left mouse button and drag the mouse in the desired direction.
Hiding objects
We hide the objects by selecting a checkmark in the Visible properties in the context menu. If this setting has a band, all the objects on it are also hidden.
Setting up a new object
If we want to put a new object on a report, first click on the icon with the object type in the object toolbar. Move the mouse over the work surface and click on the place where we want to place it. We will review the process below - when creating a new custom report.
Setting up a network for mapping objects
When moving objects on the report, they are difficult to align, as the objects are moved in by a continuous form. Therefore, we can set up a network that allows you to move through certain steps. We set the network properties in the settings of the formatter. We can turn it on or off in the standard toolbar by clicking the button
. By clicking the button
, we allow objects to be automatically attached to the network.
Editing text and designing text objects
Editing text
Editing the text is usually in text fields, but it is possible to add text along the system fields.
In example, we will replace the text in the "Workers" field with a new "Preport of Workers and Their Titles".
We do this by double-clicking on the object. Replace the old text with a new one by deleting the old text and entering a new one.

Click the OK button in the Memo window, we confirm the new text. Expand the box with the new text if necessary.
Toolbar for editing objects
Text in text objects can be formatted in different ways. First, we need to select the object, then use the buttons in the toolbar to define the text format.

Icon
|
Name
|
Description
|
No style
|
Style
|
shows style of selected "Text" object
select from drop-down list to change style of selected object
define styles in “Report>Styles”
|
Arial
|
Font Name
|
shows font of selected “Text” object
select from drop-down list to change font of selected object
shows last five fonts used at head of list
|
10
|
Font Size
|
shows font size of selected “Text” object
select from drop-down list to change font size of
selected object
can also type digits directly into edit box
|

|
Bold (toggle)
|
toggles font Bold style of “Text” object's content on/off
|

|
Italic (toggle)
|
toggles font Italic style of “Text” object's content on/off
|

|
Underline (toggle)
|
toggles font Underline style of “Text” object's content on/off
|

|
Font Settings
|
opens Font settings dialogue
|

|
Font Color
|
drops down font color selection grid
|

|
Highlight
|
opens highlight dialogue
can set a condition for highlighting
|

|
Text Rotation
|
changes text rotation from drop-down list
|

|
Align Left
|
left aligns text within “Text” object's frame
|

|
Align Center
|
centre aligns text within “Text” object's frame
|

|
Align Right
|
right aligns text within “Text” object's frame
|

|
Justify
|
justifies text within “Text” object's frame
|

|
Align Top
|
top aligns (vertical) text within “Text” object's frame
|

|
Align Middle
|
middle aligns (vertical) text within “Text” object's frame
|

|
Align Bottom
|
bottom aligns (vertical) text within “Text” object's frame
|
Transcription of design from one object to another
If we want to transfer the design of an object (alignment, font, color ...) from one object to another, first we mark the object from which we will transfer the properties. Then press the button
on the object toolbar to get the shape of the brush. Then we click on an object whose shape we want to change. When done, click on the arrow at the top of the Toolbar.
Hiding the objects
We can hide the objects by using right click menu on the object and use the Visible propertie in the context menu. If this setting has a band, all the objects on it are also hidden.

Deleting objects
Objects on the printouts can be deleted. However, some objects also have a program code on a report that determines their properties. If we delete such an object, we must also delete all the program code that applies to it. If we move such an object to another band, we must also move the corresponding code there. Otherwise, a window with an error message will appear.

Changing of properties of objects
We access the properties of objects by selecting the object. In the View menu, select the Toolbars | Object Inspector. In the window that appears, we can determine the properties mentioned in the tables below.
An important feature of objects within the band, which can be set only in the object inspector, is Align.
Before moving objects, it is advisable to change the property Align to the baNone in the object inspector, and then change it again to its own needs.
The vast majority of objects on system reports have the Align property different from baNone, which means they are tied to either on the edge of the band or to each other.
Parameter |
Description |
baNone |
Object is not aligned. |
baLeft |
Object is aligned to the left. |
baRight |
Object is aligned to the right. |
baWidth |
Object is aligned to the left and right. |
baCenter |
Object is aligned in the center. |
baBottom |
Object is aligned to the lower side. |
baClient |
Object is aligned across the object. |
Other important features
Other important features of the text object are:
Parameter |
Description |
GapX |
Defines the text offset from the left and right edge of the object. |
GapY |
Defines the text offset from the upper and lower edge of the object. |
LineSpacing |
Defines line spacing. |
AutoWidth |
Defines whether the width of the object is automatically changed. This setting must be turned off in tables. |
WordWrap |
Specifies whether the long text will be split into a new line. If AutoWidth is enabled, this feature has no meaning. |
Frame editing

Description of the buttons from left to right (in the table below):
Name |
Description |
Top line |
Display/hide top line of the frame. |
Bottom line |
Display/hide bottom line of the frame. |
Left line |
Display/hide left line of the frame. |
Right line |
Display/hide right line of the frame. |
All frame lines |
Display all frame lines. |
No frame |
Hide all frame lines. |
Edit frame |
Allows you to choose a line style. Only one row type can be selected for each object. |
Object types
All elements that are placed on a report are called objects. There are several types of objects, depending on the type of data they are displaying: text, image, barcode ... Objects are also band, page and whole report. The objects may contain one another, they are bound together or stand on the report not bound. Each object has its own properties, which we can change with the help of quick buttons, convenient menus or in the object controller.
The FastReport Designer represents reports as a collection of schematic pages. Objects are placed anywhere on the report pages and are used to define the report's appearance and to display various information, such as text and graphics. FastReport objects which are included in the standard package are:
- “Band” object : an area on a design page which behaves according to its type (e.g. Header band, Data band)
- “Text” object : displays one or more lines of text within a rectangular area
- “Picture” object : displays a graphic file in “BMP,” “JPEG,” “ICO,” “WMF” or “EMF” format
- “Line” object : displays a horizontal or vertical line
- “System text” object : displays either system information (date, time, page number, etc) or aggregate values
- “Subreport” object : allows insertion of another report design page within the host page
- “Draw” category objects : displays various geometrical shapes (diagonal line, rectangle, rounded rectangle, ellipse, triangle and diamond)
- “Chart” object : displays data in various chart formats (pie chart, histogram, etc.)
- “RichText” object : displays text in Rich Text Format (RTF)
- “CheckBox” object : displays a checkbox with either a tick or a cross
- “Barcode” object : displays data as one of several barcode types
- “OLE” object : displays any object using OLE technology.
Properties in Object inspector
All properties of the objects can be set in the object inspector, which can be displayed or hidden in the View | Toolbars | Object Inspector. The keyboard shortcut is F11.

The window has two tabs: Properties and Events. On the left side there are properties or events, and on the right there are their values. In the lower part of the window there are short descriptions of individual properties. Also, the object inspector is different for each type of object.
The True value in the object inspector corresponds to the displayed parameter in the context menu and means that the check box is "on/enabled", and the False value corresponds to the hidden check box and means that the property is disabled.
Properties of graphic objects
Graphic objects are objects designed to display images, characters, lines, and barcodes. The most important object is to display images. Its most important features are:
AutoSize:
When “AutoSize” is enabled the object is re-sized up to the size of the picture it contains. Sometimes this can be useful if database pictures of differing size are being displayed. “AutoSize” is disabled by default.
Stretch : enabled by default
“Stretch” is enabled by default. This property stretches the picture within the object. Change the object’s size using the mouse and you will see that the whole picture is always displayed within the object’s frame. If “Stretch” is disabled the picture (or only part of it) is displayed at its original size. This behaviour differs from “AutoSize” in that you have control of the object's frame size, which can be larger or smaller than the picture it contains. With “AutoSize” enabled you have no control over the object's frame size.
Center
The “Center” property aligns the picture within the object.
KeepAspectRatio : enabled by default
“KeepAspectRatio” is enabled by default : it keeps the picture from distorting when the object’s size is changed. This property is only effective when “Stretch” is also enabled. With “KeepAspectRatio” enabled a drawn circle remains a circle without turning into an oval, whatever the “Picture” object's size. The stretched picture occupies only that part of the internal space of the object needed to display it with the correct aspect ratio. When disabled, the picture will be stretched to fill the object's frame and will be distorted if the frame’s aspect ratio is not the same as the picture's aspect ratio.
Properties of Text objects
The object mostly used to display text is a memo object
. We enter one or more lines of text into it. Its most important features are:
Text |
Text is the most important property of an object in which we define a text or an expression. We get to it by double-clicking on an object or by selecting the Memo properties in the Object inspector or by using the Edit menu in the context menu. |
GapX |
Defines the text offset from the left and right edge of the object. |
GapY |
Defines the text offset from the top and bottom edge of the object. |
LineSpacing |
Specifies the spacing between the text lines. |
Rotation |
Specifies the direction of text display. 0 - horizontal, 90 - upwards ... We can also print in italics. |
AutoWidth |
Specifies whether the object should adjust the width according to the length of the text. In the tables, this setting must be turned off. |
WordWrap |
It determines whether too long text will be spilled into a new line. If the AutoWidth feature is turned on, it does not matter. |
StretchMode |
Specifies how the object adjusts the height according to the length of the text. The following values are available: smDontStretched - height is changing, smActualHeight - height adjusts to the height of the text or image, smMaxHeight - the height adjusts to the height of the waist.
|
DisplayFormat |
Specifies the format of the data in the object (text, number, date / time). |
Font |
Specifies font settings that are similar to text editors. |
Color |
Specifies the background color settings. A special feature is the translucent (transparent) clNone color. |
HideZeros |
Specifies whether the value zero is displayed. This setting is recommended to be included in the dates. |
AllowExpression |
Allows to display expressions. |
AllowHTMLTags |
Allows you to create text with HTML tags. The tags are <b>, <i>, <u>, <sub>, <sup> and <font color>. We can not change the font sizes and types. |
For more advanced text formatting, we use the RichText object
.
Formatting data objects
To format the report in text objects, the DisplayFormat property is used. We invoke it by selecting the object and selecting this property through the right mouse button on the mouse. The dialog box opens in the image.

The folowing formats are available:
-
Text
-
Number,
-
DateTime
-
Boolean
Tu izberemo vrsto podatkov (podlastnost Kind) in njihov format (podlastnost FormatStr). Uporabljamo lahko tako formatna določila iz urejevalnika preglednic Excel kot tudi tista iz programskega jezika C.
Here, we select the type of data (the subdomain Kind) and their format (the subtlety FormatStr). We can use both formats from the Excel spreadsheet editor as well as those from the programming language C.
Subtlety can also be defined in the object inspector.

Writing a date in a text format is displayed in the format specified in the Windows environment settings.
For formatting we can also use the functions that we write in the code. For example, we use FormatFloat to format numbers.
The following expressions write out the whole part of the number and its first two decimal places:
[FormatFloat('#0', Int(n)]
[FormatFloat('00', Round(100 * Frac(n))))]
Data formatting can also be done within the expression (inline formatting), as shown in the example below
Today is [NOW #d dddd], [NOW #d d.m.yyyy], the time is [NOW #d hh.mm.ss].
Format specifications do not affect the data format that is entered in the program code on the report or code in the program.
Some more useful formats:
Numbers
Format |
Report example |
#0.00 |
1234,56 |
#,##0.00 |
1.234,56 |
#0 |
1235 |
Date and time
Format |
Report example |
dd.mm.yyyy |
05.06.2008 |
d.m.yy |
5.6.08 |
dd. mmm yyyy |
05. jun 2008 |
dd. mmmm yyyy |
05. junij 2008 |
ddd |
Thu |
dddd |
Thursday |
hh:mm |
08:07 |
hh:mm:ss |
08:07:06 |
In case of data fields, HideZeros must be included if it is possible that data is not entered, otherwise "strange" values are displayed. This feature can also be included in all date fields.
Special objects
Bar code
We open the 02A report that is in the in the menu Settings | Idents, clicking on the reports button and in the reports of the items window, selected report is opened and saved with a new name.
From the object toolbar, we add the object with a barcode
to the MasterData on the report. The dialog box below opens.

Select values (as shown in the picture). If we do not know which type of code to choose, we select the type of Code128A code because it can be read with a barcode reader.
Place the object in the desired location and stretch it. Define the properties of DataField and DataSet (as shown in the picture). Always select the query that is specified for the band on which the object lies, and the field from the same query.

Item picture from items register
Add an image object on the report and set the DataSet (data source) property to the qMSIzpisSif in the Object Inspector window and the DataField property (data field) on the acPicture.

Conditional highlighting
With conditional coloring, we can emphasize the values in certain objects in reports, of course, under certain conditions that we define.
We do this by marking the object. We select a button
on the text-processing toolbar. Enter the condition in the Condition field (as shown in the image) and other design attributes.

Object Engine
Engine Engine manages printing of reports. With its use it is possible to print very special forms of prints.

Picture - object Engine
Engine properties and methods:
CurX |
Returns the deviation of the print position from the left edge. |
CurY |
Returns the deviation of the print position from the top edge. |
Height |
Returns the height of the print page. |
NewPage |
Procedura for starting a new page. |
FreeSpace |
Returns the height of the remaining space on the page. |
DoublePass |
If this setting is selected, the report is first created in memory and printed in the second gateway. At that time, the quantities that could not be made in the first pass could be calculated. |
FinalPass |
Specifies whether the DoublePass setting is displayed at the second gateway. |