CHT Classes

HOME CLASSES
TEMPLATES APPLICATIONS

CHT CLASSES BY NAME
(BUILD: 22C.00.02)  
August 17, 2018

*** HNDACTIVEDOCUMENT ***

 
CLASS:HNDActiveDocument
STATUS:Current
PARENT:HNDError
COMPOSED:None
CATEGORY:MS Office Interface
DEMO:HNDWORDDEMO.APP
More
DLL:Microsoft Office
TLB:None
HEADER:HNDMSWRD.INC
CODE:HNDMSWRD.CLW
TEMPLATE:EmbedMSWordFunctions
HandyWordInterfaceControls

DESCRIPTION:

*** REVISED MARCH 2018 ***

The HNDActiveDocument class is one component of five, providing an OLE interface connection to Microsoft Office documents. Other MS Office objects in the set are: HNDMSWord, HNDApplication, HNDDocuments, HNDActiveDocument, HNDRefWindow.

This set of five Clarion objects allows Clarion applications utilizing them to connect to MS Word in order to send various formatting insertion and deletion commands (spell checking for example) via the same document interface provided by MS Word itself via its "Visual Basic For Applications", command language. For example applications, see HNDWORDDEMO.APP and HNDWORDINTERFACEDEMO.APP.

*** HNDADDRESSBOX ***

 
CLASS:HNDAddressBox
STATUS:Current
PARENT:HNDNameBox
COMPOSED:None
CATEGORY:Extended Controls - Names And Addresses
DEMO:HND6.APP
DLL:None
TLB:None
HEADER:HNDADRBX.INC
CODE:HNDADRBX.CLW
TEMPLATE:HandyAddressControls

DESCRIPTION:

*** REVISED MARCH 2018 ***

HNDAddressBox is an address-handling utility that lets your users enter an address into a single, multi-line text field even when the back end data file or table has separate fields for Street, Suite, City, Province/State and Country.

Developers can configure this class to direct input into the target data fields of their choice.

When there is any doubt as to the interpretation, or completeness of an input address, a dialog similar to the address dialog in MS Outlook pops up with the components displayed in the target fields, allowing the user to make adjustments if necessary.

HNDAddressBox works in two directions so that addresses may be displayed from the data repository in a single, multi-line text field for editing with changes written back to the correct target data table fields.

The list of selectable countries is developer configurable. Example application HND6.APP.

*** HNDANIMATE ***

 
CLASS:HNDAnimate
STATUS:Current
PARENT:HNDError
HNDDiskEx
COMPOSED:None
CATEGORY:Extended Controls - Animation
DEMO:HNDCPYDM.APP
DLL:None
TLB:None
HEADER:HNDANIMA.INC
CODE:HNDANIMA.CLW
TEMPLATE:EmbedObject

DESCRIPTION:

*** REVISED MARCH 2018 ***

The HNDAnimate class provides a variety of on-screen animations used most often by developers as an indication of on-going activity or to replace or enhance a progress bar.

It encapsulates MS Windows' built-in animation control for easy use on your application windows. See HNDCPYDM.APP for examples.

HNDAnimate is optionally passed into HNDDiskEx to provide animation services on wait windows for a variety of bulk file processing activities. It may also be used alone on any Clarion window with the .AVI of your choice. This class does not have a direct template to implement its functionality. It, instead, is used inside of HNDDISKEX via composition to create and "animation object" that's capable of displaying short animations on a window -- for example: hndfilecopy.avi.

It may be added to a procedure (as can any CHT Class) via the generic class-attachment tempalate called "EmbedObject". But any template that incorporates HNDDiskEx (See HNDDiskEx) will make this class available to your procedure.

*** HNDAPPHOOK ***

 
CLASS:HNDAppHook
STATUS:Current
PARENT:None
COMPOSED:None
CATEGORY:Coding Assistance
DEMO:HNDSETUP.APP
DLL:None
TLB:None
HEADER:HNDAPPHK.INC
CODE:HNDAPPHK.CLW
TEMPLATE:EmbedAppHookFunctions

DESCRIPTION:

*** REVISED MARCH 2018 ***

The HNDAppHook class is unusual because, in and of itself, the code module contains no code.

All methods in this class are intended for overriding in the application procedure, hence the name "App Hook". See HNDSETUP.APP for an example use of HNDAppHook.

This class hooks into any standard Clarion procedure via template - EmbedAppHookFunctions - and provides named (though generic) embed points that can be made to perform almost any function required by the application.

Normally, hand-embedding into these functions is the most likely use, but conceivably, a template could embed functionality requested by the developer as well

.

*** HNDAPPIO ***

 
CLASS:HNDAppio
STATUS:Current
PARENT:None
COMPOSED:ICriticalSection(ABC)
CATEGORY:INI File And Registry
DEMO:Most_CHT_Demo_Apps
DLL:None
TLB:None
HEADER:HNDAPPIO.INC
CODE:HNDAPPIO.CLW
TEMPLATE:EmbedObject

DESCRIPTION:

*** REVISED MARCH 2018 ***

This class is responsible for storing application configuration information to the target location indicated on the Application -> Global Properties -> General -> Non Volatile Settings dialog in the Clarion IDE.

Other CHT classes make use of this class to write configuration information (where required) to the target location configured in your application.

HNDAppIO is lower on the pecking order than even the HNDERROR module. Hence it posts no errors. It has no virtuals since it is not meant to be derived. Rather, it is incorporated into other, higher-level modules by composition rather than derivation. Like the HNDError class, it is used ubiquitously, so it is small, simple and thread-safe.

Ten other CHT Classes include HNDAppIO via composition. Consequently, it's functionality is incorporated indirectly into many applications using a variety of CHT Templates without you needing to do anything directly to make use of it.

It may be added to a procedure (as can any CHT Class) via the generic class-attachment template called "EmbedObject".

CHT header modules that incorporate this class are as follows: hndadrbx.inc, hndbrwfl.inc, hndcalc.inc, hndclnt.inc, hnddisk.inc, hndflbrw.inc, hndinetf.inc, hndini.inc, hndscdap.inc, hndutil.inc.

*** HNDAPPLICATION ***

 
CLASS:HNDApplication
STATUS:Current
PARENT:HNDError
COMPOSED:HNDDocuments
CATEGORY:MS Office Interface
DEMO:HNDWORDDEMO.APP
More
DLL:Microsoft Office
TLB:None
HEADER:HNDMSWRD.INC
CODE:HNDMSWRD.CLW
TEMPLATE:EmbedMSWordFunctions
HandyWordInterfaceControls

DESCRIPTION:

*** REVISED MARCH 2018 ***

The HNDApplication class is one component of five, providing an OLE interface connection to Microsoft Office documents. Other MS Office objects in the set are: HNDMSWord, HNDApplication, HNDDocuments, HNDActiveDocument, HNDRefWindow.

This set of five Clarion objects allows Clarion applications utilizing them to connect to MS Word in order to send various formatting insertion and deletion commands (spell checking for example) via the same document interface provided by MS Word itself via its "Visual Basic For Applications", command language. For example applications, see HNDWORDDEMO.APP and HNDWORDINTERFACEDEMO.APP.

*** HNDAVI ***

 
CLASS:HNDAvi
STATUS:Current
PARENT:HNDError
COMPOSED:HNDSlider
HNDAnimate
CATEGORY:Sound And Video
DEMO:HNDQMCI.APP
DLL:None
TLB:None
HEADER:HNDAVI.INC
CODE:HNDAVI.CLW
TEMPLATE:EmbedAVIFunctions

DESCRIPTION:

*** REVISED MARCH 2018 ***

The CHT HNDAvi class implements MS Windows MCI, audio and video playback giving Clarion developers relatively painless programmatic access to these built-into-Windows sound and video functionalities.

Since the capabilities of this class have evolved tremendously over the years, the class name has become a misnomer. AVI is only one file format of many, that can be played.

Demo application HNDQMCI.APP illustrates playing file formats MP3, WAV, AVI, MIDI, MPG and WMV. A template called EmbedAVIFunctions may be used to attach the HNDAVI class to your procedure.

*** HNDBINFILEIO ***

 
CLASS:HNDBinFileIO
STATUS:Current
PARENT:HNDError
COMPOSED:HNDBuffer
CATEGORY:Binary File Access
DEMO:Most
DLL:None
TLB:None
HEADER:HNDBINIO.INC
CODE:HNDBINIO.CLW
TEMPLATE:EmbedHNDBinFileIOFunctions

DESCRIPTION:

*** REVISED MARCH 2018 ***

HNDBinFileIO provides binary-level file access, both read and write. Read any file into memory, modify it at byte level and write it back or create binary or text files from scratch.

HNDBinFileIO provides an implementation of memory-mapped files that can be created by one application and read by another, allowing simultaneously-running applications to communicate with one another via an in-memory file that never hits the drive.

This class provides GUID-creation functionality. HNDBinFileIO is used via composition in the following CHT header modules: hndini.inc, hndshell.inc, hndspell.inc and hndutil.inc.

*** HNDBROWSE ***

 
CLASS:HNDBrowse
STATUS:Current
PARENT:HNDBrwFilter
HNDParse
HNDError
COMPOSED:HNDSizes
HNDGreenBar
HNDStepClass
CATEGORY:Browse Building Classes
DEMO:HNDSCHOOL.APP
HNDACCES.APP
More
DLL:None
TLB:None
HEADER:HNDBROWS.INC
CODE:HNDBROWS.CLW
TEMPLATE:ExplorerBrowse
LocatorOverRideControl

DESCRIPTION:

*** REVISED MARCH 2018 ***

The HNDBrowse class provides the basis for CHT browse extension templates ExplorerBrowse and LocatorOverRideControl. While these templates provide a developer interface for extending the capabilities of ABC browses, this class (HNDBrowse) provides, in abstract, all of the functionalities delivered by those templates. Browse extension services as widely varied as dynamic sorting, real-language querying, header-click browse re-ordering, greenbar, column swapping and more.

The extremely broad range of browse-extension features delivered by the above-mentioned templates are either implemented in this class or are derived by this class from other, lower-level CHT classes either via derivation (HNDBrwFilter, HNDParse, HNDError) or by composition (HNDSizes, HNDGreenBar, HNDStepClass).

*** HNDBROWSERSERVER ***

 
CLASS:HNDBrowserServer
STATUS:Current
PARENT:HNDHtml
HNDError
COMPOSED:HNDConfig
HNDIPAddress
HNDDisk
HNDBuffer
HNDEncrypt
HNDDates
CriticalSection
CATEGORY:Internet - HTTP Web Servers
DEMO:HNDSLFSV.APP
HNDCLIENTSV.APP
More
DLL:None
TLB:None
HEADER:HNDBRWSV.INC
CODE:HNDBRWSV.CLW
TEMPLATE:EmbedBrowserServer

DESCRIPTION:

*** REVISED APRIL 2018 ***

HNDBrowserServer, is CHT's base server class. Because this class has evolved tremendously from its first appearance in approximately the year 2000, it is not only "Browser" oriented. Its name is now a total misnomer, since that name is based on its very earliest implementation only.

Consider this class in its presently evolved form, as a CHT's HTTP Server Base Class.

This class is incorporated into every CHT server application by means of a template called EmbedBrowserServer, again now a misnomer, but no less practical, as the template that implements CHT's HTTP Server Base Class. All CHT Server applications are founded on this template and this base class.

A child server class named HNDSubscriptionServer derives this server base class, to implement browser-directed server operations, client-directed server operations and various file-directed server operations. The examples listed above are only some of the example applications utilizing this HNDBrowserServer class and its hosting template.

*** HNDBRWFILTER ***

 
CLASS:HNDBrwFilter
STATUS:Current
PARENT:HNDParse
HNDError
COMPOSED:HNDLocator
HNDUtil
CATEGORY:Record Filtering Classes
DEMO:HND2.APP
HND3.APP
HNDSCHOOL.APP
More
DLL:None
TLB:None
HEADER:HNDBRWFL.INC
CODE:HNDBRWFL.CLW
TEMPLATE:ExplorerBrowse
PopFavoriteQueries_EXPB
HandyMarkerBrowse
More

DESCRIPTION:

*** REVISED MARCH 2018 ***

This class (HNDBrwFilter) is used by all CHT browse extensions to provide filtering capability using CHT Query Language derived from the CHT HNDParse class. The advanced features of this class come built-in to the CHT browse-extension templates ExplorerBrowse, HandyMarkerBrowse, LocatorOverRideControl, and others.

Thus, these features may be used via embedding inside your browse procedure without applying any other CHT query control or search control templates. However, a wide variety of such query and search control templates is available to write search and query code for you, without embedding, using the functionalities provided by HNDBrwFilter and it's parent HNDParse.

Example query templates are:
QueryParsingFilterControl, PopFavoriteQueries_HMB,
HandyMarkerBrowseLocatorControlEx and nearly a dozen more.

*** HNDBUFFER ***

 
CLASS:HNDBuffer
STATUS:Current
PARENT:HNDError
COMPOSED:None
CATEGORY:Low Level Memory Data Functions
DEMO:HNDMTSNG.APP
HNDSLFSV.APP
More
DLL:None
TLB:None
HEADER:HNDBUFFR.INC
CODE:HNDBUFFR.CLW
TEMPLATE:EmbedBufferObject

DESCRIPTION:

*** REVISED MARCH 2018 ***
This class provides a means of creating, removing, and even re-sizing large storage memory spaces within your procedures. This eliminates the need to create a pre-sized CSTRING which must accept binary data of unknown length. Inevitably, in situations where the input data size is unknown ahead of time, the CSTRING created is too big and wastes memory, or too small and either fails or GPFs due to memory overwrite. Since this is an object that once out of scope self-destucts, there is also less risk of leaving unused, but still-allocated memory space attached to your application, thus preventing "memory leak".

HNDBuffer also includes a "BufferHash" function which can detect differences between the data held in one buffer and another. A Hash value is kept of any given buffer as it has data inserted or removed from it. At any time, the hash value of one buffer can be compared with that of another buffer to determine if they are the same or different. CHT's server classes use HNDBuffer extensively to create memory storage for large, but infinitely size-variable, data coming and going over the network or the internet.

