Clarion Handy Tools ™ 
Templates•Classes•Utilities•Projects
Applications•Online

CHT CLASSES BY CATEGORY
(BUILD: 28A.01.00) 

CATEGORY:
Application Configuration

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

©CHT (Clarion Handy Tools)

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.

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

©CHT (Clarion Handy Tools)

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.

CATEGORY:
Binary File Access

*** HNDBINFILEIO ***

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

DESCRIPTION:

©CHT (Clarion Handy Tools)

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.

EXAMPLE APPLICATIONS:

HNDXML2HTMLGEN.APP, HNDBASE64CVT.APP, HNDCPYDM.APP, HNDENCRYPT.APP, HNDSEARCH.APP, Dozens More...

*** HNDDOSFILE ***

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

DESCRIPTION:

©CHT (Clarion Handy Tools)

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.

OTHER EXAMPLE APPLICATIONS:

HNDXML2HTMLGEN.APP, HNDBASE64CVT.APP, HNDCPYDM.APP, HNDENCRYPT.APP, HNDSEARCH.APP, More...

CATEGORY:
Browse Building Classes

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

©CHT (Clarion Handy Tools)

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).

*** HNDFILELOADBROWSE ***

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

HNDLBXDM.APP

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


ClientServerBrowseListBox
More

DESCRIPTION:

©CHT (Clarion Handy Tools)

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.

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

©CHT (Clarion Handy Tools)

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.

CATEGORY:
Buffer, File And Memory Compression

*** HNDCOMPRESS ***

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

DESCRIPTION:

©CHT (Clarion Handy Tools)

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

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.

*** 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 SEPTEMBER 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.

CATEGORY:
Burn CDROM Disks

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

©CHT (Clarion Handy Tools)

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.

CATEGORY:
CHT Snap-In Clarion Interface

*** HNDSNAPCALL ***

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

HNDTESTCHTSNAPZIP.APP

HNDTESTCHTSNAPMAPI.APP

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

DESCRIPTION:

©CHT (Clarion Handy Tools)

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) CHTSNAPZIP.EXE, (2) CHTSNAPEDIT.EXE, (3) CHTSNAPSMTP.EXE,
(4) CHTSNAPMAPI.EXE, (5) CHTSNAPGET.EXE, (6) CHTSNAPCRYPT.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.

See: Batch Bot Apps

CATEGORY:
COM Utility Library

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

©CHT (Clarion Handy Tools)

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.

CATEGORY:
Calculators

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

©CHT (Clarion Handy Tools)

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().

CATEGORY:
Capture DOS Console

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

©CHT (Clarion Handy Tools)

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.

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

©CHT (Clarion Handy Tools)

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().

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

©CHT (Clarion Handy Tools)

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.

CATEGORY:
Coding Assistance

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

©CHT (Clarion Handy Tools)

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

.

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

©CHT (Clarion Handy Tools)

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.

CATEGORY:
Data Access View To Queue

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

©CHT (Clarion Handy Tools)

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.

CATEGORY:
Dates, Times And Calendars

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

©CHT (Clarion Handy Tools)

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 calculations, date and time wrap calculations, Julian dates, UTC dates, business day and 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.

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

©CHT (Clarion Handy Tools)

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() to match the WeekOfYear() ISO implementation in HNDDATES.INC/.CLW

CATEGORY:
Docking Window

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

©CHT (Clarion Handy Tools)

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".

CATEGORY:
Dot NET - File Compression

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

©CHT (Clarion Handy Tools)

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.

CATEGORY:
Email MAPI

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

©CHT (Clarion Handy Tools)

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.

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

©CHT (Clarion Handy Tools)

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.

*** HNDNETMAPICLASS ***

 
CLASS:HNDNetMAPIClass
STATUS:Current
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:

©CHT (Clarion Handy Tools)

This class serves as a COM wrapper for CHT dll HNDNETMAPI.DLL. It provides basic MAPI connectivity for send/receive services using your installed email client (Outlook, Windows Live, Windows Mail). 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): HNDMAILMAPI.APP. Template(s): EmbedNetMAPIClasses.

This class is based on a DLL called HNDNETMAPI.DLL which CHT has built with C# and which connects to Clarion via COM-interop.

CATEGORY:
Email SMTP

*** 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:EmbedSMTPClasses

DESCRIPTION:

©CHT (Clarion Handy Tools)

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 EmbedNetSMTPClasses, 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.

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

