EVAL Library is library of components for run-time scoring
expressions and conditions ordered by user. Basic component is
replenished about some of graphic components used for users
enjoyable inputting expressions and conditions, so, that final
user doesn't have to know syntax of individual functions. There
is a component to disposition too, which enables simple registry
created expressions and conditions and their again exploitation
without necessary again putting information's.
Component TEVAL is base of the library EVAL LIB. Enables to
score expressions inputted in the form of string .Library
supports almost 180 functions, that some of them are normal using
in Delphi, but to many is over standard.
Package of components Eval help serving for alleviation of
work in a data base applications written in Delphi. These
components have to alleviate respectively to enable following
- Filters in the component TDataSet. Standard
filters Delphi have several disadvantages
- they have a very weak collection of supporting
- the work with them in the big database is small
- they donīt have any user interface
- Calculated fields we can hardly use them, as long
we donīt know the formula for their calculation.
Sometimes occures a situation, that the
program doesn't know this formula, so we know him at
working respectively it can change. Else The work with
many calculated fields Delphi program is very
decelerated, because these fields are calculated
- Delphi doesn't have any users editor of terms and
filters like e.g. Excel has.
The solutions :
Our offered package of components Eval in a big section is
solving these small Delphi defolts. The basic is the component
Eval, which serves for run-time for scoring of expressions
ordered in string variables. This component has powerful basic,
which string after calculates it analyses and than repeating
scores. Besides it's supporting prevailingly section of standard
functions Delphi and over has a few very strong functions, which
are built into the component TEVAL.
- Filtering tables we can solve by two ways
- To expand a collection of functions by
assistance of Teval component with using change
on filter record for TDataSet.
- These lines of table which are suitable
for the filter, put them an a different colour.
E.g. in DBGrid we using an event OnDrawDataCell,
(OnCellParams) for evaluation of condition
through TEval, and if condition = true, we
put BackgroundColor = clYellow. Otherwice we can
see here all lines of the table but we have
expressed that, what we supposed to see with
using of point 1. Over and above we received on
speed, because it's evaluating whole collection,
but always not just that, what is to be seen on
the screen. Using the component TEvalDBNavigator
we can support an advance just down these lines,
which conform a condition.
- Calculated fields we can define directly during a
running of a program, also add new fields.
Interfacing event the OnGetText for TField and component
Teval we can support transformation of result. See demo.
- For editing of expressions and filters serves a component
TEvalPanel or TEvalSimple which allows to select from
collection of functions and their parameters and this way
to assembly an expression or filter. During setting the
result can be controlled directly in this panel for
forgetful or comfortable people it contains also history
combo box, where you can to selsct from the older
conditions and filters,resp. that is to save new
expressions and filters.
- The packet of components Eval contains also components,
which with their assistance help to assembly own user's
dividing line in this way, that it will realize your
- Library EVAL expanding Delphi about quantity of
functions, which are necessary for user, e.g. comparison
of a text with mistakes, test of chains according to
sound equality, operations with dates, transfer of course
on text and the like.
- If you buy a version with a source code, you can very
easy add your own functions.
Example of user interface:
Example of using component TEvalSimpleDesigner
and linked grid with filtered records.
Disadvantages of components EVAL:
As there is evaluated a term, which is defined when the
program is working, its evaluation takes a longer time as a
classic one. According to measuring installed in demo program to
EVAL library, there is a direct compile code and times faster as
the evaluation through EVAL library.