HNDBuffer is used via composition in the following CHT header modules: hndbinio.inc, hndbrwsv.inc, hndclnt.inc, hnddisk.inc, hndencrp.inc, hndhttp.inc, hndimail.inc, hndjsdap.inc, hndpop.inc, hndradap.inc,hndrwprlib.inc, hndscdap.inc, hndsmtp.inc hndstrlb.inc, hndutil.inc, hndvwdap.inc, hndwhttp.inc and hndwmp.inc.

*** HNDCDROMCLASS ***

 
CLASS:HNDCDROMClass
STATUS:Current
PARENT:HNDUtil
HNDError
COMPOSED:HNDStrLib
HNDComLibrary
CATEGORY:Burn CDROM Disks
DEMO:None
DLL:IMAPI2FS.DLL (WINDOWS_DLL)
TLB:HNDCDROM.TLB
HEADER:HNDCDROM.INC
CODE:HNDCDROM.CLW
TEMPLATE:EmbedHNDCDROMClass

DESCRIPTION:

This class is built on MS Windows capabilities deriving from its IMAPI2FS.DLL. It enables your app to programmatically copy files and directories to a CD/DVD Drive containing a variety of CD media types. This functionality is contained in modules HNDCDROM.INC, HNDCDROM.CLW and HNDCDROM.TLB.

Apply HNDCDROMClass to your procedure with CHT template EmbedHNDCDROMClass.

*** HNDCALCCONTROL ***

 
CLASS:HNDCalcControl
STATUS:Current
PARENT:HNDError
COMPOSED:HNDAppIO
CATEGORY:Calculators
DEMO:HNDCALCULATOR.APP
DLL:None
TLB:None
HEADER:HNDCALC.INC
CODE:HNDCALC.CLW
TEMPLATE:EmbedCalculatorFunctions
HandyCalcEntryControl_ECF

DESCRIPTION:

*** REVISED JULY 2017 ***
HNDCalcControl provides two different calculator formats that may be called via a simple function in your application. A small, basic calculator is started with OBJ.HandyCalc(). A larger, more graphically sophisticated calculator, with an interchangeable skin, and a scrolling tape, is started with OBJ.HandyCalcTape().

*** HNDCALLBACK ***

 
CLASS:HNDCallBack
STATUS:Current
PARENT:HNDError
COMPOSED:HNDRGBColor
CATEGORY:Window Callback Functions
DEMO:Most CHT Demos
DLL:None
TLB:None
HEADER:HNDCALBK.INC
CODE:HNDCALBK.CLW
TEMPLATE:EmbedWindowFunctions
EmbedHNDCallBackFunctions

DESCRIPTION:

*** REVISED MARCH 2018 ***
This is a low-level, window call-back functions class derived by a higher level class called HNDWindow. As such, HNDCallBack is never attached to your window procedure all by itself. It comes in as a derived component of the CHT HNDWindow Class, which is populated on Window procedures by EmbedWindowFunctions.

One example, of what the code in this class is capable of doing, is finding other windows, even those of other running programs, and sending messages to them via the function OBJ.SendAppEvent().

Since most CHT Demos incorporate template EmbedWindowFunctions, on their Window procedures, based in the ABC Window template, almost any CHT demo will illustrate some aspect of the HNDCallBack class.

*** HNDCAPTURECONSOLE ***

 
CLASS:HNDCaptureConsole
STATUS:Current
PARENT:HNDError
COMPOSED:None
CATEGORY:Capture DOS Console
DEMO:HNDCMP.APP
DLL:HNDCAPCON.DLL
TLB:None
HEADER:HNDCAPCON.INC
CODE:HNDCAPCON.CLW
TEMPLATE:EmbedHNDCaptureConsole

DESCRIPTION:

*** REVISED JANUARY 2017 ***

A really good example of a "DOS Console Application" with which all Clarion developers are, or at least should be, familiar is CLARIONCL.EXE. From the DOS prompt, hand typed instructions on the "Command-line" or more likely, using a batch file, it is possible to generate, compile and even execute specific templates in the application. "Console" applications of this sort, output execution information to the "DOS Console", the normally black window that constitutes a direct interface to DOS.

With CHT's HNDCaptureConsole class, it is possible to "Capture" the DOS console in such a way that the black, DOS Console Window does not appear, and the execution output that would normally appear in that window is "Captured" and returned to your Clarion application as a string return value.

Another good example of how this class can be used by a standard Clarion application is HNDCMP.APP, better known as "CHT Clarion Project Builder". This application, in fact, runs CLARIONCL.EXE in a "captured" manner, and returns the full output that would noramlly appear in the Console window and stores it in an application YOURAPPNAMEHERE.LOG file.

As of January 2017 this code module begins to also optionally utilize HNDNETCAPCON.DLL, a .NET DLL that parallels the C++ DLL HNDCAPCON.DLL. at present only the function HNDCaptureConsole.RUNAPI() utilizes this DLL. In the long run, only HNDNETCAPCON.DLL will be employed and HNDCAPCON.DLL will become deprecated. This will have no impact on your use of this code module as the procedure signatures will stay the same as we make this transition. The templates that connect this class to your application will make sure that the correct DLL is copied to your application and the application .SHP file will advise the correct DLL name required by your application.

*** HNDCLARIONDDE ***

 
CLASS:HNDClarionDDE
STATUS:Current
PARENT:HNDError
HNDDisk
COMPOSED:HNDCaptureConsole
CATEGORY:Capture DOS Console
DEMO:HNDCMP.APP
DLL:HNDCAPCON.DLL
TLB:None
HEADER:HNDCLDDE.INC
CODE:HNDCLDDE.CLW
TEMPLATE:EmbedClarionDDEFunctions

DESCRIPTION:

*** REVISED MARCH 2018 ***
When the Clarion IDE moved from C6.3 to C7 and up, DDE (Dynamic Data Exchange) was dropped as the mechanism of outside control of the Clarion IDE from another application. This class was, at that time, re-oriented from DDE control of Clarion, to command-line control of Clarion.

Thus HNDClarionDDE, despite the "DDE" embedded in its name, incorporates CHT HNDCaptureConsole to interface from HNDCMP.APP, the CHT Clarion Project Builder, to CLARIONCL.EXE, in order to implement at the DOS Console level, command and control of various functionalities related to Compiling, Generating and Template Execution, provided by CLARIONCL.EXE.

This class is only used by HNDCMP.APP, as is EmbedClarionDDEFunctions, its hosting template. This class also incorporates HNDDisk from which it derives various low-level, disk-related capabilities such as writing out text-based .LOG files in which are stored the execution details returned from HNDCaptureConsole.Run().

*** HNDCLIENT ***

 
CLASS:HNDClient
STATUS:Current
PARENT:HNDError
HNDHttp
COMPOSED:HNDAppio
HNDBuffer
CATEGORY:Internet - HTTP Web Clients
DEMO:HNDCLIENTCL.APP
HNDSLFCL.APP
More
DLL:None
TLB:None
HEADER:HNDCLNT.INC
CODE:HNDCLNT.CLW
TEMPLATE:EmbedHTTPClientFunctions

DESCRIPTION:

*** REVISED MARCH 2018 ***
This class is used by all Clarion applications of a "Client" nature that access data, files, or installations across the WEB or WAN. HNDClient derives directly from HNDHTTP which handles low-level web/wan connectivity while HNDCLIENT handles primarily unpackaging activities, be that, decompressing, decrypting, insertion and reformatting from data streams into Clarion queues, groups and file data structures for display in Clarion list-box structures or on Clarion forms.

CHT Client Server applications are built on this class, as are the Client Server implementations provided more recently via ListBoxBrowseExtender. The applications listed above as examples are only a sampling of the available applications that apply this CHT HNDCLIENT class in their design.

*** HNDCLIENTHOOK ***

 
CLASS:HNDClientHook
STATUS:Current
PARENT:None
COMPOSED:HNDAppio
HNDClient
CATEGORY:Internet - HTTP Web Clients
DEMO:HNDCLIENTCL.APP
HNDCLIENTCLLEAN4VIEW.APP
HNDMTSCL.APP

HNDFILECLIENTLEAN.APP

HNDSLFCL.APP
More
DLL:None
TLB:None
HEADER:HNDCLNT.INC
CODE:HNDCLNT.CLW
TEMPLATE:EmbedHNDClientHook

DESCRIPTION:

*** REVISED MARCH 2017 ***
This class, as the name suggests, acts as a "hooking mechanism" to to individualize any HNDHTTP/HNDCLIENT class created and connected via another Clarion procedure into a any other Clarion procedure. This has the effect of making a non-global instance of HNDCLIENT available to other procedures to use as if HNDCLIENT was globally instantiated on the app.

Generally, the procedure which instantiates and connects a HNDCLIENT instance is used as an HTTP configuration and connection mechanism, which then is able to pass an already connected instance of HNDCLIENT as a parameter to any other procedure called from there.

CHT's HNDCLIENTHOOK class receives and references this passed in HNDCLIENT instance and makes it fully available and viable on the child procedure without having to re-connect or be re-configured to connect to the data server.

*** HNDCOMANIMATION ***

 
CLASS:HNDComAnimation
STATUS:Current
PARENT:HNDError
COMPOSED:HNDStrLib
HNDComLibrary
CATEGORY:Extended Controls - Animation
DEMO:HNDCPYDM.APP
DLL:MSCOMCT2.OCX
TLB:HNDCMANI.TLB
HEADER:HNDCMANI.INC
CODE:HNDCMANI.CLW
TEMPLATE:HandyCOMAnimationControl

DESCRIPTION:

*** REVISED NOVEMBER 2014 ***
CHT HNDComAnimation class provides a control interface for Clarion windows in which to display a variety of .AVI files to provide WAIT and PROGRESS displays while the window is busy performing some task.

The .AVI file designated to be played on the window (see \hndapps\avi\ for examples) is determined by the developer, everything from flying folders for copying files to folders sailing neatly into the Windows Recycle bin.

*** HNDCOMLIBRARY ***

 
CLASS:HNDComLibrary
STATUS:Current
PARENT:HNDError
COMPOSED:None
CATEGORY:COM Utility Library
DEMO:HNDMAILNET.APP
HNDZIPNET.APP
More
DLL:None
TLB:None
HEADER:HNDCOMLB.INC
CODE:HNDCOMLB.CLW
TEMPLATE:None

DESCRIPTION:

*** REVISED MARCH 2018 ***
HNDComLibrary is a COM-related library included as a function source in all other CHT libraries that interface to COM DLLs or COM OCXs. This library is not directly hooked into Clarion procedures via a template of its own. It is included as a source file by other COM-related libraries and is therefore not intended to be inserted into developers' procedures to provide services of the sort he/she might get from HNDDisk, for instance.

Examples of libraries using HNDComLibrary are: HNDCOMMapiControl, HNDCOMSlider, HNDCOMZipClass and many others. The demo applications cited are again using HNDComLibrary indirectly.

*** HNDCOMMAPICONTROL ***

 
CLASS:HNDComMapiControl
STATUS:Current
PARENT:HNDError
COMPOSED:HNDStrLib
HNDComLibrary
CATEGORY:Email MAPI
DEMO:HNDEZMAPI.APP
DLL:MSMAPI32.OCX
TLB:HNDMAPI.TLB
HEADER:HNDMAPI.INC
CODE:HNDMAPI.CLW
TEMPLATE:HandyCOMMapiControl

DESCRIPTION:

*** REVISED NOVEMBER 2014 ***
This class serves as a COM wrapper for a Microsoft COM DLL called MSMAPI32.OCX. It provides basic MAPI connectivity for send/receive services using your installed email client (Outlook or Outlook Express). Developers may optionally utilize the email client's native interface or provide a custom interface of their own design.

Sending operations provide for TO, CC and BCC, single or multiple attachments and multiple addresses separated by semi-colons. The only real requirement to get this going is a working, correctly configured email client on the host machine. Example application(s): HNDEZMAPI.APP. Template(s): HandyComMapiControl.

*** HNDCOMPROGRESSBAR ***

 
CLASS:HNDComProgressBar
STATUS:Current
PARENT:HNDError
COMPOSED:HNDStrLib
HNDComLibrary
CATEGORY:Extended Controls - Sliders And Progress
DEMO:HNDPROGRESSBAR.APP
DLL:MSCOMCTL.OCX (Microsoft OCX)
TLB:HNDPRGBR.TLB
HEADER:HNDPRGBR.INC
CODE:HNDPRGBR.CLW
TEMPLATE:HandyComProgressBarControl

DESCRIPTION:

*** REVISED NOVEMBER 2014 ***
HNDCOMProgressBar is a Windows COM control progress bar, native to Windows via MSCOMCTL.OCX. Use CHT template HandyComProgressBarControl to drop this control on any Clarion window.

*** HNDCOMSLIDER ***

 
CLASS:HNDComSlider
STATUS:Current
PARENT:HNDError
COMPOSED:HNDStrLib
HNDComLibrary
CATEGORY:Extended Controls - Sliders And Progress
DEMO:HNDSLIDER.APP
DLL:COMCTL32.OCX
TLB:HNDCSLDR.TLB
HEADER:HNDCSLDR.INC
CODE:HNDCSLDR.CLW
TEMPLATE:HNDComSliderControl

DESCRIPTION:

*** REVISED MARCH 2016 ***
HNDComSlider is a Windows COM control slider bar, native to Windows via COMCTL32.OCX. Use Control template HNDComSliderControl to drop this control on any Clarion window.

*** HNDCOMZIPCLASS ***

 
CLASS:HNDComZipClass
STATUS:Current
PARENT:HNDDisk
COMPOSED:HNDStrLib
HNDComLibrary
CATEGORY:File And Memory Compression
DEMO:HNDZIPNEMAIL.APP
HNDZIPNFTP.APP
More
DLL:HNDZIPR.OCX
TLB:HNDZIPPR.TLB
HEADER:HNDZIPPR.INC
CODE:HNDZIPPR.CLW
TEMPLATE:HandyCOMZipperControl
EmbedZipQueryParserFunctions
Source_EmbedZipFunctions

DESCRIPTION:

