Free evaluation versions without sources.


Ek RTF .Net for Visual Studio v. 5.00 (06.11.2019)

New, coded in C# 
Components for Visual Studio  

Version 5 of the library is an evolutionary development of the previous version 3.xx, which incorporates various small fixes. At the same time, the library has significantly improved the procedure for merging two fragments of RTF text, which is called from the report using the frtf () function. In this version, it is possible to process numbered lists as lists, and not as plain text. The control of the processing algorithm is specified through new options:

  • eoProcessLists – option for frtf() function. If true, numbered list are inserted as lists, if false, numbered lists inserted as plain text;

  • eoUniqueLists – option for frtf() function. Works together with eoProcessLists set to true. If set to false, the numbering of each next list continues from the number at which the previous list ended. If set to true, each new list starts with number 1.

The package is built for target platform .Net Framework v. 2.0. It may be used in projects for .Net v. 2.0 and higher. Check new C# examples in Demo Center.

If you use 2006 version of library named EkRTF_VS.dll and want to migrate to the new component, change reference EkRTF_VS.dll to EkRTF_ClassLibrary.dll in your project, and change in your code namespace EkRtfFunc to EkFunc.


Ek RTF report components for Delphi v. 3.15

Delphi  XE    XE2    XE3    XE4    XE5    XE6    XE7    XE8    XE10    XE10.1    XE10.2    XE10.3   Help file

Demo downloads see in demo center


Ek RTF report components v. 3.12

Delphi  XE    XE2    XE3    XE4    XE5    XE6    XE7    XE8    XE10   Help file

Demo downloads see in demo center


Demo downloads see in demo center


Archive versions. 


Ek RTF report components v. 3.09


Delphi  7    2006 and 2007    2009    2010    XE  


Ek RTF report components v. 4.03 for Delphi 2006.Net

Assembly for Delphi2006.Net
Help in chm format


Ek RTF report components v. 4.03 for Visual Studio 2005

Ek RTF assembly and examples for Visual Studio 2005
Help for Visual Studio 2005



History of EK RTF report components

Version 3.15 for Delphi Win32

  • Fixed unicode output for chars with codes 128-255;
  • Fixed processing of tags doccom, docprops, userprops, template in frtf() function;
  • Fixed memory leak in frtf() function.

Version 3.12 for Delphi Win32

  • Fixed the range check error, wich may appear in some minor cases.

Version 3.11 for Delphi Win32

  • Support for Delphi XE4 and XE5;
  • Minor bugs fixed.

Version 3.10 for Delphi Win32

  • Unicode support - new property UnicodeByDefault;
  • Minor bugs fixed.

Version 4.03 for .Net

  • Frtf() function improved with new rtf tags;
  • Fixed bug in ROUND function when number of 0.005 could be wrongly handled;
  • FileOpen mode is changed for InFile to ShareDenyNone;
  • Fixed functions frtf() and fbool();
  • Fixed method SetTemplateBuffer;
  • Functions CurrencyString, CurrencyFormat, NegCurrFormat, ThousandSeparator, DecimalSeparator, CurrencyDecimals are sensitive to Windows Regional Settings.

Version 3.09 for Delphi Win32

  • Frtf() function improved for Word 2007 rtf tags;
  • Fixed bug in ROUND function when number of 0.005 could be wrongly handled;
  • FileOpen mode is changed for InFile to fmShareDenyNone.

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\:

  • 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

Login to site

Web User Login Form

Forgot password?