©CHT (Clarion Handy Tools)

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.

CATEGORY:
Embedding Assist

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

©CHT (Clarion Handy Tools)

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

CATEGORY:
Error Handler

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

©CHT (Clarion Handy Tools)

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.

CATEGORY:
Experimental

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

©CHT (Clarion Handy Tools)

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.

CATEGORY:
Extended Controls - Animation

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

©CHT (Clarion Handy Tools)

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 an "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 template called "EmbedObject". But any template that incorporates HNDDiskEx (See HNDDiskEx) will make this class available to your procedure.

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

©CHT (Clarion Handy Tools)

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.

CATEGORY:
Extended Controls - Calendars

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

©CHT (Clarion Handy Tools)

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.

CATEGORY:
Extended Controls - Clocks

*** HNDDIGITALCLOCKCLASS ***

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

DESCRIPTION:

©CHT (Clarion Handy Tools)

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.

CATEGORY:
Extended Controls - Email

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

©CHT (Clarion Handy Tools)

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.

CATEGORY:
Extended Controls - Names And Addresses

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

©CHT (Clarion Handy Tools)

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.

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

*** ***

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 applications: HNDTEST.APP, HND6.APP

CATEGORY:
Extended Controls - Sliders And Progress

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

©CHT (Clarion Handy Tools)

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:

©CHT (Clarion Handy Tools)

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.

CATEGORY:
FTP FROM NET DLL

*** HNDNETFTPCLASS ***

 
CLASS:HNDNetFTPClass
STATUS:Current
PARENT:HNDError
COMPOSED:None
CATEGORY:FTP FROM NET DLL
DEMO:HNDFTPNET.APP
DLL:HNDNETFTP.DLL
TLB:HNDNETFTP.TLB
HEADER:HNDNETFTP.INC
CODE:HNDNETFTP.CLW
TEMPLATE:EmbeNetFTPClasses

DESCRIPTION:

©CHT (Clarion Handy Tools)

This class sets up an application to utilize standard FTP protocols from a Clarion application. The underlying capability comes from C# via a CHT C# DLL called HNDNETFTP.DLL and three code modules (also listed above), HNDNETFTP.INC, HNDNETFTP.CLW AND HNDNETFTP.TLB.

CATEGORY:
File And Memory Compression

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

*** ***
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.

CATEGORY:
File And Memory Encryption

*** HNDENCRYPT ***

 
CLASS:HNDEncrypt
STATUS:Current
PARENT:HNDBuffer
HNDError
COMPOSED:HNDDisk
HNDDosFile
HNDStrLib
HNDComLibrary
CATEGORY:File And Memory Encryption
DEMO:HNDXTEST.APP
HNDENCRYPT.APP
HNDCLIENTCL.APP
HNDCLIENTSV.APP
DLL:CAPICOM.DLL
TLB:HNDCAPIC.TLB
HEADER:HNDENCRP.INC
CODE:HNDENCRP.CLW
TEMPLATE:HEncrypt

DESCRIPTION:

©CHT (Clarion Handy Tools)

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: HNDCLIENTCL.APP, HNDLIENTSV.APP

Similarly a CHT data server app such as HNDLIENTSV.APP, is able to encrypt memory streams of data being sent to its corresponding clients: HNDCLIENTCL.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.

CATEGORY:
File Callback Functions

*** HNDFILENOTIFY ***

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

DESCRIPTION:

©CHT (Clarion Handy Tools)

Provides low-level Windows functionality to capture file notification messages from the operating system. See example: HNDMONITORDIRECTORYSVC.APP

CATEGORY:
GreenBar Browses

*** HNDGREENBAR ***

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

DESCRIPTION:

©CHT (Clarion Handy Tools)

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.

CATEGORY:
HZO File Creation

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

©CHT (Clarion Handy Tools)

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.

CATEGORY:
Hexadecimal Translation

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

©CHT (Clarion Handy Tools)

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)..

CATEGORY:
INI File And Registry

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

©CHT (Clarion Handy Tools)

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.

CATEGORY:
Independent File Class

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

©CHT (Clarion Handy Tools)

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.

CATEGORY:
Internet - HTTP Servers

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

©CHT (Clarion Handy Tools)

HNDSubscriptionServer derives CHT Server Base Class HNDBrowserServer.

CATEGORY:
Internet - HTTP Web Servers

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

©CHT (Clarion Handy Tools)

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.

