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 reality .
Problems:
-
Filters in the component TDataSet. Standard filters Delphi have
several disadvantages
-
they have a very weak collection of supporting functions
-
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
relatively often.
-
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 concept.
-
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.