*** REVISED MARCH 2018 ***
This class provides a wrapper for a CHT-developed OCX called HNDZIPR.OCX. The OCX in combination with this wrapper class provide a full range of standard file zipping/unzipping services including bulk and single file operations, with optional encryption. The OCX requires a window with two messaging controls in order to operate.

A callback method in this class wrapper posts progress and zip/unzip messages to the controlling window during file zip/unzip operations. If you require invisible or background operations, hide or minimize the window hosting the HNDZIPR.OCX. A template called HandyCOMZipperControl may be used to add this control to your application window.

*** HNDCOMPRESS ***

 
CLASS:HNDCompress
STATUS:Current
PARENT:HNDError
COMPOSED:None
CATEGORY:Buffer, File And Memory Compression
DEMO:None
DLL:None
TLB:None
HEADER:HNDCOMPRESS.INC
CODE:HNDCOMPRESS.CLW
TEMPLATE:None

DESCRIPTION:

*** REVISED JANUARY 2017 ***
The CHT HNDCompress class, contained in HNDCOMPRESS.INC (Header module) and HNDCOMPRESS.CLW (Code module) provides string, buffer and memory compression directly.

This class is based on Clarion's relatively recent COMPRESS() and DECOMPRESS() built-in commands and is designed to mimic the function of CHT's HNDSqueeze class to provide an alternative source for a variety of compression services that are more native to Clarion itself.

HNDCompress, as of July 2015 replaces HNDSqueeze (HNDSQUEEZ.INC / HNDSQUEEZ.CLW). The HNDSQUEEZE library is henceforth redundant, although it will continue to be shipped with CHT until we're certain no component or future endeavor will require it. While they both work exactly the same and are interchangeable, the HNDSQUEEZE library requires external DLL HNDZLBEX.DLL to be linked dynamically into the app. The HNDCOMPRESS library, as stated above use Clarion's Native functions COMPRESS() AND DECOMPRESS(). Anytime we can lower the .DLLs to be included burden of an app (particularly installers) we'll choose to do that.

*** HNDCONFIG ***

 
CLASS:HNDConfig
STATUS:Current
PARENT:HNDError
COMPOSED:None
CATEGORY:Application Configuration
DEMO:HNDSETUP.APP
HNDMLSMTP.APP
DLL:None
TLB:None
HEADER:HNDCONFG.INC
CODE:HNDCONFG.CLW
TEMPLATE:EmbedHndConfigFunctions

DESCRIPTION:

*** REVISED JANUARY 2017 ***
This class is used extensively by CHT either directly or indirectly (derived by other classes) to store access configurations for FTP, HTTP and SMTP as well as specific configuration setups for CHT Batch-Bots and CHT Snap-Ins that may require them. There are GET, SET and DISPLAY functions for each of the relevant protocols, Batch-Bots and Snap-Ins.

"GET" programmatically recalls existing settings, "SET" programmatically stores new or changed settings and "DISPLAY" provides an interactive dialog for end-user interaction with settings to provide for initial configuration of an application or to change an existing application configuration.

By default these configurations are stored under a configuration tag HPROP:CHTools.
Developers have control over this default behaviour by calling configuration location settings OBJ.SetDefaultConfigLocation('YourConfig') early on in the initialization of any configuration class. Individual product configurations are stored in separately configurable locations under the above setting, via the xRegID parameter in each of the SET,GET and DISPLAY functions.

Default Location Examples:
HKEY_CURRENT_USER\Software\cht\maildefault
and
HKEY_CURRENT_USER\Software\cht\mailssl
Custom Location Examples:
HKEY_CURRENT_USER\Software\YourConfig\yourmaildefault
and
HKEY_CURRENT_USER\Software\YourConfig\yourmailssl
CHT Classes that utilize the HNDConfig class by derivation or composition are: HNDHTTP, HNDINETFTP, HNDNETFTP, HNDPOP, HNDNETSMTP, HNDSMTP.

*** HNDDATAADAPTER ***

 
CLASS:HNDDataAdapter
STATUS:Current
PARENT:HNDError
COMPOSED:HNDBuffer
CATEGORY:Data Access View To Queue
DEMO:HNDSRPRO.APP
HNDSCRPT.APP
DLL:None
TLB:None
HEADER:HNDRADAP.INC
CODE:HNDRADAP.CLW
TEMPLATE:EmbedHNDDataAdapterFunctions
HandySourceInLineProcess_HSP

DESCRIPTION:

*** REVISED NOVEMBER 2014 ***
HNDDataAdapter is a class, that in an abstract manner can read through a CLARION VIEW, with or without a view filter, and insert the data from that view into a queue. The target queue may be a basic queue containing data fields only, or a queue containing also color information fields as well as standard data fields.

The demo application HNDSRPRO.APP illustrates several browses that are based simply on a CLARION QUEUE without a ABC browse class below them. The queue is managed by a ListBoxBrowseExtender template, and looks for all intents an purposes, like a HandyMarkerBrowse. The queue is filled by a process which uses HNDDataAdapter to traverse one or more (joined) files by means of a Clarion View.

*** HNDDATEPICKER ***

 
CLASS:HNDDatePicker
STATUS:Current
PARENT:HNDError
COMPOSED:HNDStrLib
HNDComLibrary
CATEGORY:Extended Controls - Calendars
DEMO:HNDDTPK.APP
DLL:MSCOMCT2.OCX
TLB:HNDDTPKR.TLB
HEADER:HNDDTPKR.INC
CODE:HNDDTPKR.CLW
TEMPLATE:HandyCOMDatePickerControl

DESCRIPTION:

*** REVISED NOVEMBER 2014 ***
CHT HNDDatePicker Class provides a really functional drop-down calendar control, native to the Windows operating system, and delivered via MSCOMCT2.OCX COM library.

An example application called HNDDTPK.APP displays how to configure the control for a variety of foreground and background settings. A set of handy functions is available to both set and retrieve date values from the drop-down calendar.

*** HNDDATES ***

 
CLASS:HNDDates
STATUS:Current
PARENT:HNDError
COMPOSED:None
CATEGORY:Dates, Times And Calendars
DEMO:HNDCAL.APP
DLL:None
TLB:None
HEADER:HNDDATES.INC
CODE:HNDDATES.CLW
TEMPLATE:EmbedDateFunctions
HandyPopupCalendarButton
More

DESCRIPTION:

*** REVISED MARCH 2018 ***
CHT HNDDates class is a full-function dates and times library that contains an amazing amount of functionality including, for example, two pop-up calendars with customizable, interfaces for North American, European, and Arabian-style calendar layouts.

Numerous HNDDates methods provide time/date operations that can perform date differentiation by time zone, leap year lculations, date and time wrap calculations, Julian dates, UTC dates, business day calculations and much more. This is the go-to library to manage dates and times in any Clarion application. Example application: HNDCAL.APP which applies this class to a Clarion Window using CHT template EmbedDateFunctions.

*** HNDDIGITALCLOCKCLASS ***

 
CLASS:HNDDigitalClockClass
STATUS:Current
PARENT:HNDError
COMPOSED:HNDStrLib
HNDComLibrary
CATEGORY:Extended Controls - Clocks
DEMO:HNDDIGITALCLOCKDEMO.APP
DLL:HNDDGTLCLOCK.OCX
TLB:HNDDGTL.TLB
HEADER:HNDDGTL.INC
CODE:HNDDGTL.CLW
TEMPLATE:HNDDigitalClockControl

DESCRIPTION:

*** REVISED NOVEMBER 2014 ***
This class activates an OLE/COM control passed in from the window procedure and displays an active, digital clock inside the perimeter of the control. A single Init call gets the clock started. See demo HNDDIGITALCLOCKDEMO.APP. Apply this class to your Clarion Window with a control template called HNDDigitalClockControl.

*** HNDDISK ***

 
CLASS:HNDDisk
STATUS:Current
PARENT:HNDUtil
HNDError
COMPOSED:HNDDosFile
HNDBuffer
HNDEncrypt
HNDZStore
HNDAnimate
CATEGORY:Windows API
DEMO:HNDCMP.APP
HNDSETUP.APP
Most CHT Apps
DLL:None
TLB:None
HEADER:HNDDISK.INC
CODE:HNDDISK.CLW
TEMPLATE:EmbedDiskFunctions
More

DESCRIPTION:

*** REVISED MARCH 2018 ***
This class contains an expansive collection of utility functions that provide services as widely varied as file compression, file encryption, disk file searching with querying, file search and replace, shell operations and more. Because HNDDisk derives HNDUtil, it inherits all of it's abilities as well. HNDDisk is used either directly or indirectly by numerous other CHT classes, drawing on its lower level utility functionality. For direct use in your procedures, HNDDisk can be attached to any procedure using the CHT template called EmbedDiskFunctions. HNDDisk is also derived directly by the HNDDiskEx class.

This higher level class derives and utilizes HNDDisk and HNDUtil methods and properties as if they were its own. The method names in HNDDisk are reasonably self explanatory, for example: ShrinkFile(), GrowFile(), RunShell() FileCopy(), DirMove() and so on.

Separate details are provided for each method in the HNDDisk class. By scanning the method (procedure) names to determine likely candidates to provide the functionality you're looking for, and then reading the method's description, which often includes the names of demonstration applications, you should be able to gain a full understanding of how to use any method in this class. Note that some methods, meant for internal use by the class itself, will be so marked and may be more scantily documented.

*** HNDDISKEX ***

 
CLASS:HNDDiskEx
STATUS:Current
PARENT:HNDDisk
HNDUtil
HNDError
COMPOSED:None
CATEGORY:Windows API
DEMO:HNDSETUP.APP, HNDCMP.APP, Many CHT Apps
DLL:None
TLB:None
HEADER:HNDDSKEX.INC
CODE:HNDDSKEX.CLW
TEMPLATE:EmbedDiskFunctions

DESCRIPTION:

*** REVISED MARCH 2018 ***
This class contains a group of utility functions that provide bulk file processing services including: compression, encryption, containerization, copying, moving and erasing. For example: BulkContainerizeFiles(), BulkFileMove().

Use HNDDiskEx with installer applications, or server/client applications that need to package files in in a secure, compact manner for web transfer.

*** HNDDOCKINGWINDOW ***

 
CLASS:HNDDockingWindow
STATUS:Current
PARENT:HNDError
COMPOSED:None
CATEGORY:Docking Window
DEMO:HNDSCRPT.APP
DLL:None
TLB:None
HEADER:HNDDOCWN.INC
CODE:HNDDOCWN.CLW
TEMPLATE:EmbedDockingWindow

DESCRIPTION:

This class creates a docking window that may be inserted as a menu or jump-window inside a parent FRAME window. The template for this class does most of the work see: "EmbedDockingWindow".

*** HNDDOCUMENTS ***

 
CLASS:HNDDocuments
STATUS:Current
PARENT:HNDError
COMPOSED:HNDActiveDocument
CATEGORY:MS Office Interface
DEMO:HNDWORDDEMO.APP
More
DLL:Microsoft Office
TLB:None
HEADER:HNDMSWRD.INC
CODE:HNDMSWRD.CLW
TEMPLATE:EmbedMSWordFunctions
HandyWordInterfaceControls

DESCRIPTION:

*** REVISED MARCH 2018 ***

The HNDDocuments class is one component of five, providing an OLE interface connection to Microsoft Office documents. Other MS Office objects in the set are: HNDMSWord, HNDApplication, HNDDocuments, HNDActiveDocument, HNDRefWindow.

This set of five Clarion objects allows Clarion applications utilizing them to connect to MS Word in order to send various formatting insertion and deletion commands (spell checking for example) via the same document interface provided by MS Word itself via its "Visual Basic For Applications", command language. For example applications, see HNDWORDDEMO.APP and HNDWORDINTERFACEDEMO.APP.

*** HNDDOSFILE ***

 
CLASS:HNDDosFile
STATUS:Current
PARENT:HNDCompress
COMPOSED:None
CATEGORY:Binary File Access
DEMO:HNDSETUP.APP
HNDZINDEX.APP
HNDSEARCH.APP
More
DLL:CLADOS.DLL
TLB:None
HEADER:HNDDOSF.INC
CODE:HNDDOSF.CLW
TEMPLATE:EmbedHndDosFileFunctions
GlobalIncludeHNDDosFileFunctions

DESCRIPTION:

*** Revised MARCH 2018 ***

HNDDosFile is a low-level, binary file access class based on Clarion's ClaDOS.DLL.

HNDDosFile is used to open, read, modify, write, process and create binary files of all types from .TXT, to .EXE to .ZIP and more.

To get an understanding of the power of this class and classes associated with it, for instance, HNDCompress, take some time to get to know HNDSETUP.APP our .HZO container builder.

*** HNDENCRYPT ***

 
CLASS:HNDEncrypt
STATUS:Current
PARENT:HNDBuffer
HNDError
COMPOSED:HNDDisk
HNDDosFile
HNDStrLib
HNDComLibrary
CATEGORY:File And Memory Encryption
DEMO:HNDXTEST.APP
HNDENCRYPT.APP
HNDFILSV.APP

HNDFILCL.APP

HNDLIVUP.APP
HNDFFLCLN.APP
DLL:CAPICOM.DLL
TLB:HNDCAPIC.TLB
HEADER:HNDENCRP.INC
CODE:HNDENCRP.CLW
TEMPLATE:HEncrypt

DESCRIPTION:

This CHT class is used extensively by several CHT classes, to provide underlying file encryption, and/or memory encryption services to these classes. For example CHT file server apps such as HNDFILSV.APP is able to encrypt files on request from one of its designated file clients: HNDFILCL.APP, HNDLIVUP.APP and HNDFLCLN.APP.

Similarly a CHT data server app such as HNDCLIENTSVLEAN4VIEW.APP, is able to encrypt memory streams of data being sent to its corresponding clients: HNDCLIENTCLLEAN4VIEW.APP, HNDCLIENTCLLEAN1VIEW.APP.

In combination with the CHT Class HNDCompress, this encryption class is able to package compressed and encrypted files for transport acrosse the web to receiving file clients, as well as compressed and encrypted memory streams across the web to receiving data clients.

*** HNDERROR ***

 
CLASS:HNDError
STATUS:Current
PARENT:None
COMPOSED:None
CATEGORY:Error Handler
DEMO:All
DLL:None
TLB:None
HEADER:HNDERROR.INC
CODE:HNDERROR.CLW
TEMPLATE:All

