CHT (Clarion Handy Tools)
Templates, Classes, Utilities, Apps, Projects

DECEMBER 10, 2021

CHT Update 25D.03.00
Released December 9th, 2021 C91,C10,C11,C111


This is a list of CHT utility applications with Clarion version specific registry settings.
There are 8 of them:


These apps keep their settings in Clarion-version-specific registry locations so that the 4 different Clarion versions of these apps do not share the same lookup information when they operate.

The reason for this is obvious when you think about it. For instance, HNDCMP.APP, the CHT Compile manager will present the last used compile file for the Clarion version showing on the splash screen.

These apps have splash screens that identify them to you with the Clarion Version displayed in the lower left hand corner. Here you'll see C9.1, C10, C11 or C11.1 depending on which Clarion version you're working with to compile the app.

Note too that these first 8 apps display a slightly newer splash screen image identifying the company as "CHT (Clarion Handy Tools)" instead of "The Clarion Handy Tools" or just "Clarion Handy Tools".

Splash screens of other demo and utility apps will be re-branded to "CHT (Clarion Handy Tools) as soon as practical.



This template provides many useful features that help you version and identify your software's name to users with a minimum of hassle and a maximum of clarity.

In this build we've expanded the usefulness of a template config field which was called "Fixed Build Number" and is now called "Fixed Version Number".

Its purpose is still the same but its usefulness has been expanded by making the field picture @N04.1 so that an app can be subversioned slightly upward using a decimal value from xx.0 to xx.9. This is a "fixed" value that stays with the app until you change it manually. It does not roll forward or backward without the developer explicitly changing the value.

Developers can issue different apps in the same version series with different sub-version numbers showing in the decimal portion of the field. The value belongs to the app and is intended to help you isolate customer feedback to a specific "version" or "iteration" of your app should problems occur and to help guide users to a newer iteration of the application that may have had some short-coming or other replaced with better code or a newer design.

When you check this "Fixed Version Number" field, the application generates two constants into the global area. These are as follows:

HPROP:AppVerNumber EQUATE('V26.1')
HPROP:AppTitleVerNumber EQUATE('CHT Q+A FORUM (TEXT) V26.1')

The smaller constant, HPROP:AppVerNumber contains only the "Fixed Version Number" field (including the decimal) with a "V" before it as above. The larger constant, HPROP:AppVersionBuildEx displays the Application text name as provided on the same template's "Version" dialog as "Product Name" in addition to the version number including the "V" and the decimal value.

Since these constants are global, they can be used on windows anywhere in your app to identify the app. When you use this technique and need to up-version the application, or give it a newer text name, it is a simple matter to visit the HANDYVERSIONRESOURCE template, make the change and regen-compile. In one quick maneuver all visible and internal identifiers change.

It should be made clear at this stage that this "Version Number" is not the same - at least in my thinking - as a "Build Number". In our case at least, I consider the "Build Number" to be the CHT "Build" or "Update" the app was generated/compiled with. While the "Version Number" is the specific iteration containing unique changes that help indicate to the user (and to you when they ask for support) which set of code changes (like embeds for example) apply to the application being reported.

We've introduced a separate set of equates that distinguishes more clearly between the "CHT Build Number" from the Application Build Number as configured on the HANDYVERSIONRESOURCE template. The "CHT Build Number" now appears in two separate equates as below:


The HANDYVERSIONRESOURCE template generates a non-CHT Build Number in addition to the "Fixed Version" number just discussed. These are: "Date Encoded Build Number" and "Clarion Version / Date Encoded Build Number". These global constants are globally created in your app, depending on which of the above settings you choose.

Choosing a "Date Encoded Build Number" produces this outcome... Effectively this indicates: Year 21, Month 12, Self-advancing Iteration 001.

HPROP:AppBuildNumber EQUATE('[V21.012.001]')
HPROP:AppTitleBuildNumber EQUATE('CHT Q+A FORUM (TEXT) [V21.012.001]')

Choosing "Clarion Version / Date Encoded Build Number" produces this outcome. Effectively this indicates: Clarion 11, Year 21 and Month 12

HPROP:AppBuildNumber EQUATE('[V11.021.012]')
HPROP:AppTitleBuildNumber EQUATE('CHT Q+A FORUM (TEXT) [V11.021.012]')



HNDXML2HTML.EXE creates the (HTML/PDF) appropriate target directory if it does not exist. That's the directory from which the HTML document preview feature operates when CHTSNAPDIT.EXE is asked to preview the document being created for any XML2HTML template. If your page includes images, the images must be placed here for preview to find them.

Inside all CHT XML2HTML templates (for example 000november2021.xml) are three separate tag sets into which are optionally placed the target file names of HTML + PDF documents generated by the template when processed through HNDXML2HTML.EXE by CHTSNAPEDIT.EXE's preview function.

These three tag sets are:

c:\web\november2021.html (default preview document name)

c:\web\november2021.htm (optional alternative name)

c:\web\november2021.pdf (optional pdf name causes generation of pdf)

If these tag sets are left blank (particularly the first one) the HTML document still generates and previews...

** BUT it generates as 000november2021.html (the name of the template file with an .HTML extension)

** AND it generates to the accessory\hnd\html\ directory below your hosting Clarion version

The idea of these three tag sets, thus, is to allow you to use the target file name and placement directory location of your choice for the generated files.


• CHT Q & A Text Forum (FULL SSL) •


Our WEB CLIENT application, HNDCLIENTCL.EXE included with the upcoming December 6th, CHT update, acts as a text-based replacement of our long standing, but long-in-the tooth, HTML-style forum help server. You will find this forum much faster, and much more convenient to use.

This text client is perfecly able to let you view and edit the former HTML server's data tables, and to ask new questions and post new comments as you did before. You can even query and view user questions and commentary back to approximately 10 years when we last purged this server's data tables.

The data tables in use are TOPSPEED type which have a reputation of not being very speedy across a WAN using standard operating system network connections. That reputation for slowness exists because a typical one piece data application is separated from the data tables across the network.

Normal operating system streaming speeds, are severely limited across a WAN. And while SQL data streaming speeds are a bit better they are still not up to the speeds that can be achieved using HTTPS across the WAN or the Internet.

You will, no doubt, discover when you browse this forum, that it is amazingly fast, as though the data tables were local to you. That's because CHT uses a two-piece application approach. The server is near the data tables where it needs to be, and that design limits the amount of standard network streaming to mere inches, since the tables and server are on the same computer hardware.

The user interface, the client part that you will be using -- i.e. HNDCLIENTCL.EXE -- is connected to the server by a far faster protocol over secure HTTPS using a highly encrypted and compressed data stream.

Try it and discover the speed for yourself! It's available in the December 6th, (C10) CHT Update and December 10th, (C9.1, C11, and C11.1) CHT Updates.


Contact Us

Click the link below to contact us by email.
It will start your email client with our email address inserted:

Click To Contact Us