Version 4.00 for .Net is based on a source code of components version 3.08 for Win32. Components code is completely rewritten in order to use pure .Net calls wherever it is possible.
What is changed since Win32 version:
Binding data with report. New property ReportData is used to attach data to the report template ;
Report variable methods AsDate AsDateTime work with .Net System.DateTime type instead of Delphi's TDateTime;
All images in this version are inserted as hexadecimal code instead of binary. Scale of image is computed basing on real image size and resolution. It may not coincide with the scale that Word shows in image properties;
No variables available at design time;
EkUDF class - property FunctionName is now used instead of Name for user defined functions;
User functions with udfrImage result type expects that new UDFResult object will be created in function code;
Fdtm() format function works with .Net "Custom DateTime Format Strings" instead of Borland format strings;
New designer for user defined function;
New documentation available in chm and Help2 formats.
Version 3.08
frtf() function improved in order to support new MS Word 2007 rtf tags;
Added additional support of tables rtf attributes to frtf() function;
Fixed bug with fdtm() function - format mask with comma raised an error.
Version 3.07
Report commands were processed in a hidden shape results blocks of rtf document;
frtf() function:
Fixed bug when inserted text was outside of the table on the next page of document;
Some special characters were skipped in result document;
If source rtf has smart tags, it was incorrectly inserted into result rtf;
If source rtf has numbered list, it was inserted with wrong numbers into result rtf.
Version 3.06
frtf() function inside a table. Fixed bug when inserted text was outside of the table in some editors;
Msftedit.dll rich text control. Fixed bug whith incorrect color table in output document;
DataSet, which name is one char length, was parsed as not existing alias name.
Version 3.05
frtf() function improved in order to be compatible with Word 2003 rtf documents.
Version 3.04
Fixed bug with incorrect color table in ftrf() function, when report was executed for the second time;
Optimized behaviour of iif function;
Iif function may be used inside \Scan...\ commands;
New keyword \elsif\:
\if(...)\
\elsif(...)\
\elsif(...)\
\else\
\endif\
New assigment operator :=, for example \a:=4\;
New function pos(substring, string) the same as Delphi pos function;
New option eoKeepFrtfPar. If set to True, ftrf() format function doesn't delete paragraph symbol in inserted rtf text.
Version 3.01
Optimized code to make faster report compilation;
Fixed bug with page breaks missed in inserted rtf text.
Version 3.00
Created DataType property for report variables; Variables previously created in design time will have data type "Unknown";
New design time editor for report variables;
Decimal separator for numeric constants in report template set to ".";
Arithmetical operations and formulas in report template: >, <, =, <=, >=, <>, != (not equal), +, -, *, /, % (mod)
Logical operations and formulas in report template: && (and), || (or), ! (not)
Built-in report functions:
SET(VarName, Value) assigns Value to variable VarName
IIF(Condition, Value1, Value2)
Text functions:
str(Number,[optional length, optional decimals])
if length set to 0, but decimals<>0, result will be equal trim(str(...))
val(s)
upper(s), lower(s)
copy(s,startpos,[optional count]),
mid(s,startpos,[optional count]),
substr(s,startpos,[optional count])
trim(s)
formatfloat - the same as Delphi FormatFloat
Dataset functions:
eof, bof, last, first, next, prior
for example eof(a), next(table1)
Numeric functions:
round(n,decimals)
round is different from Delphi round function
0.5 is always processed to largest integer number, this is not banker rounding
int, frac
power, intpower
Date/time functions:
now, date, time, datetostr, datetimetostr, timetostr,
strtodate, strtodatetime, srttotime, year, month, day,
SYEAR(date)
string representation of year
SMONTH(date)
string representation of month
month<10 have zero in place of first symbol - 01, 02 and so on ...
SDAY(date)
string representation of day
day<10 have zero in place of first symbol - 01, 02 and so on ...
DTOS(date)
the result is string yyyymmdd
STOD(string)
converts string like yyyymmdd to date value
Version 2.02
fixed bugs:
picture inserted trough the frtf() function was duplicated in output file
report generator didn't process MS Word fields inserted through the frtf() function
couldn't set UDFList property to nil
in some cases report executing status was "true" after exception
Version 2.01
fixed bug when some fields with spaces in name didn't work
Version 2.00
new construction \if(...)\ \else\ \endif\
scan "while" keyword now works with report variables and data fields
constants support: \True\ \False\ - boolean, {yyyy-mm-dd} - date constants
new methods: CreateTmpFileName, CreateFileName
symbol "." in field names in this version always considered as ":", scan blocks must be defined only with "scan-endscan" keywords
new format fbool() - boolean
new format frtf() - rich text (works only in full registered version)
new help, integrated with Delphi help system
Version 1.85
new procedure InsertRTFMemoStream in the unit ekrtfstream
new procedure InsertRTFMemo
in the unit ekrtfstream
double click on TEkUDFList
component opens "Functions" editor window
fixed bug with scan while() function on skipping empty scan block
Version 1.82
fixed bug with fdtm()
format and constant parameters with database fields
if dataset is on a
eof position after OnScanRecord event, scan block skips the empty record
states of report datasets
are returned back to EnableControls if exception raised while processing
the report
Version 1.81
format functions and
user defined functions accept string and numeric constants as arguments
extended format of
scan block with new keyword "while": \\Scan(DataSet), While(UDF(...)),
.... \\ scan block terminated if result of UDF(...) is "false"
scan-endscan block
works on a single line of text
new report template
function VAR(var1, ..., varN) - creates variables var1 - varN if they
don't exist
new option eoNumericFormatClearZero
- deletes zero numbers in numeric formats output
fixed bug with output
blob jpeg images
new method ShellOpenFile
Version 1.70
created new component
TEkUDFList for user defined functions
new property UDFList
in TEkRTF component
extended syntax of
report template in according with UDF support
Version 1.62
fixed bug with incorrect
exception in method SetTemplateBuffer
more than 26 datasets
support
fixed bug with FormatIndex=0
in event OnImageFormat
Version 1.60
total and count functions
sum(), ctn(), cts() for scan block commands
new methods for manipulating
with report variables: VarByName, ClearVars, CreateVar, FreeVar
extended format of
scan block - new keyword \ScanFooter\
new format functions
fdtm, ffixr, fnumr
properties DecimalRSeparator,
DecimalRTerminator for using with "ffixr" and "fnumr" formats
new option eoDotAsColon
cached structure of
dataset files
IMPORTANT: In this version option eoDotAsColon is True by default. It
means that all field names like \DataSet.Field\ will be considered as
\DataSet:Field\.
If you use implicit cycles on MS Word table with field inside that has
syntax \DataSet.Field\, you should replace it with \DataSet:Field\ and
use keywords \Scan(DataSet)\ and \endscan\.
If you still wish to use old (not reliable) method to make cycles, you
must set option eoDotAsColon to False.
Version 1.50
"noeof" option in
"Scan" keyword \Scan(DataSet)[,page][,noeof]\ scan block will be missed
on eof of scanned dataset
new keyword \ScanEntry\
(for using with "noeof" option)
extended syntax for
fields with spaces in names
optimized core of
report engine
symbol #11 will appear
as "line break" control in output file
symbol #12 will appear
as "new page" control in output file
|