DESCRIPTION:

*** REVISED JANUARY 2017 ***
This class is derived directly or indirectly by all CHT classes. It acts as an error manager/messenger and (optionally) as an application status logging manager. When using CHT classes, crictical method calls may be followed by an OBJ.GetLastErrorCode() call to obtain an error number. Zero indicates no error. To obtain an error message call instead OBJ.GetLastError(). A blank message indicates no error. To have the error displayed unconditionally call OBJ.ShowLastError(True). To display an error conditionally based upon the current status condition of property OBJ.Verbose, call OBJ.ShowLastError().

To see status logging in action, study the application called HNDMTSNG.APP in which all server transactions are logged to a text control populated on the server window. The information in that status text control is managed by this HNDError class from inside the server classes which derive HNDError. In deeply nested classes the error manager is normally the base class from which the rest derive. Error numbers and error messages bubble up to the topmost, last derived class, from classes lower down in the heirarchy. This makes error determination easy, since the developer can poll the topmost class instance - the one attached to his/her Clarion procedure - for an error number or message to determine a problem, no matter how deep inside the CHT classes that error may have ocurred.

*** HNDEVENTLOGGERCLASS ***

 
CLASS:HNDEventLoggerClass
STATUS:Current
PARENT:HNDError
COMPOSED:None
CATEGORY:Windows Event Logging
DEMO:None
DLL:None
TLB:None
HEADER:HNDEVEER.INC
CODE:HNDEVEER.CLW
TEMPLATE:HandyCOMEventLoggerControl

DESCRIPTION:

HNDEventLoggerClass, via its template, places a CHT COM Event Logger Control from HNDEVENTLOGGER.DLL on your application window. CHT's Event Logger Control provides an easy-to-use COM interface inside your application procedures for writing Events, Errors and Warnings to the SYSTEM APPLICATION LOG where they can be found and read using EVENTVWR.MSC. A demonstration application called HNDEVENTLOGGERDEMO.APP illustrates use of the template and calling HNDEventLoggerClass methods.

*** HNDEXCELCLASS ***

 
CLASS:HNDExcelClass
STATUS:Current
PARENT:HNDError
COMPOSED:None
CATEGORY:XXX Docs Yet ToDo XXX
DEMO:None
DLL:None
TLB:None
HEADER:HNDEXCEL.INC
CODE:HNDEXCEL.CLW
TEMPLATE:None

DESCRIPTION:

Class description is in preparation.

*** HNDEXPORT ***

 
CLASS:HNDExport
STATUS:Current
PARENT:HNDError
COMPOSED:None
CATEGORY:XXX Docs Yet ToDo XXX
DEMO:None
DLL:None
TLB:None
HEADER:HNDEXPOR.INC
CODE:HNDEXPOR.CLW
TEMPLATE:None

DESCRIPTION:

Class description is in preparation.

*** HNDFILE ***

 
CLASS:HNDFile
STATUS:Current
PARENT:HNDError
COMPOSED:None
CATEGORY:Independent File Class
DEMO:HNDSETUP.APP
DLL:None
TLB:None
HEADER:HNDFILE.INC
CODE:HNDFILE.CLW
TEMPLATE:EmbedHNDFileFunctions

DESCRIPTION:

HNDFile is a completely independent file class (independent of ABC File class) used primarily inside CHT classes that handle file I/O.

Via its template EmbedHNDFileFunctions, it can be used equally readily on a local procedure to open, read, write a data file, ISAM or SQL. Since this is intended to be used locally on a procedure and is therefore, not global, procedures that need to independently access files, for I/O can do so without repercussions as long as the file (table) in use is shared access.

CHT's HNDSETUP app and even our Webupdater applications, make extensive use, internally to create, and or handle .HZO container files for installation purposes.

*** HNDFILELOADBROWSE ***

 
CLASS:HNDFileLoadBrowse
STATUS:Current
PARENT:HNDBrwFilter
HNDError
COMPOSED:HNDGreenBar
CATEGORY:Browse Building Classes
DEMO:HNDSCHOOL.APP
HNDPEOPLE_LBX.APP

HNDCLXHT.APP

HNDCLIENTCLLEAN4VIEW.APP
More
DLL:None
TLB:None
HEADER:HNDFLBRW.INC
CODE:HNDFLBRW.CLW
TEMPLATE:ListBoxBrowseExtender
HandyMarkerBrowse
HandyWebClientBrowseProcedure


ClientServerBrowseListBox
More

DESCRIPTION:

** REVISED DECEMBER 2017 **
SUMMARY OF KEYSTROKES USED FOR IN-QUEUE RECORD MARKING
** MouseLeft     Mark record in single record mode.
** ShiftMouseLeft     Mark end of range between Selected and row clicked.
** CtrlShiftMouseLeft     Continues marking from LastSelected to click position.
** CtrlMouseLeft     Toggle record marked/unmarked.
** CtrlSpace     Same effect as CtrlMouseLeft.
** ShiftUp     Mark next record up from selected.
** ShiftDown     Mark next record down from selected.
** UpKey     Switch to single record mode and move cursor up.
** DownKey     Switch to single record mode and move cusror down.
** CtrlUp     Move cursor up with no marking or unmarking.
** CtrlDown     Move cursor dn with no marking or unmarking.
** ShiftPgDn     Mark all from selected to top of current page.
** ShiftPgUp     Mark all from selected to end of current page.
** ShiftHome     Mark all from selected to first record.
** ShiftEnd     Mark all from selected to last record.
** HomeKey     Unmark all and select first record.
** CtrlHome     Unmark all and select first record.
** EndKey     Unmark all and select last record.
** CtrlEnd     Unmark all and select first record.
** PgUpKey     Unmark all and select last record on page.
** PgDnKey     Unmark all and select first record on page.
** CtrlA     Select all
** CtrlH     "H" how many selected.

*** HNDFILENOTIFY ***

 
CLASS:HNDFileNotify
STATUS:Current
PARENT:None
COMPOSED:None
CATEGORY:File Callback Functions
DEMO:HNDBACKUPSERVICE_A.APP
HNDBACKUPSERVICE_B.APP
DLL:None
TLB:None
HEADER:HNDFILENOTIFY.INC
CODE:HNDFILENOTIFY.CLW
TEMPLATE:None

DESCRIPTION:

Class description is in preparation.

*** HNDFLASHCLASS ***

 
CLASS:HNDFlashClass
STATUS:Current
PARENT:HNDError
COMPOSED:None
CATEGORY:XXX Docs Yet ToDo XXX
DEMO:None
DLL:None
TLB:None
HEADER:HNDFLASH.INC
CODE:HNDFLASH.CLW
TEMPLATE:None

DESCRIPTION:

Class description is in preparation.

*** HNDGREENBAR ***

 
CLASS:HNDGreenbar
STATUS:Current
PARENT:HNDError
COMPOSED:None
CATEGORY:GreenBar Browses
DEMO:Many CHT Browse Demos
DLL:None
TLB:None
HEADER:HNDGNBAR.INC
CODE:HNDGNBAR.CLW
TEMPLATE:GreenBarABCBrowse
ExplorerBrowse
HandyMarkerBrowse

DESCRIPTION:

This class, HNDGreenbar template adds greenbar features available in CHT browse extension templates ExplorerBrowse, HandyMarkerBrowse, LocatorOverRideControl and ListBoxBrowseExtender. These templates populate HNDGreenbar and call its methods without the developer needing to do more than configure the "Greenbar" dialog. Using GreenBarABCBrowse, greenbar features can be added to a generic ABC browse also, again without any programmatic intervention by the developer.

*** HNDHEXTODECIMAL ***

 
CLASS:HNDHexToDecimal
STATUS:Current
PARENT:HNDError
COMPOSED:None
CATEGORY:Hexadecimal Translation
DEMO:None
DLL:None
TLB:None
HEADER:HNDHEXDC.INC
CODE:HNDHEXDC.CLW
TEMPLATE:EmbedObject

DESCRIPTION:

*** Revised MARCH 2018 ***

HNDHexToDecimal is, as the name implies, a HEXADECIMAL to DECIMAL and DECIMAL to HEXADECIMAL conversion class.

Send the HexToDec() function a HEX value in the form of a string and an INTEGER value is returned as a LONG.

Send the DecToHex() function an INTEGER value in the form of a LONG and a HEX value is returned as a STRING.

IsHex will confirm whether an assumed HEX value is actually HEXADECIMAL by returning True (yes it is) or False (no it is not).

*** HNDHTTP ***

 
CLASS:HNDHttp
STATUS:Current
PARENT:HNDIDial
COMPOSED:HNDConfig
HNDDisk
HNDDosFile
HNDEncrypt

HNDBuffer

HNDAnimate
HndDiskEx
CATEGORY:Internet - HTTP Clients
DEMO:HNDSLFCL.APP
HNDMTSCL.APP
HNDINSTBA.APP
HNDINSTALLMYFILES.APP

HNDCLIENTCLLEAN1VIEW.APP

HNDCLIENTCLLEAN4VIEW.APP
More
DLL:None
TLB:None
HEADER:HNDHTTP.INC
CODE:HNDHTTP.CLW
TEMPLATE:EmbedHTTPFunctions

DESCRIPTION:

*** REVISED APRIL 2017 ***
This CHT class handles all HTTP-Protocol-based communications from CHT+Clarion Client applications to CHT+Clarion Server applications. There are nearly two-dozen examples (see partial list above) of HNDHTTP acting as the HTTP communications system underlying the application. See also a CHT Server document which enumerates CHT servers and clients provided on our website, called CHTSERVERINVENTORY.HTML.

*** HNDIDIAL ***

 
CLASS:HNDIDial
STATUS:Current
PARENT:HNDError
COMPOSED:None
CATEGORY:XXX Docs Yet ToDo XXX
DEMO:None
DLL:None
TLB:None
HEADER:HNDIDIAL.INC
CODE:HNDIDIAL.CLW
TEMPLATE:None

DESCRIPTION:

Class description is in preparation.

*** HNDIMAIL ***

 
CLASS:HNDIMail
STATUS:Current
PARENT:HNDIDial
COMPOSED:HNDDisk
HNDBuffer
HNDRegistry
HNDEncrypt
CATEGORY:Email MAPI
DEMO:HNDMAILSEND.APP
HNDSOURCEMAPIDEMO.APP
HNDOUTLOOK.APP
DLL:None
TLB:None
HEADER:HNDIMAIL.INC
CODE:HNDIMAIL.CLW
TEMPLATE:HandyMapiEmail
EmbedMapiEmail
More

DESCRIPTION:

*** REVISED JUNE 2015 ***
This class handles MAPI Email connectivity to the default email client installed on your system. Since MAPI Email is a Microsoft standard, to which not all email clients adhere, MAPI is restricted to the capablilites provided by the host email client(s) installed. However, when MS Windows Live is the default email client, and to a lesser extent MS Outlook, there is no easier way to implement email sending and receiving in your applications than using MAPI connectivity as implemented in this HNDIMail class.

HNDIMail is leveraged by a variety of CHT templates such as InstantOutlookMail, and Jumpstarts such as "MAPI Send With Attachments". It includes attachment compression and encryption, capabilities. The developer can introduce his/her own user interface or leverage the email client's interface to implement email sending and retrieving functionality.

*** HNDIPADDRESS ***

 
CLASS:HNDIPAddress
STATUS:Current
PARENT:HNDError
COMPOSED:None
CATEGORY:XXX Docs Yet ToDo XXX
DEMO:None
DLL:None
TLB:None
HEADER:HNDIPADR.INC
CODE:HNDIPADR.CLW
TEMPLATE:None

DESCRIPTION:

Class description is in preparation.

*** HNDINETFTP ***

 
CLASS:HNDInetFtp
STATUS:Current
PARENT:HNDError
COMPOSED:None
CATEGORY:XXX Docs Yet ToDo XXX
DEMO:None
DLL:None
TLB:None
HEADER:HNDINETF.INC
CODE:HNDINETF.CLW
TEMPLATE:None

DESCRIPTION:

Class description is in preparation.

*** HNDINI ***

 
CLASS:HNDIni
STATUS:Current
PARENT:None
COMPOSED:INIClass(ABC)
HNDAppio
HNDBinFileIO
CATEGORY:Application Configuration
DEMO:All_CHT_Demo_Apps
DLL:None
TLB:None
HEADER:HNDINI.INC
CODE:HNDINI.CLW
TEMPLATE:INIFile
INIFileProcedure
IniTableIOProcedure

DESCRIPTION:

*** REVISED MARCH 2018 ***
This class extends the INI File/Registry capabilities of your application beyond what is already provided by the Clarion INIClass. It primarily supports dynamic file/table naming (ISAM or SQL) so that the names, and details of tables used by your application are determined at run time rather than being hard coded. This class is added to your application by adding CHT's INIFile template to your Global Extensions.

The latest implementation allows for INI I/O redirection to a dictionary table via easy to-use settings provided by the CHT INIFile template.

*** HNDINTERNETEXPLORER ***

 
CLASS:HNDInternetExplorer
STATUS:Current
PARENT:HNDClient
COMPOSED:None
CATEGORY:Internet Web View
DEMO:HNDPREVIEWER.APP
HNDBRWCL.APP
More
DLL:SHDOCVW.DLL
TLB:HNDSHDVW.TLB
HEADER:HNDSHDVW.INC
CODE:HNDSHDVW.CLW
TEMPLATE:HandyCOMInternetExplorerControl

DESCRIPTION:

** REVISED MARCH 2018 **

HNDInternetExplorer Class is based on the Windows DLL which supports Microsoft's Internet Explorer Browser Version 11 (not MS Edge). This class implements most, if not all, of the features available in IE 11, but does so on a Clarion window, using 100% Clarion source code, generated by CHT templates, or embedded inside the application.

This control is able to view all of the document types that may ordinarily be viewed via the IE 11, browser: HTML, PDF, TEXT, Word Documents and so on.

The CHT Toolkit relies on it heavily for tasks such as displaying our voluminous documentation, delivering our Web Forum, previewing HTML documents from our Document Builder and Snap Editor and displaying tile menus that jump into standard Clarion procedures or into Web-Server UCR$ procedures.