Examples: HNDSLFSV.APP, HNDSLFSVFX.APP, HNDTYPE4UCRSERVERTEMPLATES.APP

CATEGORY:
Internet - JSON

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

©CHT (Clarion Handy Tools)

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.

CATEGORY:
Internet - Sockets

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

©CHT (Clarion Handy Tools)

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 JULY 2021 ** 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.

CATEGORY:
Internet Web View

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

©CHT (Clarion Handy Tools)

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.

CATEGORY:
Low Level Memory Data Functions

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

©CHT (Clarion Handy Tools)

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.

CATEGORY:
MS OFFICE CONTROL

*** HNDEXCELCLASS ***

 
CLASS:HNDExcelClass
STATUS:Current
PARENT:HNDError
COMPOSED:None
CATEGORY:MS OFFICE CONTROL
DEMO:HNDTESTEXCEL.APP
DLL:None
TLB:None
HEADER:HNDEXCEL.INC
CODE:HNDEXCEL.CLW
TEMPLATE:None

DESCRIPTION:

©CHT (Clarion Handy Tools)

MS OFFICE EXCEL controls: See example application HNDTESTEXCEL.APP

We've re-instated a demo application called HNDTESTEXCEL.APP and have added examples of exporting .XLS spreadsheets to .CSV as well as importing .CSV to be saved as .XLS.

This application comes with several test files: PEOPLE.XLS, PEOPLE_EXPORT.XLS and PEOPLE_IMPORT.CSV.

Several new functions were added into the HNDEXCELCLASS. These are called:
EXCEL.OpenCSV() which opens a comma delimited .CSV file, as well as function EXCEL.SaveAscSV() which provides an option to export and save to different CSV formats. The application contains commentary and example code to show how export and import are accomplished.

CATEGORY:
MS Office Interface

*** HNDACTIVEDOCUMENT ***

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

DESCRIPTION:

©CHT (Clarion Handy Tools)

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.

EXAMPLE APPLICATIONS:

HNDWORDDEMO.APP and HNDWORDINTERFACEDEMO.APP.

*** HNDAPPLICATION ***

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

DESCRIPTION:

©CHT (Clarion Handy Tools)

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.

EXAMPLE APPLICATIONS:

HNDWORDDEMO.APP and HNDWORDINTERFACEDEMO.APP.

*** HNDDOCUMENTS ***

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

DESCRIPTION:

©CHT (Clarion Handy Tools)

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.

EXAMPLE APPLICATIONS:

HNDWORDDEMO.APP and HNDWORDINTERFACEDEMO.APP.

*** HNDMSWORD ***

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

DESCRIPTION:

©CHT (Clarion Handy Tools)

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.

EXAMPLE APPLICATIONS:

HNDWORDDEMO.APP and HNDWORDINTERFACEDEMO.APP.

*** HNDOFFICECLASS ***

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

DESCRIPTION:

©CHT (Clarion Handy Tools)

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.

EXAMPLE APPLICATIONS:

HNDWORDDEMO.APP and HNDWORDINTERFACEDEMO.APP.

*** HNDREFWINDOW ***

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

DESCRIPTION:

©CHT (Clarion Handy Tools)

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 and this one, 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.

EXAMPLE APPLICATIONS:

HNDWORDDEMO.APP and HNDWORDINTERFACEDEMO.APP.

CATEGORY:
MS Office Interface (Word)

*** HNDOFFICEWORD ***

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

DESCRIPTION:

©CHT (Clarion Handy Tools)

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.

CATEGORY:
Network And Internet Connectivity

*** HNDIDIAL ***

 
CLASS:HNDIDial
STATUS:Current
PARENT:HNDError
COMPOSED:None
CATEGORY:Network And Internet Connectivity
DEMO:HNDSLFCMD.APP
DLL:None
TLB:None
HEADER:HNDIDIAL.INC
CODE:HNDIDIAL.CLW
TEMPLATE:None

DESCRIPTION:

©CHT (Clarion Handy Tools)

This low-level connectivity class is derived by the following classes in order of importance to CHT, with the most-used classes appearing first.

HNDHttp (HNDHTTP.CLW/HNDHTTP.INC),

HNDClient (HNDCLNT.CLW, HNDCLNT.INC),

HNDIMail (HNDIMAIL.CLW, HNDIMAIL.INC),

HNDInetFtp (HNDINETF.CLW, HNDINETF.INC),

