分享

Unicode-aware Delphi third-party components

 quasiceo 2012-12-20

Unicode-aware Delphi third-party components

Although Delphi supports Unicode with its WideString type and with many Unicode-aware runtime functions and classes, the user interface controls of Delphi’s VCL don’t currently support Unicode. CodeGear is planning to move the VCL to Unicode in the future, but if you want to build Unicode-aware applications with Delphi right now (which you probably should), you have to use third-party controls and components for your project.

Because it’s sometimes difficult and time-consuming to find out which Delphi third-party tools and libraries support Unicode and because we have some experience with this topic from porting SmartInspect to Unicode, here is a list of Unicode-aware Delphi components. This list isn’t complete and I would appreciate it if you could add any missing library or component by leaving a comment.

TntWare Unicode controls
This originally freely available component and library pack offers Unicode-aware versions of most Delphi standard UI controls and classes. This one is a must-have if you plan to port your application to Unicode. Whether you need a Unicode-ware TLabel, TEdit, TFileStream (file names!), TOpenDialog and so on, this component pack has it. There are multiple versions of this control pack out there and the official one is now maintained by TMS Software and can be obtained for a rather cheap fee of just EUR 30. Another version of this library with support for Unicode exceptions is freely available from mh-nexus:

Virtual Treeview component
One of the best free Delphi components out there is the well known Virtual Treeview component. One of the strengths of this tree and list view control is its flexibility as well as the great performance. Mike Lischke developed this control with Unicode in mind and it’s fully Unicode-aware. Mike also published UniCodeEditor, a Unicode aware memo control with support for syntax highlighting. Another Unicode-aware library from Mike is his Unicode library, a collection of useful classes and functions for developing Unicode-aware Delphi applications. This library also features a basic Unicode-aware regular expression class. Because the Unicode library is now part of JEDI, you should get the JEDI Code Library if you need this (see below).

JEDI Code Library
Although the JEDI Code Library is not fully Unicode-aware, it contains a very useful JclUnicode unit with many useful Unicode functions and classes. This unit is based on Mike Lischke’s Unicode library which is now maintained by the JEDI folks.

Unicode-aware SynEdit component
Besides the TNT Unicode Controls with support for Unicode exceptions, mh-nexus is also maintaining its own fork of SynEdit with full Unicode support, Unicode SynEdit. SynEdit is a popular memo control with syntax highlighting and other IDE-like features. Worth checking out.

EControl Syntax Editor SDK
Another syntax highlighting enabled source editor with Unicode support is the Syntax Editor SDK from EControl. Although I have no experience with this component, I had people recommend it to me and it looks like a powerful alternative to SynEdit.

TMPHexEditor hex editor Delphi component
The free hex editor component TMPHexEditor from supports displaying Unicode characters. It’s a great component even if you don’t need the Unicode support.

Sisulizer localization tool
The commercial Sisulizer localization tool supports Unicode. Sisulizer allows you to localize your Delphi application and contains a translation tool that you can redistribute to language translators.

Unicode libraries from The Delphi Inspiration
The Delphi Inspiration, a German vendor of Delphi libraries, offers some interesting and useful Unicode-aware libraries. One of these libraries, DIRegEx, is a complete Unicode-aware regular expression library for Delphi (it’s based on PCRE). Other Unicode-aware libraries from The Delphi Inspiration include an HTML parser library, an HTML label control, Unicode text reader and writer classes and a Unicode encoding library (based on libiconv). The libraries and classes are available for a small fee of EUR 25 – EUR 75.

SmartInspect Delphi logging
Of course, our own third-party product SmartInspect is fully Unicode-aware. SmartInspect is a logging tool that helps you to build more reliable and secure applications by offering a powerful and fast logging library and viewer application. We ported SmartInspect to Unicode last year and you can read about some of our experiences with this in this blog posting.

Delphi’s own WideStrUtils and WideStrings units
Although not a third-party library or control, I wanted to mention the not-so-well known WideStrUtils and WideStrings units that ship with Delphi itself. These units contain useful Unicode-aware functions and classes including a TWideStringList implementation. Additionally, the SysUtils unit contains overloaded versions of many functions that can handle WideStrings (like Trim, for example).

If I didn’t forget anything (which I probably did!), these are the main Unicode-aware Delphi libraries I know of. If you know any other component, library or third-party tool for Delphi that supports Unicode, please leave a comment.

This entry was posted in DelphiFeeds.com. Bookmark the permalink. Both comments and trackbacks are currently closed.

7 Comments

  1. Posted August 22, 2007 at 22:38 | Permalink

    You might add IntraWeb to this list. We fully support UTF-8 Webapplications. IntraWeb is technically a VCL add-on, but as we don’t rely on VCL/Win32 for rendering, but on Web browsers, you may happily mix German, Russian, Chinese or other fancy character based languages on the same form.

    If you are working with a single Language /Charset only, then you just need to specify your charset in IntraWeb, which will make sure that Chinese browsers will see German Umlauts and vice versa …

  2. Posted August 23, 2007 at 16:31 | Permalink

    Also LMD has a big components pack that support Unicode even on Win9x
    http://www./products/vcl/lmdelpack/

  3. Posted August 23, 2007 at 19:37 | Permalink

    Also

    1) TSiLang translation component
    http://www.

    2) DKLang translation component
    http://www./

    3) VirtualShellTools shell components
    http://www./

    4) My own ATBinHex, supports both Unicode filenames and Unicode file contents
    http:///

  4. Patrick van Logchem
    Posted August 24, 2007 at 07:08 | Permalink

    You missed UTF8VCL ( https:///projects/utf8vcl/ ) : “Utf8Vcl allows your Delphi application to become a unicode applications with no changes to your vcl code and third party components”

  5. Posted August 28, 2007 at 05:12 | Permalink

    Speaking of Unicode tools, you might also want to check Resource Tuner Console that enables developers to automate editing of resources in Windows 32 and 64-bit EXE or DLL files. It fully supports Unicode and lets you edit strings in and work in multiple languages.
    http://www./rtconsole-edit-strings.htm

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多