*** HNDJDOADAPTER ***

 
CLASS:HNDJDOAdapter
STATUS:Current
PARENT:HNDError
COMPOSED:None
CATEGORY:XXX Docs Yet ToDo XXX
DEMO:None
DLL:None
TLB:None
HEADER:HNDJSDAP.INC
CODE:HNDJSDAP.CLW
TEMPLATE:None

DESCRIPTION:

Class description is in preparation.

*** HNDJSONCLASS ***

 
CLASS:HNDJSONClass
STATUS:Current
PARENT:HNDBinIO
HNDError
COMPOSED:None
CATEGORY:Internet - JSON
DEMO:HNDCHATSVR.APP
HNDCHATCLNT.APP
DLL:None
TLB:None
HEADER:HNDJSON.INC
CODE:HNDJSON.CLW
TEMPLATE:EmbedHNDSocketEvents

DESCRIPTION:

The purpose of this class is to package outgoing Clarion data structures GROUPS, QUEUES, RECORDS, into standard, delimited JSON strings and to unpackage incoming JSON strings back into Clarion GROUPS, QUEUES and RECORDS.

*** HNDLOCATOR ***

 
CLASS:HNDLocator
STATUS:Current
PARENT:HNDError
COMPOSED:None
CATEGORY:XXX Docs Yet ToDo XXX
DEMO:None
DLL:None
TLB:None
HEADER:HNDLOCTR.INC
CODE:HNDLOCTR.CLW
TEMPLATE:None

DESCRIPTION:

Class description is in preparation.

*** HNDMSWORD ***

 
CLASS:HNDMSWord
STATUS:Current
PARENT:HNDError
COMPOSED:HNDApplication
CATEGORY:MS Office Interface
DEMO:HNDWORDDEMO.APP
More
DLL:Microsoft Office
TLB:None
HEADER:HNDMSWRD.INC
CODE:HNDMSWRD.CLW
TEMPLATE:EmbedMSWordFunctions
HandyWordInterfaceControls

DESCRIPTION:

*** REVISED MARCH 2018 ***

The HNDMSWord class is one component of five, providing an OLE interface connection to Microsoft Office documents. Other MS Office objects in the set are: HNDMSWord, HNDApplication, HNDDocuments, HNDActiveDocument, HNDRefWindow.

This set of five Clarion objects allows Clarion applications utilizing them to connect to MS Word in order to send various formatting insertion and deletion commands (spell checking for example) via the same document interface provided by MS Word itself via its "Visual Basic For Applications", command language. For example applications, see HNDWORDDEMO.APP and HNDWORDINTERFACEDEMO.APP.

*** HNDMAILDEFAULTS ***

 
CLASS:HNDMailDefaults
STATUS:Current
PARENT:HNDError
COMPOSED:None
CATEGORY:XXX Docs Yet ToDo XXX
DEMO:None
DLL:None
TLB:None
HEADER:HNDMLDEF.INC
CODE:HNDMLDEF.CLW
TEMPLATE:None

DESCRIPTION:

Class description is in preparation.

*** HNDMAILSLOTCLASS ***

 
CLASS:HNDMailSlotClass
STATUS:Current
PARENT:HNDError
COMPOSED:None
CATEGORY:XXX Docs Yet ToDo XXX
DEMO:None
DLL:None
TLB:None
HEADER:HNDMAIOT.INC
CODE:HNDMAIOT.CLW
TEMPLATE:None

DESCRIPTION:

Class description is in preparation.

*** HNDMARKERBROWSE ***

 
CLASS:HNDMarkerBrowse
STATUS:Current
PARENT:HNDError
HNDFileLoadBrowse
HNDBrwFilter
HNDParse
COMPOSED:HNDUtil
CATEGORY:Browse Building Classes
DEMO:HNDSCHOOL.APP, HND3.APP, HNDMARKERSQLTEST.APP, Many_More
DLL:None
TLB:None
HEADER:HNDMRKBR.INC
CODE:HNDMRKBR.CLW
TEMPLATE:HandyMarkerBrowse
ListBoxBrowseExtender
HandyWebClientBrowseProcedure


ClientServerBrowseListBox
ClientServerBrowse_XCL
More

DESCRIPTION:

*** REVISED JANUARY 2017 ***
The CHT Class, HNDMarkerBrowse derives from HNDFileLoadBrowse, HNDBrwFilter, and HNDParse to implement fully queryable, ABC-Browses extended with single and multi record-marking capability.

Note that CHT distinguishes between "record-marking" and "record-tagging", both of which are implemented in various CHT templates and examples. Record-marking as delivered by this HNDMarkerBrowse class and its hosting HNDMarkerBrowse template, marks records in the browse queue using the built-in "Mark" field supplied in that queue by the ABC Browse template when it generates browse code from your design.

Browse-queue record markers as implemented in this HNDMarkerBrowse class, are therefore, temporary and are not reflected in the data file being browsed. This style of "record-marking" is not drive or network intensive as there is no "chatter" between the client browse and the data base tables while markers are being placed.

Record-Tagging on the other hand, writes tags into the data file and while these are recallable from one browse instance to the next, also requires ongoing "chatter" between the client browse and the data base as record tags are written into the data table(s).

This low-chatter characteristic of CHT file-loaded, record-markable browses, delivered by this HNDMarkerBrowse class, also makes this record-marking technique - derived from its parent class, HNDFileLoadBrowse - a perfect candidate for across-the-web Client-Server browses as delivered by ClientServerBrowse_XCL and its set of related templates.

SUMMARY OF KEYSTROKES USED FOR HANDYMARKERBROWSE IN-QUEUE RECORD MARKING
** MouseLeft     Mark record in single record mode.
** ShiftMouseLeft     Mark end of range between Selected and row clicked.
** CtrlShiftMouseLeft     Continues marking from LastSelected to click position.
** CtrlMouseLeft     Toggle record marked/unmarked.
** CtrlSpace     Same effect as CtrlMouseLeft.
** ShiftUp     Mark next record up from selected.
** ShiftDown     Mark next record down from selected.
** UpKey     Switch to single record mode and move cursor up.
** DownKey     Switch to single record mode and move cusror down.
** CtrlUp     Move cursor up with no marking or unmarking.
** CtrlDown     Move cursor dn with no marking or unmarking.
** ShiftPgDn     Mark all from selected to top of current page.
** ShiftPgUp     Mark all from selected to end of current page.
** ShiftHome     Mark all from selected to first record.
** ShiftEnd     Mark all from selected to last record.
** HomeKey     Unmark all and select first record.
** CtrlHome     Unmark all and select first record.
** EndKey     Unmark all and select last record.
** CtrlEnd     Unmark all and select first record.
** PgUpKey     Unmark all and select last record on page.
** PgDnKey     Unmark all and select first record on page.
** CtrlA     Select all
** CtrlH     "H" how many selected.

*** HNDMENU ***

 
CLASS:HNDMenu
STATUS:Current
PARENT:HNDError
COMPOSED:None
CATEGORY:Window Extension Class
DEMO:None
DLL:None
TLB:None
HEADER:HNDMENU.INC
CODE:HNDMENU.CLW
TEMPLATE:EmbedWindowFunctions

DESCRIPTION:

HNDMenu is derived by HNDWINDOW, one of CHT's most used classes It has no user-direct template. But it ends up as part of almost every CHT window-based application, via HNDWindow class and EmbedWindowFunctions.

*** HNDMSCDO ***

 
CLASS:HNDMsCDO
STATUS:Current
PARENT:HNDConfig
COMPOSED:HNDError
HNDStrLib
HNDComLibrary
HNDDates
HNDEncrypt
HNDRegistry

HNDDisk

HNDDosFile
CATEGORY:XXX Docs Yet ToDo XXX
DEMO:HNDCDODM.APP
HNDMAILCDO.APP
HNDZIPNEMAILCDO.APP
DLL:CDO.DLL, MAPI32.DLL, CDOHTML.DLL
TLB:HNDMSADO.TLB,HNDMSADO.TLB
HEADER:HNDMSCDO.INC
CODE:HNDMSCDO.CLW
TEMPLATE:EmbedCDOMailFunctions

DESCRIPTION:

*** REVISED DECEMBER 2015 ***
HNDMsCDO provides SMTP mail from MS Windows CDO (Collaboration Data Objects) mail capability.

Collaboration Data Objects are a high-level set of COM objects that allow you to easily access the e-mail system embedded in the Microsoft Windows® product line. CDO objects are generally used by client applications. For the most part, CDO objects are used by clients wanting to access the e-mail system. Service providers must be implemented using the native MAPI library.

Not all Microsoft Windows product line products install CDO capability by default. When you install Exchange 5.5 or later, you must take special steps in order to install these libraries. Choose Custom Setup. From this setup, select IIS/Active Server/Active Server Pages Option. This setup process causes the earlier DLLs to be installed on your system.

*** HNDMSCALCLASS ***

 
CLASS:HNDMscalClass
STATUS:Current
PARENT:HNDError
COMPOSED:None
CATEGORY:XXX Docs Yet ToDo XXX
DEMO:None
DLL:None
TLB:None
HEADER:HNDMSCAL.INC
CODE:HNDMSCAL.CLW
TEMPLATE:None

DESCRIPTION:

Class description is in preparation.

*** HNDNAMEBOX ***

 
CLASS:HNDNameBox
STATUS:Current
PARENT:HNDError
COMPOSED:HNDAppIO
CATEGORY:Extended Controls - Names And Addresses
DEMO:HND6.APP
DLL:None
TLB:None
HEADER:HNDADRBX.INC
CODE:HNDADRBX.CLW
TEMPLATE:HandyAddressControls

DESCRIPTION:

*** REVISED MARCH 2018 ***

HNDNameBox is a name-handling utility that lets your users enter a name like Mr. Gus M. Creces into a single entry field even when the back end data file or table has separate fields for Title, Salutation, First Name, Initial, and Last Name. Developers can configure this class to direct input into the target data fields of their choice.

When there is any doubt as to the interpretation, or completeness of an input name, a dialog similar to the name dialog in MS Outlook pops up with the components displayed in the target fields, allowing the user to make adjustments if necessary.

HNDNameBox works in two directions so that names may be displayed from the data repository in a single field for editing with changes written back to the correct target data table fields.

A variety of name-layout variants are possible using formal or informal name inputs. Title and Salutation dropdowns are configurable for any language and for specialized usage.

Example application HND6.APP.

*** HNDNETCAPCONCLASS ***

 
CLASS:HNDNetCapConClass
STATUS:Current
PARENT:HNDError
COMPOSED:HNDStrLib
HNDComLibrary
CATEGORY:Capture DOS Console
DEMO:Internal Only at Present
DLL:hndnetcapcon.dll
TLB:hndnetcapcon.tlb
HEADER:HNDNETCAPCON.INC
CODE:HNDNETCAPCON.CLW
TEMPLATE:Internal Only at Present

DESCRIPTION:

*** NEW JULY 2016 ***
This class is slated to eventually replace the functionality in the long-time CHT class called HNDCaptureConsole, which is used to console-capture the output from DOS-COMMAND-LINE executables like CHTSNAPZIP.EXE and numerous others. The brand new DLL, HNDNETCAPCON.DLL is a C# net dll that does the same thing as the older, C++ HNDCAPCON.DLL, a dll which we expect will eventually become deprecated. We plan this deprecation to take place, not abruptly, but in a gradual way which slowly replaces the use of HNDCaptureConsole class with this HNDNetCapConClss and phases out the HNDCAPCON.DLL in a gradual, manner.

*** HNDNETDATETIMECLASS ***

 
CLASS:HNDNetDateTimeClass
STATUS:Current
PARENT:HNDError
COMPOSED:HNDStrLib
HNDComLibrary
CATEGORY:Dates, Times And Calendars
DEMO:HNDNETDATETIMEDEMO.APP
DLL:HNDNETDATETIME.DLL
TLB:HNDNETDATETIME.TLB
HEADER:HNDNETDATETIME.INC
CODE:HNDNETDATETIME.CLW
TEMPLATE:EmbedNetDateTimeClasses

DESCRIPTION:

*** REVISED MARCH 2018 ***

The functionality in this class comes up from C# via a CHT COM dll called HNDNETDATETIME.DLL, which used with this class makes the DLL self-registering. If the DLL is not already registered with Windows COM at the time an app utilizing this class+dll it is registered with COM, causing the app to pause briefly and barely noticeably for a second or two and then continue running as usual. Once found registered on the running hardware, the auto-registration code in this class is skipped.

This library provides a set of low-level functions like GetFileDateUTC(), GetDayOfYear(),GetIsDaylightSavingTime(),GetIsLeapYear(),GetTimeZone() and 25 more that assist developer with date and time display and manipulation. See example: HNDNETDATETIMEDEMO.APP which applies this class to a Clarion window using template: EmbedNetDateTimeClasses.

Added WeekOfYearISO() in January 2017 to match the WeekOfYear() ISO implementation in HNDDATES.INC/.CLW

*** HNDNETDRIVEDATACLASS ***

 
CLASS:HNDNetDriveDataClass
STATUS:Current
PARENT:HNDError
COMPOSED:None
CATEGORY:XXX Docs Yet ToDo XXX
DEMO:None
DLL:None
TLB:None
HEADER:HNDNETDRIVEDATA.INC
CODE:HNDNETDRIVEDATA.CLW
TEMPLATE:None

DESCRIPTION:

Class description is in preparation.

*** HNDNETFTPCLASS ***

 
CLASS:HNDNetFTPClass
STATUS:Current
PARENT:HNDError
COMPOSED:None
CATEGORY:XXX Docs Yet ToDo XXX
DEMO:None
DLL:None
TLB:None
HEADER:HNDNETFTP.INC
CODE:HNDNETFTP.CLW
TEMPLATE:None

DESCRIPTION:

Class description is in preparation.

*** HNDNETLINKSMTP ***

 
CLASS:HNDNetLinkSmtp
STATUS:Current
PARENT:HNDError
COMPOSED:HNDRegistry
HNDDisk
CATEGORY:Experimental
DEMO:Internal Only at Present
DLL:hndnetlinksmtp.dll
TLB:None
HEADER:HNDNETLINK.INC
CODE:HNDNETLINK.CLW
TEMPLATE:Internal Only at Present