HNDHttpAPI (HNDHTAPI.CLW/HNDHTAPI.INC),

HNDWinHTTP (HNDWHTTP.CLW/HNDWHTTP.INCF)

By way of example, the HNDHTTP class performs an InternetOpen function by calling HNDIDIAL's "Dial" function. Other classes such as HNDClient which derive HNDHTTP class, rely on the low-level connectivity provided by HNDIDIAL.

In all use-cases, HNDIDIAL is used indirectly, by another class which derives HNDIDIAL for the purposes of creating, maintaining and testing connectivity.

CATEGORY:
Network, Internet - HTTP/HTTPS Communications

*** HNDCLIENT ***

 
CLASS:HNDClient
STATUS:Current
PARENT:HNDError
HNDHttp
COMPOSED:HNDAppio
HNDBuffer
CATEGORY:Network, Internet - HTTP/HTTPS Communications
DEMO:HNDCLIENTCL.APP
DLL:None
TLB:None
HEADER:HNDCLNT.INC
CODE:HNDCLNT.CLW
TEMPLATE:EmbedHTTPClientFunctions

DESCRIPTION:

©CHT (Clarion Handy Tools)

This class is used by all Clarion applications of a "Client" nature that access data, files, or installations across the WEB, WAN or NETWORK. HNDClient derives directly from HNDHTTP which handles low-level web/wan/network 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.

EXAMPLE APPLICATIONS:

HNDSLFCL.APP,HNDFILCL.APP, HNDBRWCL.APP, HNDCLIENTCL.APP More...

*** HNDCLIENTHOOK ***

 
CLASS:HNDClientHook
STATUS:Current
PARENT:None
COMPOSED:HNDAppio
HNDClient
CATEGORY:Network, Internet - HTTP/HTTPS Communications
DEMO:HNDCLIENTCL.APP
DLL:None
TLB:None
HEADER:HNDCLNT.INC
CODE:HNDCLNT.CLW
TEMPLATE:EmbedHNDClientHook

DESCRIPTION:

©CHT (Clarion Handy Tools)

HNDClientHook 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.

EXAMPLE APPLICATIONS:

HNDSLFCL.APP,HNDFILCL.APP, HNDBRWCL.APP, HNDCLIENTCL.APP More...

*** HNDHTTP ***

 
CLASS:HNDHttp
STATUS:Important
PARENT:HNDIDial
COMPOSED:See Below
CATEGORY:Network, Internet - HTTP/HTTPS Communications
DEMO:HNDSLFCL.APP
DLL:None
TLB:None
HEADER:HNDHTTP.INC
CODE:HNDHTTP.CLW
TEMPLATE:EmbedHTTPFunctions

DESCRIPTION:

©CHT (Clarion Handy Tools)

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.

HNDHTTP makes extensive use of the following CHT classes:

HNDIDIAL (HNDIDIAL.CLW/HNDIDIAL.INC) (for connectivity)

HNDCONFIG (HNDCONFG.CLW/HNDCONFG.INC) (for configuration)

HNDDISK (HNDDISK.CLW/HNDDISK.INC) (for computer disk operations)

HNDENCRYPT (HNDENCRP.CLW/HNDENCRP.INC) (for encryption/decryption operations)

HNDBUFFER (HNDBUFR.CLW/HNDBUFR.INC) (for memory management operations)

See also HNDCLIENT (HNDCLNT.CLW/HNDCLNT.INC) which derives this HNDHTTP class for implementations of higher-level operations which create streaming, download or remote copying functionality using HNDHTTP.

OTHER DEMO APPLICATIONS:

HNDCLIENTCL.APP,HNDBRWCL.APP, HNDFILCL.APP, HNDINSTALLMYFILES.APP, HNDSLFCMD.APP

CATEGORY:
Querying, Locating, Filtering

*** HNDPARSE ***

 
CLASS:HNDParse
STATUS:Important
PARENT:HNDError
COMPOSED:None
CATEGORY:Querying, Locating, Filtering
DEMO:HND3.APP (See Below)
DLL:None
TLB:None
HEADER:HNDPARSE.INC
CODE:HNDPARSE.CLW
TEMPLATE:None

DESCRIPTION:

©CHT (Clarion Handy Tools)

HNDParse 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 language.

Probably 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 CHT Query Language for a comprehensive essay on the use of CHT Query Language to provide searching and filtering in your applications.

OTHER DEMO APPLICATIONS:

HNDACCES.APP, HNDSQL1.APP, HNDSQL2.APP, HNDSQL3.APP, HNDSQLPOPFAVEXPB.APP, HNDSQLEXPBQRY.APP, More...

CATEGORY:
Record Filtering Operations

*** HNDBRWFILTER ***

 
CLASS:HNDBrwFilter
STATUS:Important
PARENT:HNDParse
COMPOSED:HNDLocator
CATEGORY:Record Filtering Operations
DEMO:See Below
DLL:None
TLB:None
HEADER:HNDBRWFL.INC
CODE:HNDBRWFL.CLW
TEMPLATE:See Below

DESCRIPTION:

©CHT (Clarion Handy Tools)

HNDBrwFilter class 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 (EXPB), HandyMarkerBrowse (HMB), ListBoxBrowseExtender (LBX), 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.

APPLICABLE TEMPLATES:

ExplorerBrowse (EXPB), ListBoxBrowseExtender (LBX), HandyMarkerBrowse (HMB)

SOME QUERY TEMPLATES:

QueryParsingFilterControl (QPFC), PopFavoriteQueries_HMB, HandyMarkerBrowseLocatorControlEx and nearly a dozen more.

EXAMPLE DEMO APPLICATIONS:

HNDSCHOOL.APP, HNDACCES.APP, HNDSQL1.APP, HNDSQL2.APP, HNDSQL3.APP, HNDSQLPOPFAVEXPB.APP, HNDSQLEXPBQRY.APP, More...

CATEGORY:
SMS Messages

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

©CHT (Clarion Handy Tools)

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 CHT Class 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.

CATEGORY:
Sound And Video

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

©CHT (Clarion Handy Tools)

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.

CATEGORY:
Split Bar Functionality

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

©CHT (Clarion Handy Tools)

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.

CATEGORY:
Text Export

*** HNDEXPORT ***

 
CLASS:HNDExport
STATUS:Current
PARENT:HNDError
COMPOSED:None
CATEGORY:Text Export
DEMO:HND2.APP
HND3.APP
HNDACCESS.APP
HNDDRLDN.APP
HNDSQL5.APP
DLL:None
TLB:None
HEADER:HNDEXPOR.INC
CODE:HNDEXPOR.CLW
TEMPLATE:HandyQueryProcessLimiter

DESCRIPTION:

©CHT (Clarion Handy Tools)

Provides text export functionality to CHT Query Extension template HandyQueryProcessLimiter.

CATEGORY:
WINDOWS LOW-LEVEL API

*** HNDDISK ***

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

DESCRIPTION:

©CHT (Clarion Handy Tools)

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.

CATEGORY:
Window Callback Functions

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

©CHT (Clarion Handy Tools)

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.

CATEGORY:
Window Extension Class

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

©CHT (Clarion Handy Tools)

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.

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

©CHT (Clarion Handy Tools)

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.

CATEGORY:
Windows API

*** HNDDISKEX ***

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

DESCRIPTION:

©CHT (Clarion Handy Tools)

HNDDiskEx class derives from HNDDISK, which in turn derives from HNDUTIL. It 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 a secure, compact manner for web transfer.

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

©CHT (Clarion Handy Tools)

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

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

CATEGORY:
Windows Event Logging

*** HNDEVENTLOGGERCLASS ***

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

DESCRIPTION:

©CHT (Clarion Handy Tools)

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 an MS Windows utility called EVENTVWR.MSC.

A demonstration application called HNDEVENTLOGGERDEMO.APP illustrates use of the template and calling HNDEventLoggerClass methods.

CATEGORY:
Windows Media Player Interface

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

©CHT (Clarion Handy Tools)

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.

CATEGORY:
Windows Script Host Access

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

©CHT (Clarion Handy Tools)

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.

CATEGORY:
Windows Shell Library

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

©CHT (Clarion Handy Tools)

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.

CATEGORY:
XXX Docs Yet ToDo XXX

*** 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.

CATEGORY:
XXX SUMMARY DOCUMENT XXX

*** HNDIPADDRESS ***

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

DESCRIPTION:

©CHT (Clarion Handy Tools)

*** HNDINETFTP ***

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

DESCRIPTION:

©CHT (Clarion Handy Tools)

*** HNDJDOADAPTER ***

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

DESCRIPTION:

©CHT (Clarion Handy Tools)

*** HNDLOCATOR ***

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

DESCRIPTION:

©CHT (Clarion Handy Tools)

*** HNDMAILDEFAULTS ***

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

DESCRIPTION:

©CHT (Clarion Handy Tools)

*** HNDMAILSLOTCLASS ***

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

DESCRIPTION:

©CHT (Clarion Handy Tools)

*** HNDMSCDO ***

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

HNDDisk

HNDDosFile
CATEGORY:XXX SUMMARY DOCUMENT 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:

©CHT (Clarion Handy Tools)

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 SUMMARY DOCUMENT XXX
DEMO:None
DLL:None
TLB:None
HEADER:HNDMSCAL.INC
CODE:HNDMSCAL.CLW
TEMPLATE:None

DESCRIPTION:

©CHT (Clarion Handy Tools)

*** HNDNETDRIVEDATACLASS ***

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

DESCRIPTION:

©CHT (Clarion Handy Tools)

*** HNDNETWLANAPICLASS ***

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

DESCRIPTION:

©CHT (Clarion Handy Tools)

*** HNDOSCONTROL ***

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

DESCRIPTION:

©CHT (Clarion Handy Tools)

*** HNDOFFICEOUTLOOK ***

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

DESCRIPTION:

©CHT (Clarion Handy Tools)

*** HNDPROGRESS ***

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

DESCRIPTION:

©CHT (Clarion Handy Tools)

*** HNDQUERYBUILDER ***

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

DESCRIPTION:

©CHT (Clarion Handy Tools)

*** HNDRGBCOLOR ***

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

DESCRIPTION:

©CHT (Clarion Handy Tools)

*** HNDREGISTRY ***

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

DESCRIPTION:

©CHT (Clarion Handy Tools)

*** HNDREPORTENGINE ***

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

DESCRIPTION:

©CHT (Clarion Handy Tools)

*** HNDRULER ***

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

DESCRIPTION:

©CHT (Clarion Handy Tools)

*** HNDSCRIPTER ***

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

DESCRIPTION:

©CHT (Clarion Handy Tools)

*** HNDSERVICE ***

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

DESCRIPTION:

©CHT (Clarion Handy Tools)

*** HNDSHELL ***

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

DESCRIPTION:

©CHT (Clarion Handy Tools)

*** HNDSIZES ***

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

DESCRIPTION:

©CHT (Clarion Handy Tools)

*** HNDSLIDER ***

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

DESCRIPTION:

©CHT (Clarion Handy Tools)

*** HNDSPELL ***

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

DESCRIPTION:

©CHT (Clarion Handy Tools)

*** HNDSTEPCLASS ***

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

DESCRIPTION:

©CHT (Clarion Handy Tools)

*** HNDSTRLIB ***

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

DESCRIPTION:

©CHT (Clarion Handy Tools)

*** HNDSTRING ***

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

DESCRIPTION:

©CHT (Clarion Handy Tools)

*** HNDSTRINGCLASS ***

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

DESCRIPTION:

©CHT (Clarion Handy Tools)

*** HNDTEXT ***

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

DESCRIPTION:

©CHT (Clarion Handy Tools)

*** HNDVIEWADAPTER ***

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

DESCRIPTION:

©CHT (Clarion Handy Tools)

*** HNDVIEWMANAGER ***

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

DESCRIPTION:

©CHT (Clarion Handy Tools)

*** HNDWINHTTP ***

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

DESCRIPTION:

©CHT (Clarion Handy Tools)

*** HNDBODY ***

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

DESCRIPTION:

©CHT (Clarion Handy Tools)

*** HNDENTRY ***

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

DESCRIPTION:

©CHT (Clarion Handy Tools)

*** HNDFOOTER ***

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

DESCRIPTION:

©CHT (Clarion Handy Tools)

*** HNDFORM ***

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

DESCRIPTION:

©CHT (Clarion Handy Tools)

*** HNDGLOBAL ***

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

DESCRIPTION:

©CHT (Clarion Handy Tools)

*** HNDHEADER ***

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

DESCRIPTION:

©CHT (Clarion Handy Tools)

*** HNDHTML ***

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

DESCRIPTION:

©CHT (Clarion Handy Tools)

*** HNDINPUT ***

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

DESCRIPTION:

©CHT (Clarion Handy Tools)

*** HNDPAGE ***

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

DESCRIPTION:

©CHT (Clarion Handy Tools)

*** HNDTABLE ***

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

DESCRIPTION:

©CHT (Clarion Handy Tools)