Top  Previous  Next

A script is a program, written in a high-level language, which is part of a report. As the report runs, the script runs as well. A script can handle data in ways that are not possible just using the normal operations of the FastReport core; for example, a script can hide redundant data depending on a predefined condition. A script can also be used for controlling the properties of dialogue forms which are part of a report.


A script is written in one of the languages supported by the script engine (FastScript). Currently, these are:


- PascalScript

- C++Script

- BasicScript

- JScript


The following features are supported by the FastScript engine:

- standard language set : variables, constants, procedures, functions (which may be nested and having variables, constants, default parameters), all standard operators (including case, try, finally, except, with), types (integral, fractional, logical, character, line, multi-dimensional arrays, variant), classes (with methods, events, properties, indexes and default properties)

- type compatibility checking

- access to any of the report’s objects


FastScript, however does not support the following:

- declarations of  these types : records, classes

- pointers, sets (but the 'IN' operator can be used in expressions such as "a in ['a'..'c','d']")

- shortstring type

- unconditional jumps (GOTO)


Scripts can be created in the FastReport designer, which contains a script editor with syntax highlighting. There is also an embedded debugger which has the following functions: “Step”, “Breakpoint”, “Run to cursor” and “Evaluate”.