DESCRIPTION:

*** NEW JULY 2016 ***
This library is under construction. This class is an experimental net-dll-related set of functions which test the feasibility of creating CHT net DLLs which expose a dual interface. 1) A standard function export interface which can be linked to. 2) A COM interface which can be instantiated to connect via Clarion COM. For the time being we won't say more about this, other than to acknowledge that a single experimental dll, called HNDNETLINKSMTP.DLL exists which exports a single function GetCHTForumLogin() successfully. The medium-term objective of this experiment is to further expand this DLL to work both as a standard linkable DLL and as a COM DLL. More information will appear here as the experiment continues.

*** HNDNETMAPICLASS ***

 
CLASS:HNDNetMAPIClass
STATUS:New -- Experimental
PARENT:HNDError
COMPOSED:HNDStrLib
HNDComLibrary
CATEGORY:Email MAPI
DEMO:HNDMAILMAPI.APP
DLL:HNDNETMAPI.DLL
TLB:HNDNETMAPI.TLB
HEADER:HNDNETMAPI.INC
CODE:HNDNETMAPI.CLW
TEMPLATE:EmbedNetMAPIClasses

DESCRIPTION:

*** REVISED NOVEMBER 2014 ***
This class is designed to eventually replace the HNDComMapiControl class which uses the Microsoft MSMAPI32.OCX. At a future date, HNDComMapiControl will become deprecated and this class - HNDNetMAPIClass - will replace it to handle simple MAPI-send applications. This class is based on a DLL called HNDNETMAPI.DLL which CHT has built with C# and which connects to Clarion via COM-interop.

*** HNDNETSMTPCLASS ***

 
CLASS:HNDNetSMTPClass
STATUS:Current
PARENT:HNDConfig
HNDError
COMPOSED:HNDStrLib
HNDComLibrary
IHNDNetSMTP
CATEGORY:Email SMTP
DEMO:HNDMAILNET.APP
HNDSMTPNETDEMO.APP
HNDZIPNEMAILNET.APP
More
DLL:HNDNETSMTP.DLL
TLB:HNDNETSMTP.TLB
HEADER:HNDNETSMTP.INC
CODE:HNDNETSMTP.CLW
TEMPLATE:HNDNetSMTPClass

DESCRIPTION:

*** REVISED OCTOBER 2017 ***
This class handles SMTP Email sending, standard and SSL. It leverages CHT COM DLL, HNDNETSMTP.DLL. The revised template now pre-configures your setup to ask for SMTP parameters when non are found in the registry. As soon as valid SMTP parameters including SMTPUserName, SMTPPassWord, SMTPServer, SMTPPort, UseSSL, and SMTPReturnAddress are found the template functionality stops nagging for a correct configuration. It's easy to set up multiple SMTP configurations on the same hardware. For an example of that look at HNDZIPNEMAILNET.APP.

HNDNetSMTPClass is leveraged by a variety of CHT templates such as HNDNetSMTPClass, and Jumpstarts such as "SMTP Configure", "SMTP Net Send Basic". It includes attachment compression and encryption, capabilities. The developer can introduce his/her own user interface or leverage the many example applications provided by CHT.

*** HNDNETWLANAPICLASS ***

 
CLASS:HNDNetWLanAPIClass
STATUS:Current
PARENT:HNDError
COMPOSED:None
CATEGORY:XXX Docs Yet ToDo XXX
DEMO:None
DLL:None
TLB:None
HEADER:HNDNETWLANAPI.INC
CODE:HNDNETWLANAPI.CLW
TEMPLATE:None

DESCRIPTION:

Class description is in preparation.

*** HNDNETZIPPERCLASS ***

 
CLASS:HNDNetZipperClass
STATUS:Current
PARENT:HNDError
COMPOSED:HNDStrLib
HNDComLibrary
CATEGORY:Dot NET - File Compression
DEMO:HNDNETZIPDEMO.APP
HNDZIPNET.APP
HNDZIPNEMAILNET.APP
More
DLL:HNDNETZIPPER.DLL
TLB:HNDNETZIPPER.TLB
HEADER:HNDNETZIPPER.INC
CODE:HNDNETZIPPER.CLW
TEMPLATE:HandyNetZipperControl
EmbedNetZipFunctions

DESCRIPTION:

*** REVISED MARCH 2018 ***

This class provides a wrapper for a CHT-developed .NET Dll called HNDNETZIPPER.DLL. The .DLL in combination with this wrapper class provide a full range of standard file zipping/unzipping services including bulk and single file operations. The .DLL requires a window with two messaging controls in order to operate. If you require invisible or background operations, hide or minimize the window hosting the HNDNETZIPPER.DLL.

A template called HandyNETZipperControl may be used to add this control to your application window. Demonstration apps are: HNDNETZIPDEMO.APP, HNDZIPNET.APP and HNDBACKUPCONFIG.APP.

*** HNDOSCONTROL ***

 
CLASS:HNDOSControl
STATUS:Current
PARENT:HNDError
COMPOSED:None
CATEGORY:XXX Docs Yet ToDo XXX
DEMO:None
DLL:None
TLB:None
HEADER:HNDOSCTL.INC
CODE:HNDOSCTL.CLW
TEMPLATE:None

DESCRIPTION:

Class description is in preparation.

*** HNDOFFICECLASS ***

 
CLASS:HNDOfficeClass
STATUS:Current
PARENT:HNDError
COMPOSED:HNDUtil
HNDStrLib
HNDComLibrary
CATEGORY:MS Office Interface
DEMO:HNDWORDDEM.APP
HNDWORDINTERFACEDEMO.APP
DLL:Microsoft Office
TLB:HNDOUTTL.TLB
HEADER:HNDOFFICE.INC
CODE:HNDOFFICE.CLW
TEMPLATE:EmbedHNDWordClassFunctions
HandyWordInterfaceControls

DESCRIPTION:

This class provides a direct, OLE interface into the Microsoft Office products suite. It is the parent, generalized MS Office interface for more MS-product-specific classes such as HNDOfficeWord and HNDOFficeOutlook.

*** HNDOFFICEOUTLOOK ***

 
CLASS:HNDOfficeOutlook
STATUS:Current
PARENT:HNDError
COMPOSED:None
CATEGORY:XXX Docs Yet ToDo XXX
DEMO:None
DLL:None
TLB:None
HEADER:HNDOUTLOOKMS.INC
CODE:HNDOUTLOOKMS.CLW
TEMPLATE:None

DESCRIPTION:

Class description is in preparation.

*** HNDOFFICEWORD ***

 
CLASS:HNDOfficeWord
STATUS:Current
PARENT:HNDError
HNDOfficeClass
COMPOSED:None
CATEGORY:MS Office Interface (Word)
DEMO:HNDWORDDEM.APP
HNDWORDINTERFACEDEMO.APP
DLL:Microsoft Office
TLB:HNDWORD.TLB,HNDOUTTL.TLB
HEADER:HNDWORD.INC
CODE:HNDWORD.CLW
TEMPLATE:EmbedHNDWordClassFunctions
HandyWordInterfaceControls

DESCRIPTION:

This class provides a direct, OLE interface to Microsoft Office, particularly MS WORD. Functions included are: List recent documents, Close current document, Get document name, Close all documents, Minimize MS Word, Restore MS Word, Maximize MS Word, Spell check document, Grammar check document.

*** HNDOUTLOOKCLASS ***

 
CLASS:HNDOutlookClass
STATUS:Current
PARENT:HNDError
COMPOSED:HNDStrLib
HNDComLibrary
HNDWindow
CATEGORY:Extended Controls - Email
DEMO:HNDOUTLOOK.APP
HNDOUTLOOKINTERFACEDEMO.APP
HNDOUTLKDEMO.APP
DLL:OUTLCTL.DLL
TLB:HNDOUTTL.TLB
HEADER:HNDOUTTL.INC
CODE:HNDOUTTL.CLW
TEMPLATE:None

DESCRIPTION:

*** REVISED NOVEMBER 2014 ***
This class serves as a COM wrapper for a Microsoft COM DLL called OUTLCTL.DLL. CHT's Outlook Control provides a full-feature, user-configurable MS Outlook Email interface that lets users easily control send, receive and view behaviors, and interact with email documents from inside their Clarion application.

There is an implicit assumption, of course, that a working copy of MS Oulook exists on the host system. A demonstration application called HNDOUTLOOK.APP illustrates use of the template and calling HNDOutlookClass Class methods.

*** HNDPARSE ***

 
CLASS:HNDParse
STATUS:Current
PARENT:HNDError
COMPOSED:None
CATEGORY:Querying, Locating And Filtering
DEMO:HND2.APP
HND2.APP
HNDACCES.APP
HNDSQL1.APP
More
DLL:None
TLB:None
HEADER:HNDPARSE.INC
CODE:HNDPARSE.CLW
TEMPLATE:None

DESCRIPTION:

This class is the Query Interpreter used throughout CHT to build real-language queries into everything from SQL data view searches to file compression utilities and email filtering. CHT Query Language is based on the principle that queries are easier to construct when the query language being used resembles the user's own native tongue.

At least half of CHT demo applications include CHT Query Language in some way or another to conduct a search or to construct a filter so finding an example of its use is straightforward enough. When querying data tables CHT query language is cross-interpreted into the brand of SQL used by your data table, and into standard Clarion when your data table is an ISAM type like TopSpeed.

Check out the PDF document called http://www.cwhandy.com/june2006.pdf for a comprehensive essay on the use of CHT Query Language to provide searching and filtering in your applications.

*** HNDPROGRESS ***

 
CLASS:HNDProgress
STATUS:Current
PARENT:HNDError
COMPOSED:None
CATEGORY:XXX Docs Yet ToDo XXX
DEMO:None
DLL:None
TLB:None
HEADER:HNDPROGR.INC
CODE:HNDPROGR.CLW
TEMPLATE:None

DESCRIPTION:

Class description is in preparation.

*** HNDQUERYBUILDER ***

 
CLASS:HNDQueryBuilder
STATUS:Current
PARENT:HNDError
COMPOSED:None
CATEGORY:XXX Docs Yet ToDo XXX
DEMO:None
DLL:None
TLB:None
HEADER:HNDQBINF.INC
CODE:HNDQBINF.CLW
TEMPLATE:None

DESCRIPTION:

Class description is in preparation.

*** HNDRGBCOLOR ***

 
CLASS:HNDRGBColor
STATUS:Current
PARENT:HNDError
COMPOSED:None
CATEGORY:XXX Docs Yet ToDo XXX
DEMO:None
DLL:None
TLB:None
HEADER:HNDRGBCO.INC
CODE:HNDRGBCO.CLW
TEMPLATE:None

DESCRIPTION:

Class description is in preparation.

*** HNDREFWINDOW ***

 
CLASS:HNDRefWindow
STATUS:Current
PARENT:HNDError
COMPOSED:HNDMSWord
CATEGORY:MS Office Interface
DEMO:HNDWORDDEMO.APP
DLL:Microsoft Office
TLB:None
HEADER:HNDMSWRD.INC
CODE:HNDMSWRD.CLW
TEMPLATE:EmbedMSWordFunctions
HandyWordInterfaceControls

DESCRIPTION:

*** REVISED MARCH 2018 ***

The HNDRefWindow class is one component of five, providing an OLE interface connection to Microsoft Office documents. Other MS Office objects in the set are: HNDMSWord, HNDApplication, HNDDocuments, HNDActiveDocument, HNDRefWindow.

This set of five Clarion objects allows Clarion applications utilizing them to connect to MS Word in order to send various formatting insertion and deletion commands (spell checking for example) via the same document interface provided by MS Word itself via its "Visual Basic For Applications", command language.

For example applications, see HNDWORDDEMO.APP and HNDWORDINTERFACEDEMO.APP.

*** HNDREGISTRY ***

 
CLASS:HNDRegistry
STATUS:Current
PARENT:HNDError
COMPOSED:None
CATEGORY:XXX Docs Yet ToDo XXX
DEMO:None
DLL:None
TLB:None
HEADER:HNDREG.INC
CODE:HNDREG.CLW
TEMPLATE:None

DESCRIPTION:

Class description is in preparation.

*** HNDREPORTENGINE ***

 
CLASS:HNDReportEngine
STATUS:Current
PARENT:HNDError
COMPOSED:None
CATEGORY:XXX Docs Yet ToDo XXX
DEMO:None
DLL:None
TLB:None
HEADER:HNDRWPRLIB.INC
CODE:HNDRWPRLIB.CLW
TEMPLATE:None

DESCRIPTION:

Class description is in preparation.

*** HNDRULER ***

 
CLASS:HNDRuler
STATUS:Current
PARENT:HNDError
COMPOSED:None
CATEGORY:XXX Docs Yet ToDo XXX
DEMO:None
DLL:None
TLB:None
HEADER:HNDRULER.INC
CODE:HNDRULER.CLW
TEMPLATE:None

DESCRIPTION:

Class description is in preparation.

*** HNDSMS ***

 
CLASS:HNDSMS
STATUS:Current
PARENT:HNDConfig
HNDError
COMPOSED:HNDBuffer
HNDDisk
HNDEncrypt
CATEGORY:SMS Messages
DEMO:HNDSMSMESSAGE.APP
DLL:CLARUNEXT.DLL
TLB:None
HEADER:HNDSMS.INC
CODE:HNDSMS.CLW
TEMPLATE:EmbedSMSFunctions

DESCRIPTION:

*** REVISED AUGUST 2015 ***
This class handles SMS message sending. It leverages Clarion DLL, CLARUNEXT.DLL which exists in both the run-time set provided by Clarion Professional and Clarion Enterprise. This new CHT Class (as of July 2015) provides an SMS API with which to send SMS message either via an SMS Gateway Server or an SMTP Email Server. SMS messages sent via an SMTP Email Server will be transferred to the target packaged as an email. In either case the SMS address is the recipient's cell number plus his/her SMS GateWay Domain.

Format the receiving address as #########@sms.gatewaydomain.com.
For an example application look at: HNDSMSMESSAGES.APP.

*** HNDSCRIPTHOSTCLASS ***

 
CLASS:HNDScriptHostClass
STATUS:Current
PARENT:HNDError
COMPOSED:None
CATEGORY:Windows Script Host Access
DEMO:HNDWINDOWSSCRIPTHOSTDEMO.APP
DLL:WSHOM.OCX
TLB:HNDWSHOM.TLB
HEADER:HNDWSHOM.INC
CODE:HNDWSHOM.CLW
TEMPLATE:HandyCOMWindowsScriptHostControl

DESCRIPTION:

HNDScriptHostClass is a CHT Wrapper for Windows Script Host technology on your application window. Windows Script Host is a Microsoft COM DLL called WSHOM.OCX which provides script-based services (eg: WScript, JScript and VBScript) to the operating system and to the I.E. browser. Microsoft describes it as follows: "Windows Script Host (WSH), a feature of the Microsoft(C) Windows(C) family of operating systems, is a powerful multi-language scripting environment ideal for automating system administration tasks. Scripts running in the WSH environment can leverage the power of WSH objects and other COM-based technologies that support Automation, such as Windows Management Instrumentation (WMI) and Active Directory Service Interfaces (ADSI), to manage the Windows subsystems that are central to many system administration tasks." WSH includes the WScript object and three COM-based objects: WshShell, WshNetwork, and WshController. The WSH COM objects are useful in several situations. For example, the WshNetwork object allows you to map network drives; this capability is not available in either WMI or ADSI. This template and its underlying wrapper class, HNDScriptHostClass, based in modules HNDWSHOM.INC, HNDWSHOM.CLW, HNDWSHOM.TLB provide you the equivalent of running windows administration scripts from inside your Clarion application, using Clarion syntax rather than writing WScript, JScript or VBScript. See example program HNDWINDOWSSCRIPTHOSTDEMO.APP for an example that illustrates some of the capabilities provided. For more information about Windows Script Host, check MSDN.

*** HNDSCRIPTER ***

 
CLASS:HNDScripter
STATUS:Current
PARENT:HNDError
COMPOSED:None
CATEGORY:XXX Docs Yet ToDo XXX
DEMO:None
DLL:None
TLB:None
HEADER:HNDSCDAP.INC
CODE:HNDSCDAP.CLW
TEMPLATE:None

DESCRIPTION:

Class description is in preparation.

*** HNDSERVICE ***

 
CLASS:HNDService
STATUS:Current
PARENT:HNDError
COMPOSED:None
CATEGORY:XXX Docs Yet ToDo XXX
DEMO:None
DLL:None
TLB:None
HEADER:HNDSERVC.INC
CODE:HNDSERVC.CLW
TEMPLATE:None

DESCRIPTION:

Class description is in preparation.

*** HNDSHELL ***

 
CLASS:HNDShell
STATUS:Current
PARENT:HNDError
COMPOSED:None
CATEGORY:XXX Docs Yet ToDo XXX
DEMO:None
DLL:None
TLB:None
HEADER:HNDSHELL.INC
CODE:HNDSHELL.CLW
TEMPLATE:None

DESCRIPTION:

Class description is in preparation.

*** HNDSHELLAUTOCOMPLETE ***

 
CLASS:HNDShellAutoComplete
STATUS:Current
PARENT:HNDError
COMPOSED:None
CATEGORY:Coding Assistance
DEMO:HNDCLIENTSV.APP
HNDFILSV.APP
More
DLL:SHLWAPI.DLL (WINDOWS_DLL)
TLB:None
HEADER:HNDAUTOC.INC
CODE:HNDAUTOC.CLW
TEMPLATE:EmbedShellAutoCompleteFunctions

DESCRIPTION:

*** REVISED NOVEMBER 2014 ***
This single-purpose class assists deveopers and users with remembering legally-used, and reusable, input values for a form field. When applied to an input control of type TEXT or ENTRY, it behaves like the URL address field in Microsoft Internet Explorer. Recently entered values that have been entered into similar fields present themselves in a dropdown for easy selection. Available settings are:
** SetInputFile() pop up a list of files and/or paths
** SetInputUrl() pop up a list of web addresses or URLS
** SetInputAny() pop up a list of either of the above
Good example applications to examine and test this with, are HNDCLIENTSV.APP and HNDMTSNG.APP. The "Server Run Directory" field has been set as SetInputAny(). Empty this field and begin to type a path and by the time you type the 3rd character, a dropdown appears to allow selection of previously entered data from similar fields on your PC.

*** HNDSHELLLINKCLASS ***

 
CLASS:HNDShellLinkClass
STATUS:Current
PARENT:HNDError
COMPOSED:None
CATEGORY:Windows Shell Library
DEMO:HNDWINDOWSSHELLDEMO.APP
DLL:SHELL32.DLL
TLB:HNDSHLNK.TLM
HEADER:HNDSHLNK.INC
CODE:HNDSHLNK.CLW
TEMPLATE:GlobalIncludeHndShellLinkFunctions
EmbedShellLinkClassFunctions

DESCRIPTION:

HNDShellLinkClass assists with the creation of clickable links to executables and documents. HND_WBUPDATERC10.EXE and CHTSETUP.EXE both use this class to create links to our CHT installation.

*** HNDSIZES ***

 
CLASS:HNDSizes
STATUS:Current
PARENT:HNDError
COMPOSED:None
CATEGORY:XXX Docs Yet ToDo XXX
DEMO:None
DLL:None
TLB:None
HEADER:HNDSIZES.INC
CODE:HNDSIZES.CLW
TEMPLATE:None

DESCRIPTION:

Class description is in preparation.

*** HNDSLIDER ***

 
CLASS:HNDSlider
STATUS:Current
PARENT:HNDError
COMPOSED:None
CATEGORY:XXX Docs Yet ToDo XXX
DEMO:None
DLL:None
TLB:None
HEADER:HNDSLIDE.INC
CODE:HNDSLIDE.CLW
TEMPLATE:None

DESCRIPTION:

Class description is in preparation.

*** HNDSMTP ***

 
CLASS:HNDSmtp
STATUS:Current
PARENT:HNDConfig
HNDError
COMPOSED:HNDBuffer
HNDDisk
HNDEncrypt
HNDRegistry
CATEGORY:Email SMTP
DEMO:HNDZIPNEMAILSMTP.APP
HNDBULKMAILSMTP.APP

HNDSOURCESMTPDEMO.APP

HNDMAILSMTP.APP
More
DLL:CLARUNEXT.DLL
TLB:None
HEADER:HNDSMTP.INC
CODE:HNDSMTP.CLW
TEMPLATE:EmbedSMTPFunctions
Source_EmbedSMTPFunctions
More

DESCRIPTION:

*** REVISED MARCH 2018 ***
This class handles SMTP Email sending, standard and SSL. It leverages Clarion DLL, CLARUNEXT.DLL which exists in both the run-time set provided by Clarion Professional and Clarion Enterprise. The revised template now pre-configures your setup to ask for SMTP parameters when non are found in the registry. As soon as valid SMTP parameters including SMTPUserName, SMTPPassWord, SMTPServer, SMTPPort, UseSSL, and SMTPReturnAddress are found the template functionality stops nagging for a correct configuration. It's easy to set up multiple SMTP configurations on the same hardware. For an example of that look at HNDZIPNEMAILSMTP.APP.

HNDSMTP is leveraged by a variety of CHT templates such as EmbedSMTPFunctions, and Jumpstarts such as "SMTP Configure", "SMTP Send With Attachments" and more. It includes attachment compression and encryption, capabilities. The developer can introduce his/her own user interface or leverage the many example applications provided by CHT.

*** HNDSNAPCALL ***

 
CLASS:HNDSnapCall
STATUS:Current
PARENT:HNDError
HNDUtil
COMPOSED:HNDCaptureConsole
HNDBinFileIO
HNDConfig
CATEGORY:CHT Snap-In Clarion Interface
DEMO:HNDSNAPTEST.APP
HNDTESTCHTSNAPGET.APP
HNDTESTCHTSNAPTOOLS.APP

HNDTESTCHTSNAPZIP.APP

HNDZIPNEMAILSNAP
HNDZIPNEMAILSNAPMAPI.APP
DLL:HNDCAPCON.DLL or HNDNETCAPCON.DLL
TLB:None
HEADER:HNDSNAPCALL.INC
CODE:HNDSNAPCALL.CLW
TEMPLATE:EmbedSnapCall

DESCRIPTION:

*** REVISED JANUARY 2017 ***
The library, is being continually forward-developed to handle calls to existing, as well as in-development "CHT Snap-Ins" (C# executables) and "Batch Bots" (Clarion executables) of various kinds.

The base template to attach this class to your Clarion procedure is EmbedSnapCall. This CHT class interfaces to the following Snap-In Items:
(1) CHTSNAPSEND.EXE, (2) CHTSNAPEDIT.EXE, (3) CHTSNAPSMTP.EXE,
(4) CHTSNAPMAPI.EXE, (5) CHTSNAPGET.EXE, (6) CHTSNAPZIP.EXE.

This CHT class interfaces to the following Batch-Bot Items:
(1) HNDMAILSMTP.EXE, (2) HNDMAILMAPI.EXE, (3) HNDMAILCDO.EXE,
(4) HNDSLFCMD.EXE, (5) HNDSLFCMDXSA.EXE, (6) HNDBASE64CVT.EXE,
(7) HNDENCRYPT.EXE, (8) HNDFTPNET.EXE, (9) HNDMAILNET.EXE,
(10) HNDMAKEHZO.EXE, (11) HNDZIPNET.EXE.

Future C#-Snap-In items will include:
CHTSNAPFTP.EXE, CHTSNAPSMS.EXE, CHTSNAPPUT.EXE.

See: Batch Bot Apps

*** HNDSOCKET ***

 
CLASS:HNDSocket
STATUS:Current
PARENT:HNDIPAddress
HNDError
COMPOSED:None
CATEGORY:Internet - Sockets
DEMO:HNDCHATSVR.APP
HNDCHATCLNT.APP
DLL:None
TLB:None
HEADER:HNDSOCKET.INC
CODE:HNDSOCKET.CLW
TEMPLATE:EmbedSocketEvents

DESCRIPTION:

** REVISED JANUARY 2017 ** This class is a TCP/IP sockets connector and communicator class. It is not standalone and works in conjunction with CHT class HNDSocketEvents. This class can communicate over raw TCP/IP sockets without requiring HTTP protocol. It does so, using JSON data packages that contain both a data component and a command component. Note that, maximum data package size is limited by equate HPROP:RcvBufferCmd. This socket class is initially designed to provide an always-connected socket connection for use with applications such as HNDCHATSVR.APP and HNDCHATCLNT.APP. Once a client connects, the socket created is not closed until the client logs off or a socket error is encountered at which time the client is disconnected from the server. This behaviour is entirely different than HTTP protocol which does not keep sockets open between the client and the server. Under HTTP, a client makes a request which opens a new, temporary, socket connection with the server and the transaction processed on that socket completes as soon as a response is received by the client from the server.

*** HNDSOCKETEVENTS ***

 
CLASS:HNDSocketEvents
STATUS:Current
PARENT:HNDSocket
HNDIPAddress
HNDError
COMPOSED:HNDJSONClass
CATEGORY:Internet - Sockets
DEMO:HNDCHATSVR.APP
HNDCHATCLNT.APP
DLL:None
TLB:None
HEADER:HNDSOCKET.INC
CODE:HNDSOCKET.CLW
TEMPLATE:EmbedHNDSocketEvents

DESCRIPTION:

** REVISED JANUARY 2017 ** This class is a TCP/IP sockets connector and communicator class. It is not standalone and works in conjunction with CHT class HNDIPAddress. See the description of HNDSocket to understand how this class works, since HNDSocket and HNDSocketEvents are part an parcel of one set of CHT socket-connector-communicator functionalities.

*** HNDSOURCEPROCEDURE ***

 
CLASS:HNDSourceProcedure
STATUS:Current
PARENT:HNDError
COMPOSED:None
CATEGORY:Embedding Assist
DEMO:HANDYBULKMAILBATCHER.APP
HNDMAILSMTP.APP
DLL:None
TLB:None
HEADER:HNDSRC.INC
CODE:HNDSRC.CLW
TEMPLATE:HandySourceProcedure

DESCRIPTION:

This class is introduced into your application by a procedure template called HandySourceProcedure. Our template and the resulting procedure is a replacement for ABC's native source procedure. The problem, as we see it, with ABC's native source procedure is a lack of embed points into which add-on templates may be added.

While it may seem counter-intuitive to expect template embed points in a "source" procedure, it is perfectly normal and "par-for-the-course" to combine template-embedded code with hand-embedded code in all kinds of situations. So why is this not provided in the ABC native source procedure?

With that thought in mind, this class, HNDSourceProcedure, and its procedure template HandySourceProcedure provide both template embed points (i.e. points into which template-provided code may be placed) as well as hand embed points (i.e. points into which hand-provided code may be placed).

Additionally, along the lines of providing a maximum of plug-in functionality from other CHT classes, into the source procedure that results from creating a source procedure the CHT way, we've provided a group of related templates, the names of which begin with "Source_", for example, Source_EmbedDiskFunctions.

The following is a comprehensive list of related templates:
Source_EmbedDiskFunctions, Source_EmbedDateFunctions,
Source_EmbedDiskExFunctions, Source_EmbedEncryptionFunctions,
Source_EmbedHZOFunctions, Source_EmbedMAPIFunctions,
Source_EmbedSMTPFunctions, Source_EmbedUtilityFunctions,
Source_EmbedZipFunctions, Source_EmbedQueryBuilderFunctions

*** HNDSPELL ***

 
CLASS:HNDSpell
STATUS:Current
PARENT:HNDError
COMPOSED:None
CATEGORY:XXX Docs Yet ToDo XXX
DEMO:None
DLL:None
TLB:None
HEADER:HNDSPELL.INC
CODE:HNDSPELL.CLW
TEMPLATE:None

DESCRIPTION:

Class description is in preparation.

*** HNDSPLITTER ***

 
CLASS:HNDSplitter
STATUS:Current
PARENT:HNDError
COMPOSED:None
CATEGORY:Split Bar Functionality
DEMO:HNDSPLITTERTEST.APP
HNDCLXHT.APP
HNDTPXHT.APP
DLL:None
TLB:None
HEADER:HNDSPLITTER.INC
CODE:HNDSPLITTER.CLW
TEMPLATE:EmbedHNDSplitter
HandySplitBarVertical
HandySplitBarHorizontal

DESCRIPTION:

*** REVISED NOVEMBER 2014 ***
This class handles a split-bar control, either vertical or horizontal, which divides up the window and moves or resizes controls up/down or left/right, respectively, when the split-bar control is dragged.

A very good example of how this control can be used to maximize window real-estate without using tabs is HNDCLXT.APP.

The parent template to attach this functionality to a window is EmbedHNDSplitter. Once that template is populated, the control templates, HandySplitBarVertical or HandySplitBarHorizontal can be dropped on the window.

*** HNDSQUEEZE ***

 
CLASS:HNDSqueeze
STATUS:Deprecated
PARENT:HNDError
COMPOSED:HNDBuffer
CATEGORY:Buffer, File And Memory Compression
DEMO:HNDZTEST.APP
HNDZDEMO.APP
DLL:hndzlbex.dll
TLB:None
HEADER:HNDSQEEZ.INC
CODE:HNDSQEEZ.CLW
TEMPLATE:IncludeHNDDOSFileFunctions
IncludeHNDDiskFunctions
EmbedDiskFunctions

DESCRIPTION:

*** REVISED MARCH 2018 ***
This library and DLL are still available but have been replaced by CHT's HNDCOMPRESS class. See HNDCOMPRESS class.

The CHT HNDSqueeze class, contained in HNDSQEEZ.INC (Header module) and HNDSQEEZ.CLW (Code module) provides file and memory compression.

File compression is accomplished via inheritance by CHT class HNDDOSFILE which can be attached globally to an application with template IncludeHNDDOSFileFunctions. Memory compression is accomplished via inheritance by CHT class HNDDISK which can be attached globally to an application with template IncludeHNDDiskFunctions or procedure-locally using EmbedDiskFunctions.

*** HNDSTEPCLASS ***

 
CLASS:HNDStepClass
STATUS:Current
PARENT:HNDError
COMPOSED:None
CATEGORY:XXX Docs Yet ToDo XXX
DEMO:None
DLL:None
TLB:None
HEADER:HNDSTEPS.INC
CODE:HNDSTEPS.CLW
TEMPLATE:None

DESCRIPTION:

Class description is in preparation.

*** HNDSTRLIB ***

 
CLASS:HNDStrLib
STATUS:Current
PARENT:HNDError
COMPOSED:None
CATEGORY:XXX Docs Yet ToDo XXX
DEMO:None
DLL:None
TLB:None
HEADER:HNDSTRLB.INC
CODE:HNDSTRLB.CLW
TEMPLATE:None

DESCRIPTION:

Class description is in preparation.

*** HNDSTRING ***

 
CLASS:HNDString
STATUS:Current
PARENT:HNDError
COMPOSED:None
CATEGORY:XXX Docs Yet ToDo XXX
DEMO:None
DLL:None
TLB:None
HEADER:HNDSTR.INC
CODE:HNDSTR.CLW
TEMPLATE:None

DESCRIPTION:

Class description is in preparation.

*** HNDSTRINGCLASS ***

 
CLASS:HNDStringClass
STATUS:Current
PARENT:HNDError
COMPOSED:None
CATEGORY:XXX Docs Yet ToDo XXX
DEMO:None
DLL:None
TLB:None
HEADER:HNDSTRCLASS.INC
CODE:HNDSTRCLASS.CLW
TEMPLATE:None

DESCRIPTION:

Class description is in preparation.

*** HNDSUBSCRIPTIONSERVER ***

 
CLASS:HNDSubscriptionServer
STATUS:Current
PARENT:HNDError
HNDBrowserServer
COMPOSED:CriticalSection
CATEGORY:Internet - HTTP Servers
DEMO:HNDSLFSV.APP
HNDMTSNG.APP
HNDCLIENTSV.APP
HNDFILSV.APP
More
DLL:None
TLB:None
HEADER:HNDSUBSV.INC
CODE:HNDSUBSV.CLW
TEMPLATE:None

DESCRIPTION:

*** REVISED APRIL 2018 ***
HNDSubscriptionServer derives CHT Server Base Class HNDBrowserServer.

*** HNDTEXT ***

 
CLASS:HNDText
STATUS:Current
PARENT:HNDError
COMPOSED:None
CATEGORY:XXX Docs Yet ToDo XXX
DEMO:None
DLL:None
TLB:None
HEADER:HNDHTML.INC
CODE:HNDHTML.CLW
TEMPLATE:None

DESCRIPTION:

Class description is in preparation.

*** HNDUTIL ***

 
CLASS:HNDUtil
STATUS:Current
PARENT:HNDError
COMPOSED:HNDBuffer
CATEGORY:Windows API
DEMO:Most
DLL:None
TLB:None
HEADER:HNDUTIL.INC
CODE:HNDUTIL.CLW
TEMPLATE:None

DESCRIPTION:

*** REVISED MARCH 2017 ***
This class contains a broad collection of utility functions that provide services as widely varied as string manipulation, operating system detection, shell folder detection, path manipulation, file statistics, data hashing and more. This class can be attached to your application procedures directly using the CHT template called EmbedUtilityFunctions. HNDUtil is also derived directly by the HNDDisk class and indirectly by the HNDDiskEx class.

These higher level classes derive and utilize HNDUtil methods and properties as if they were their own. The method names in HNDUtil are reasonably self explanatory, for example: GetComputerName(), LongToHex(), RemoveBetween(), NoSpace() and so on. --RECENT CHANGES AND ADDITIONS---

MARCH 2017 PrintShell now presents a preview of the to-be-printed file from which the print menu may be exercised.

*** HNDVIEWADAPTER ***

 
CLASS:HNDViewAdapter
STATUS:Current
PARENT:HNDError
COMPOSED:None
CATEGORY:XXX Docs Yet ToDo XXX
DEMO:None
DLL:None
TLB:None
HEADER:HNDVWDAP.INC
CODE:HNDVWDAP.CLW
TEMPLATE:None

DESCRIPTION:

Class description is in preparation.

*** HNDVIEWMANAGER ***

 
CLASS:HNDViewManager
STATUS:Current
PARENT:HNDError
COMPOSED:None
CATEGORY:XXX Docs Yet ToDo XXX
DEMO:None
DLL:None
TLB:None
HEADER:HNDVWMGR.INC
CODE:HNDVWMGR.CLW
TEMPLATE:None

DESCRIPTION:

Class description is in preparation.

*** HNDWINHTTP ***

 
CLASS:HNDWinHTTP
STATUS:Current
PARENT:HNDError
COMPOSED:None
CATEGORY:XXX Docs Yet ToDo XXX
DEMO:None
DLL:None
TLB:None
HEADER:HNDWHTTP.INC
CODE:HNDWHTTP.CLW
TEMPLATE:None

DESCRIPTION:

Class description is in preparation.

*** HNDWINDOW ***

 
CLASS:HNDWindow
STATUS:Current
PARENT:HNDError
COMPOSED:None
CATEGORY:Window Extension Class
DEMO:Any HNDAPP Demo or Utility
DLL:None
TLB:None
HEADER:HNDWINDO.INC
CODE:HNDWINDO.CLW
TEMPLATE:EmbedWindowFunctions

DESCRIPTION:

HNDWindow, via its template, EmbedWindowFunctions manages a host of features on your application window, from application-in-system-tray, to window callbacks, to Window Transparency and transitions.

*** HNDWINDOWSMEDIAPLAYER ***

 
CLASS:HNDWindowsMediaPlayer
STATUS:Current
PARENT:HNDError
COMPOSED:None
CATEGORY:Windows Media Player Interface
DEMO:HNDMEDIAPLAYER.APP
DLL:WMP.DLL
TLB:HNDWMP.TLB
HEADER:HNDWMP.INC
CODE:HNDWMP.CLW
TEMPLATE:HandyCOMMediaPlayerControl

DESCRIPTION:

HNDWindowsMediaPlayer is a Clarion class that provides a programmatic interface to Windows Media Player.

Its control template places a COM Windows Media Player Control on your application window. Windows Media Files provide audio and video services to web pages and can act as sound and video help files and demonstrations.

With this control, you can play and control the playing of a variety of media files (.AVI, .WMA, .WMV, .ASX, .WAX, .WVX, .WPL, .DVR-MS, .WMD, .MPG, .MPEG, .M1V, .MP2, .MP3, .MP4, .MPA, .MPE, .MPV2, .M3U, .MID, .MIDI, .RMI, .AIF, .AIFC, .AIFF, .AU, .SND, .WAV, .CDA, .IVF, .MOV, .QT and player skins files .WMZ, .WMS) directly on your application windows.

A demonstration application called HNDMEDIAPLAYER.APP illustrates use of this template while providing a convenient tutorial host to play the .WMV-based video training files provided with CHT as a training aid to the wide variety of uses for our templates and classes.

*** HNDZSTORE ***

 
CLASS:HNDZStore
STATUS:Current
PARENT:HNDError
COMPOSED:HNDRegistry
FileManager(ABC)
CATEGORY:HZO File Creation
DEMO:HNDSETUP.APP
HNDSETUPMKR.APP
DLL:HNDZLbex.DLL
TLB:None
HEADER:HNDZSTOR.INC
CODE:HNDZSTOR.CLW
TEMPLATE:EmbedHndZStoreFunctions

DESCRIPTION:

*** REVISED NOVEMBER 2017 ***
HNDZStore class is used to insert and extract all types of files for transport and installation purposes into, and out of, a master Clarion .TPS container. These installation container files, are identified by the file extension .HZO. In orer to attach HNDZStore to a procedure use EmbedHndZStoreFunctions, or you may use simply, EmbedObject a generic embed template which can be enrolled to attach any class to a procedure for the purpose of coding and calling into that class' functions.

The best example to study the use of this class is HNDSETUP.APP, also known as "CHT Installation Containerizer". Used in conjunction with CHT's file and memory compression class HNDSqueeze, files can be optionally compressed into the target container. And used in conjuction with CHT's encryption class HNDEndcrypt, files can also be optionally encrypted into the target container via HNDZStore.

HZO installation files created by HNDSETUP.APP, utilizing this HNDZStore class, are the basis for the file installation and transport system used by CHT's Webupdater Toolkit Installer.

*** HNDBODY ***

 
CLASS:HndBody
STATUS:Current
PARENT:HndTable
COMPOSED:None
CATEGORY:XXX Docs Yet ToDo XXX
DEMO:None
DLL:None
TLB:None
HEADER:HNDHTML.INC
CODE:HNDHTML.CLW
TEMPLATE:None

DESCRIPTION:

Class description is in preparation.

*** HNDENTRY ***

 
CLASS:HndEntry
STATUS:Current
PARENT:HNDInput
COMPOSED:None
CATEGORY:XXX Docs Yet ToDo XXX
DEMO:None
DLL:None
TLB:None
HEADER:HNDHTML.INC
CODE:HNDHTML.CLW
TEMPLATE:None

DESCRIPTION:

Class description is in preparation.

*** HNDFOOTER ***

 
CLASS:HndFooter
STATUS:Current
PARENT:HndTable
COMPOSED:None
CATEGORY:XXX Docs Yet ToDo XXX
DEMO:None
DLL:None
TLB:None
HEADER:HNDHTML.INC
CODE:HNDHTML.CLW
TEMPLATE:None

DESCRIPTION:

Class description is in preparation.

*** HNDFORM ***

 
CLASS:HndForm
STATUS:Current
PARENT:None
COMPOSED:None
CATEGORY:XXX Docs Yet ToDo XXX
DEMO:None
DLL:None
TLB:None
HEADER:HNDHTML.INC
CODE:HNDHTML.CLW
TEMPLATE:None

DESCRIPTION:

Class description is in preparation.

*** HNDGLOBAL ***

 
CLASS:HndGlobal
STATUS:Current
PARENT:None
COMPOSED:None
CATEGORY:XXX Docs Yet ToDo XXX
DEMO:None
DLL:None
TLB:None
HEADER:HNDHTML.INC
CODE:HNDHTML.CLW
TEMPLATE:None

DESCRIPTION:

Class description is in preparation.

*** HNDHEADER ***

 
CLASS:HndHeader
STATUS:Current
PARENT:HndTable
COMPOSED:None
CATEGORY:XXX Docs Yet ToDo XXX
DEMO:None
DLL:None
TLB:None
HEADER:HNDHTML.INC
CODE:HNDHTML.CLW
TEMPLATE:None

DESCRIPTION:

Class description is in preparation.

*** HNDHTML ***

 
CLASS:HndHtml
STATUS:Current
PARENT:HndDosFile
COMPOSED:Util
Page
PageQ
CATEGORY:XXX Docs Yet ToDo XXX
DEMO:None
DLL:None
TLB:None
HEADER:HNDHTML.INC
CODE:HNDHTML.CLW
TEMPLATE:None

DESCRIPTION:

Class description is in preparation.

*** HNDINPUT ***

 
CLASS:HndInput
STATUS:Current
PARENT:HNDError
COMPOSED:None
CATEGORY:XXX Docs Yet ToDo XXX
DEMO:None
DLL:None
TLB:None
HEADER:HNDHTML.INC
CODE:HNDHTML.CLW
TEMPLATE:None

DESCRIPTION:

Class description is in preparation.

*** HNDPAGE ***

 
CLASS:HndPage
STATUS:Current
PARENT:HNDError
COMPOSED:None
CATEGORY:XXX Docs Yet ToDo XXX
DEMO:None
DLL:None
TLB:None
HEADER:HNDHTML.INC
CODE:HNDHTML.CLW
TEMPLATE:None

DESCRIPTION:

Class description is in preparation.

*** HNDTABLE ***

 
CLASS:HndTable
STATUS:Current
PARENT:None
COMPOSED:None
CATEGORY:XXX Docs Yet ToDo XXX
DEMO:None
DLL:None
TLB:None
HEADER:HNDHTML.INC
CODE:HNDHTML.CLW
TEMPLATE:None

DESCRIPTION:

Class description is in preparation.