CHT Templates
HOME CLASSES TPLS APPS
Templates, Classes, Utilities, Apps, Projects

CHT TEMPLATES
NEW/REVISED: 2019
(BUILD: 23C.02.00)
Generated:
August 11, 2019

CATEGORY:
APP Configuration
*** aachtcontrolpanel ***

  
VERSION:23C.02.00
TYPE:EXTENSION
CATEGORY:APP Configuration
SCOPE:APPLICATION
CLASSES:None
PARENT:None
  

DESCRIPTION:

** REVISED MAY 2019 **

This template is a © CHT Global Control Panel. Populating any single CHT template causes this "supervisory" template to appear automatically in the global extensions area of your application. From this interface you can adjust global CHT settings used by other templates in our suite.

AACHTControlPanel also provides useful "state-of-your-application" reporting features. The following global templates are designated as children of AACHTControlPanel, and as such, you must select AACHTControlPanel, before child templates become visible for inclusion in your application. Child templates are: AACHTControlPanelClose, INIFile, VblFileNames, ApplicationImagesEx, HandyVersionResource, HandyNTServiceFunctions HNDCMPControlPanel, ExportClassesByName, ExportClassesByCategory, and FieldLevelValidationCode.

AACHTControlPanel generates and controls a number of equates and compiler pragmas that are important for the proper functioning and linking of our classes into your application. For this reason, all CHT templates check for the existence of this template in your application and re-populate it if it is removed.

*** embedhndconfigfunctions ***

  
VERSION:23C.02.00
TYPE:EXTENSION
CATEGORY:APP Configuration
SCOPE:ABC PROCEDURE
CLASSES:HNDConfig
PARENT:Any ABC/CHT Procedure
  

DESCRIPTION:

*** REVISED FEBRUARY 2019 ***

This extension creates a single, local instance of the CHT HNDConfig Classes. All methods appear in the "Local Objects" section of the procedure to which this extension is applied and may be embedded in the usual ABC fashion.

HNDConfig functions are also incorporated either by derviation or composition into the following CHT classes which use it for connectivity configuration: HNDHTTP, HNDINETFTP, HNDNETFTP, HNDPOP, HNDNETSMTP, HNDSMTP. If your procedure already uses templates which incorporate any of these classes into your application, there is already a HNDConfig class available to you and use of this template may be redundant.

*** globalincludehndconfigfunctions ***

  
VERSION:23C.02.00
TYPE:EXTENSION
CATEGORY:APP Configuration
SCOPE:APPLICATION
CLASSES:HNDConfig
PARENT:AACHTControlPanel
  

DESCRIPTION:

*** REVISED FEBRUARY 2019 ***

This extension template globally instantiates a single instance of the CHT HNDConfig class. You may change the default instance name if you wish. This template is a child of AACHTControlPanel and can only be populated to your application once AACHTControlPanel has been added.

NOTE: This template is auto-populated (once) to the global area of your application, when any one of our "CHT Snap" functionalities is enabled on the global template called Application Snap-Ins.

EXAMPLE APPLICAION: HNDBRWCL.APP

*** handythreadlimiter ***

  
VERSION:23C.02.00
TYPE:EXTENSION
CATEGORY:APP Configuration
SCOPE:ABC PROCEDURE
CLASSES:None
PARENT:Window(ABC)
  

DESCRIPTION:

*** REVISED MARCH 2019 ***

This extension template limits a procedure to one instance only. A second call to an already-running procedure brings that procedure to the top, even if minimized. This template provides no developer input dialogs and requires no further configuration.

*** inifile ***

  
VERSION:23C.02.00
TYPE:EXTENSION
CATEGORY:APP Configuration
SCOPE:APPLICATION
CLASSES:HNDIni HNDError
PARENT:AACHTControlPanel
  

DESCRIPTION:

*** REVISED FEBRUARY 2019 ***

This extension extends the capabilities of the ABC IniClass.

** Developers can optionally establish an alternative INI file for app configuration settings written by CHT templates and classes.

** Developers can optionally establish an application INI file that's tied to the name of the application exe, such that when the exe is renamed, even after compilation, the INI takes on the new name of your exectuable file.

** Developers can optionally override the directory location of the application INI file as configured on the ABC global properties dialog.

** Developers may optionally redirect all application configuration I/O that would normally go to an INI file or to the Windows Registry into a dictionary table provided by the application itself. This functionality works in conjunction with another CHT template called INITableIOProcedure which must be created first, and selected on this template interface. It also populates a child template (with no user interface) to all of the procedures in your application. The child template writes code into your Frame procedure in order to reference the frame window and frame thread to two global HNDIni Class properties.

As a result you are able to set messages to the frame window status bar with a call to HIni.SetFrameWindowStatus(). Events can likewise be posted from any procedure in your application to the frame window accept loop with HIni.PostFrameWindowEvent(). This template also provides optional "Run Once" capability. If your application is already running on a given computer, subsequent attempts to run it can be short circuited. See the "Run Once" button elsewhere on this template's interface.

INIFile is a child of global template AACHTControlPanel and as such, must be installed to the global extensions area by first installing AACHTControlPanel and inserting with that template selected.

CATEGORY:
APP Help
*** embedstandardwebpageheader ***

  
VERSION:23C.02.00
TYPE:EXTENSION
CATEGORY:APP Help
SCOPE:ABC PROCEDURE
CLASSES:None
PARENT:None
  

DESCRIPTION:

*** REVISED MAY 2019 ***

This template may be used to build apps that generate HTML Help files as do HNDTPXHT.APP and HNDCLXHT.APP and others.

While it's normal to develop style sheets in downloadable files so the the same set of style sheets may be shared via link statements amongst numerous web pages and even different web sites, there are situations where it's more expedient to have the style sheet internal to the HTML document in order to make the help document viewable off-line.

This template can be added to HTML generating procedures to either assist in generating both screen and print style sheets internal to HTML help documents such as those created by the example applications cited above.

At this point in time, most items of a design and cosmetic nature can be changed on the template interface so that the things you're most likely to want changed are under your direct control. Template changes can be applied in the application's generated output at generation-time by entering constant values directly on the template or, in the event you want to apply changes at application run-time, using variables that the application looks up elsewhere in a configuation file.

Not all settings are fully variable, but all key ones are. If you find this template currently too restricting, please let us know and we'll make all settings fully configurable. This template now generates HTML5 compatible output.

*** embedstandardwebpageheadershort ***

  
VERSION:23C.02.00
TYPE:EXTENSION
CATEGORY:APP Help
SCOPE:ABC PROCEDURE
CLASSES:None
PARENT:None
  

DESCRIPTION:

*** REVISED JUNE 2019 ***

This template may be used to build apps that generate HTML from XML templates built with CHTSNAPEDIT.EXE. While it's normal to develop style sheets in downloadable files so the the same set of style sheets may be shared via link statements amongst numerous web pages and even different web sites, there are situations where it's more expedient to have the style sheet internal to the HTML document in order to make the help document or HTML email viewable off-line. This template can be added to HTML generating procedures to either assist in generating a screen style sheet that is internal to HTML help documents and HTML emails.

At this point in time, most items of a design and cosmetic nature can be changed on the template interface so that the things you're most likely to want changed are under your direct control. Template changes can be applied in the application's generated output at application generation-time by entering constant values directly on the template or, in the event you want to apply changes at application run-time, using variables that the application looks up elsewhere in a configuation file. Not all settings are fully variable, but all key ones are. If you find this template currently too restricting, please let us know and we'll make all settings fully configurable. This template now generates HTML5 compatible output.

Since May 2019 we've begun adding features into CHTSNAPEDIT.EXE and into this template that allow the developer to add XML embeds that are used as the complete source of certain generated HTML items that were previously generated by whatever parser is built with this template, for instance HNDXML2HTMLGEN.APP. That puts generate-output control more completely in the XML source template, where it should be, not in the parser. Ultimately the parser should act only to cut and paste the XML embed points into whole cloth, HTML, while checking for errors in the XML and replacing missing XML embed points with generated default values only when the source XML is incomplete. Some example applications are: HNDXML2HTMLGEN.APP, HNDDOCUMENTBUILDER.APP, HNDTYPE4SERVERPEOPLE.APP

*** handyhelpbuttoncontrol ***

  
VERSION:23C.02.00
TYPE:CONTROL
CATEGORY:APP Help
SCOPE:WINDOW
CLASSES:HNDWindow
PARENT:Window(ABC)
  

DESCRIPTION:

*** REVISED MARCH 2019 ***

This template helps you to compose a detailed help message box, useful for pop-up instructions. The help message pops up when the accompanying button control is pressed, or an accepted event is posted to the control. Example application HNDCONTROLTPLS.APP

*** handyhelpfilefetch ***

  
VERSION:23C.02.00
TYPE:CODE
CATEGORY:APP Help
SCOPE:ABC PROCEDURE
CLASSES:None
PARENT:EmbedWindowFunctions
  

DESCRIPTION:

*** REVISED MARCH 2019 ***

This code template helps you to make a Help Request to your website. Call up and display, almost any kind of local or remote file, HTML, PDF, TXT, MP4 (video) from your server or network to display some information for your users. We use HTML and PDF instead of traditional help files. Training videos are great too! Windows will start the correct app to deal with the file based on it's known extension. This template is a child of CHT template EmbedWindowFunctions, and as such that template must be applied to your procedure first, before this one can be added. Note that EmbedWindowFunctions is also a child template with it's own, pre-requisites. Demonstration application: HNDCONTROLTPLS.APP

*** handyhelpfiletopicbutton ***

  
VERSION:23C.02.00
TYPE:CONTROL
CATEGORY:APP Help
SCOPE:WINDOW
CLASSES:None
PARENT:Window(ABC)
  

DESCRIPTION:

*** REVISED MARCH 2019 ***

This control template places a help button on your application window. Enter the name of your HTML help file assumed to be located in the .EXE directory.

The template will also optionally accept a variable pointing to the help file. The default help topic is the current procedure name.

Demonstration application: HNDCONTROLTPLS.APP

CATEGORY:
APP Styling
*** applicationimagesex ***

  
VERSION:23C.02.00
TYPE:EXTENSION
CATEGORY:APP Styling
SCOPE:APPLICATION
CLASSES:None
PARENT:AACHTControlPanel
  

DESCRIPTION:

*** REVISED JULY 2019 ***

© CHT ApplicationImagesEx establishes global level application-wide styling settings including wallpapers, icons, colors, fonts and common control properties. All globally applied application settings established here, may be overridden on the "extensions" menu of your window procedures on a child template called ProcedureImagesEx. ApplicationImagesEx provides several "stylesheet" interfaces that, when completed, may be saved to a "master configuration" which can then be read into other applications.

Aside from reducing the drudgery of having to style (wallpaper, icons, colors, fonts, common control properties) on every window in every app, ApplicationImagesEx helps to make your application suites stylistically consistent. While applications can be "style-frozen" to make them unique from the master configuration, developers can, by simply "Recalling" an the "Master Configuration" stylistic settings it can immediately be restyled to the currently configured standard.

ApplicationImagesEx can track the images used in your application, list them in a special IMAGES file, and even copy images scattered around your drive to the standard images directory or to a directory provided on the template. This makes the task of moving an application to another machine really easy since the images it uses are all in one place.

ApplicationImagesEx can be made to control display settings such as fonts, colors, charset, button styles, prompt styles, entry field background color, and more.

ApplicationImagesEx includes and makes available the icons required when the EmbedWindowFunctions template implements CHT extended menus. This template, can if necessary, be disabled so as to eliminate any stylistic impact it has on your application while still supporting other CHT templates that from-time-to time require it's services for other than stylistic reasons.

ApplicationImagesEx is a child of global template AACHTControlPanel and as such, must be installed to the global extensions area by first installing AACHTControlPanel and inserting with that template selected.

ApplicationImagesEx also includes an optional global switch which when set, causes the template to generate code for Clarion-10-style extended menus in all application windows, not just the FRAME window. The ABC templates provide only for extended (colored) menus in the master FRAME window.

*** procedureimagesex ***

  
VERSION:23C.02.00
TYPE:EXTENSION
CATEGORY:APP Styling
SCOPE:ABC PROCEDURE
CLASSES:None
PARENT:AACHTControlPanel ApplicationImagesEx
  

DESCRIPTION:

*** REVISED FEBRUARY 2019 ***

This extension allows overriding of the global wallpaper and icon settings put in place by the global version of this template: ApplicationImagesEx. You may select new images or remove the defaults. Template property dialogs on this template are enabled only on procedures with windows.

If the parent template ApplicationImagesEx has been set disabled, this template will not appear in procedure windows unless already populated. In that case too, template property dialogs are disabled and the actions of this child template are neutralized.

CATEGORY:
APP Versioning
*** appbuilddatetimestamp ***

  
VERSION:23C.02.00
TYPE:CONTROL
CATEGORY:APP Versioning
SCOPE:WINDOW
CLASSES:None
PARENT:Window(ABC)
  

DESCRIPTION:

*** REVISED MARCH 2019 ***

This control template places a compile-time date/time stamp on your window indicating when the application was last generated and compiled. Demonstration application: HNDCONTROLTPLS.APP

*** appbuildnumberstamp ***

  
VERSION:23C.02.00
TYPE:CONTROL
CATEGORY:APP Versioning
SCOPE:WINDOW
CLASSES:None
PARENT:Window(ABC)
  

DESCRIPTION:

*** REVISED MARCH 2019 ***

This control template places a compile-time build number or version stamp on your window indicating the official "build number" or "version" of your application. Once the template has been applied you need only to insert your Build/Version EQUATE and recompile. NOTE: The CHT global template AACHTControlPanel creates an application "version" stamp called HPROP:AppVersionEx that can be easily modified on that template's interface and provides a "Notes-To-Myself" field to which version-specific change notes may be added. Example application: HNDCONTROLTPLS.APP

*** appcopyrightstamp ***

  
VERSION:23C.02.00
TYPE:CONTROL
CATEGORY:APP Versioning
SCOPE:WINDOW
CLASSES:None
PARENT:Window(ABC)
  

DESCRIPTION:

*** REVISED MARCH 2019 ***

This control template places a compile-time copyright stamp on your window indicating an official copyright notice about your application. Once the template has been applied you only need only to insert the EQUATE containing your copyright stamp and recompile. Demonstration application: HNDCONTROLTPLS.APP

CATEGORY:
Backup Procedures
*** zip backup to cht server via http ***

  
VERSION:23C.02.00
TYPE:JUMPSTART
CATEGORY:Backup Procedures
SCOPE:PROCEDURE
CLASSES:Various
PARENT:Various
  

DESCRIPTION:

*** REVISED FEBRUARY 2019 ***

This is a remote backup procedure that may be incorporated into any application to provide file backup services to a CHT-Style file server located on your intranet or the internet via your high-speed internet connection. Standard .ZIP file compression is provided with optional encryption and subdirectory storage, as well as a convenient, all-in-one-place server connection dialog. Move or copy your zip to the configured remote location at the click of a button. HTTP or HTTPS protocol is used to move or copy your files to the server. NOTE: See demonstration application: HNDZIPNPOSTTOCHTSERVER.APP, and accompanying server HNDFILSV.APP.

*** zip backup to ftp server ***

  
VERSION:23C.02.00
TYPE:JUMPSTART
CATEGORY:Backup Procedures
SCOPE:PROCEDURE
CLASSES:Various
PARENT:Various
  

DESCRIPTION:

*** REVISED FEBRUARY 2019 ***

This is a remote backup procedure that may be incorporated into any application to provide file backup services to an FTP server located on your intranet or provided via your internet connection by an ISP or similar provider. Standard .ZIP file compression is provided with optional encryption and subdirectory storage, as well as a convenient, all-in-one-place server connection dialog. Move or copy your zip to the configured remote location at the click of a button. FTP protocol is used to move or copy your files to the server. NOTE: See demonstration application: HNDZIPNFTP.APP.

*** zip backup to iis/apache servers via http ***

  
VERSION:23C.02.00
TYPE:JUMPSTART
CATEGORY:Backup Procedures
SCOPE:PROCEDURE
CLASSES:Various
PARENT:Various
  

DESCRIPTION:

*** REVISED FEBRUARY 2019 ***

This is a remote backup procedure that may be incorporated into any application to provide file backup services to an IIS or Apache internet server located on your intranet or provided via your internet connection by an ISP or similar provider. Standard .ZIP file compression is provided with optional encryption and subdirectory storage, as well as a convenient, all-in-one-place server connection dialog. Move or copy your zip to the configured remote location at the click of a button. HTTP or HTTPS protocol may be used as required. NOTE: See demonstration application: HNDHTTPZIPNPOST.APP.

CATEGORY:
Browse Extensions
*** activelinkbrowsecolumn_ewf ***

  
VERSION:23C.02.00
TYPE:CONTROL
CATEGORY:Browse Extensions
SCOPE:WINDOW
CLASSES:HNDWindow
PARENT:EmbedWindowFunctions
  

DESCRIPTION:

*** REVISED MARCH 2019 ***

 

This control enables an active startup link in one of your browse columns. The browse may be any ABC browse or any CHT-template-extended browse. It requires that the EmbedWindowFunctions template be placed on the window first.

When a valid Web-Url is found in the row being clicked, clicking the browse column enabled by this template starts your default Internet browser enabling you to jump to the web site found there.

Similarly when a valid Email-Address is found in the row being clicked, clicking the browse column enabled by this template starts your default email client, enabling you to create an email message to the address found there.

Finally, when the correctly pathed name of an executable is found in the row being clicked, clicking the browse column enabled by this template starts (runs) that application similarly to starting the application from a menu.

This template shares an embeddable instance of the HNDWindow Classes. This template is a child template of CHT EmbedWindowFunctions and as such, that template must be present before this one can be added. Example application HND2.APP procedure Demobrowse2 - find a column with an HTTP link or email address link in the address column.

*** browselazydisplay ***

  
VERSION:23C.02.00
TYPE:EXTENSION
CATEGORY:Browse Extensions
SCOPE:ABC PROCEDURE
CLASSES:None
PARENT:BrowseBox(ABC)
  

DESCRIPTION:

*** REVISED MARCH 2019 ***

Multiple browses populated on the same window tend to flicker when the browse window first opens and each browse receives a reset during initialization. This template applied to ONLY ONE of your browses will temporarily slow the DISPLAY() function long enough to smooth out this effect. This template is a child of BrowseBox(ABC). In other words, it can only be applied to an ABC Browse. EXAMPLE APPLICATION: HND2.APP, Procedure DemoBrowse1.')

*** browselesseditformprocedure ***

  
VERSION:23C.02.00
TYPE:PROCEDURE
CATEGORY:Browse Extensions
SCOPE:WINDOW
CLASSES:None
PARENT:Window(ABC)
  

DESCRIPTION:

*** REVISED JANUARY 2019 ***

This template builds an edit form procedure that permits you to traverse, query and edit file/table records without the use of a browse procedure. This template creates an independent procedure that may be called directly from a button or menu to edit a file without requiring the intermediate use of a browse to first isolate the record to be edited. This template uses a standard ABC window template as its parent. So in most respects and for embedding purposes it is very similar to an ABC window or form procedure.

*** explorerbrowse ***

  
VERSION:23C.02.00
TYPE:EXTENSION
CATEGORY:Browse Extensions
SCOPE:ABC PROCEDURE
CLASSES:HNDBrowse HNDBrwFilter
PARENT:BrowseBox(ABC)
  

DESCRIPTION:

*** REVISED JULY 2019 ***

This template transforms a standard single sort browse into an Windows Explorer-like multi sort browse. When a column is clicked with the programmer-determined alert key, regardless of whether the field in that column is a key field or not, that column becomes the current sort column. NOTE: When an unkeyed field is used as the basis for the column sort order, the driver is forced to build a dynamic key.

This can seriously slow the performance of ISAM-Style data bases. Use with discretion. This extension creates a single, local instance of the HNDBrowse Classes.

This template is a child of BrowseBox(ABC). In other words, this template can only be applied to an existing ABC Browse.

*** handycolumnhider ***

  
VERSION:23C.02.00
TYPE:EXTENSION
CATEGORY:Browse Extensions
SCOPE:WINDOW
CLASSES:None
PARENT:BrowseBox(ABC)
  

DESCRIPTION:

*** REVISED MARCH 2019 ***

This extension attaches to any standard ABC browse and enables it with column hide and unhide capability. Click the browse header with a hot key designated here and a list of browse columns is presented. Use the "Unhide" menu to unhide a column, and the "Hide" menu to hide a column. NOTE: This template is not designed to be used with any other Clarion Handy Tools browse enhancement template. A "pure" ABC browse is required. Other CHT browse enhancement templates already contain this capability natively. Example Application: HND2.APP, procedure DemoBrowse1().

*** handyfileviewbuilder ***

  
VERSION:23C.02.00
TYPE:EXTENSION
CATEGORY:Browse Extensions
SCOPE:ABC PROCEDURE
CLASSES:None
PARENT:Window(ABC), Report(ABC), Process(ABC) Browse(ABC)
  

DESCRIPTION:

*** REVISED MAY 2019 ***

This template builds a view based on file/table definitions in your dictionary. Drop it on any procedure (Browse, Process, Report, Window) that has tables defined in the procedure tables schematic. To generate a view based on table fields, complete the "File/View Information" tab by selecting the fields that should be populated to your queue. A view created by this template can be used with CHT template FileLoadBrowseExtender in combination with HandyFileQueueBuilder and a CHT method called SQLFillQueueFromView() to build a fully functional, SQL queue-based browse independent of any ABC browse templates. As of December 2008, this template now also works with ABC Source procedures.

Example Application: HNDTYPE4SERVERPEOPLE.APP

*** handymarkerbrowse ***

  
VERSION:23C.02.00
TYPE:CONTROL
CATEGORY:Browse Extensions
SCOPE:ABC PROCEDURE
CLASSES:HNDMarkerBrowse
PARENT:BrowseBox(ABC)
  

DESCRIPTION:

*** REVISED JULY 2019 ***

This template automatically gives your ABC browse extended characteristics such as Windows-style record marking with Shift-click for marking ranges, Ctrl-Click for toggling and Single-Click for marking individual records. Full keyboard-only marking support is also provided. ----------------------------------------------------------------

SUMMARY OF KEYSTROKES USED FOR IN-QUEUE RECORD MARKING

** MouseLeft

Mark record in single record mode.

** ShiftMouseLeft

Mark end of range between selected and current row clicked.

** CtrlShiftMouseLeft

Continues marking from selected to current roe clicked.

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

----------------------------------------------------------------

The template adds "Explorer-like" features to your browses including column-header-click sort orders, reverse sortation and more.

Several accessory controls HandyMarkerBrowseLocatorControl, HandyMarkerBrowseLocatorControlEx, QueryParsingFilterControl, PopFavoriteQueries_HMB, HandyMarkerBrowseOneColumnQueryControl, HandyMarkerBrowseQueryGoButton, HandyMarkerBrowseReportButton, HandyMarkerBrowseRowMoveButtons, HandyMarkerBrowseSetsControl HandyMarkerBrowseProcessButton, HandyMarkerBrowseProcessLimiter, HandyMarkerBrowseReportLimiter easily add sophisticated record locating and filtering, attach processes and reports passing them marked records for processing or printing.

This template is capable of redirecting all INI/IO to the Windows registry or into an application data table. In order to implement this INI/IO feature you must populate CHT global template INIFile by first selecting CHT Global AACHTControlPanel and inserting the INIFile template.

HMB EXAMPLE APPLICATIONS: The CHT toolkit uses HMB browses more than any other so there are numerous examples. A couple of our favourites are HNDCMP.APP and HNDFBACKBUILDER.APP.

*** setexplorerbrowsequerybuilderbindings ***

  
VERSION:23C.02.00
TYPE:EXTENSION
CATEGORY:Browse Extensions
SCOPE:ABC PROCEDURE
CLASSES:None
PARENT:None
  

DESCRIPTION:

*** REVISED MARCH 2019 ***

This template can be used to generate field bindings for CHT Query Builder into a CHT Method called SetDynamicBindings(BYTE xFlag=False). Multiple instances of this template can be used to bind fields from different tables with unique "friendly" names for query purposes using CHT Query Builder. SetDynamicBindings is not called anywhere by CHT classes. This method is a single location in which to aggregate a number of different query build field bindings to be inserted before calls to QBInterface() the CHT Query Builder interface in order to change the list of fields presented for query building. See example application HND2.APP on procedure DemoBrowse4().

CATEGORY:
Bulk File Operations
*** bulk file copying with progress window ***

  
VERSION:23C.02.00
TYPE:JUMPSTART
CATEGORY:Bulk File Operations
SCOPE:PROCEDURE
CLASSES:Various
PARENT:Various
  

DESCRIPTION:

*** REVISED FEBRUARY 2019 ***

This source procedure provides for bulk file copying from one directory to another including an animated progress window. The function accepts parameters: (STRING xWinTitle, STRING xSrc, STRING xTgt, STRING xQuery) NOTE: This jump start procedure is based on a procedure with the same name found in the demo application HNDCPYDM.APP.

*** bulk file deleting with progress window ***

  
VERSION:23C.02.00
TYPE:JUMPSTART
CATEGORY:Bulk File Operations
SCOPE:PROCEDURE
CLASSES:Various
PARENT:Various
  

DESCRIPTION:

*** REVISED FEBRUARY 2019 ***

This source procedure provides for bulk file deleting from a source directory including an animated progress window. The function accepts parameters: (STRING xWinTitle, STRING xSrc, STRING xQuery) NOTE: This jump start procedure is based on a procedure with the same name found in the demo application HNDCPYDM.APP.

*** bulk file moving with progress window ***

  
VERSION:23C.02.00
TYPE:JUMPSTART
CATEGORY:Bulk File Operations
SCOPE:PROCEDURE
CLASSES:Various
PARENT:Various
  

DESCRIPTION:

*** REVISED FEBRUARY 2019 ***

' This source procedure provides for bulk file moving from one directory to another including an animated progress window. The function accepts parameters:'),PROP(PROP:Font,'Segoe UI (STRING xWinTitle, STRING xSrc, STRING xTgt, STRING xQuery) NOTE: This jump start procedure is based on a procedure with the same name found in the demo application HNDCPYDM.APP.

*** bulk file renaming with progress window ***

  
VERSION:23C.02.00
TYPE:JUMPSTART
CATEGORY:Bulk File Operations
SCOPE:PROCEDURE
CLASSES:Various
PARENT:Various
  

DESCRIPTION:

*** REVISED FEBRUARY 2019 ***

This source procedure provides for bulk file renaming in a source directory including an animated progress window. The function accepts parameters:'),PROP(PROP:Font,'Segoe UI (STRING xWinTitle, STRING xSrc, STRING xPrefix, STRING xQuery) NOTE: This jump start procedure is based on a procedure with the same name found in the demo application HNDCPYDM.APP.

CATEGORY:
CDO Send Email
*** cdo send email ***

  
VERSION:23C.02.00
TYPE:JUMPSTART
CATEGORY:CDO Send Email
SCOPE:PROCEDURE
CLASSES:Various
PARENT:Various
  

DESCRIPTION:

*** REVISED FEBRUARY 2019 ***

This procedure provides SMTP-quality send capabilities, using your installed email client via the Microsoft Collaboration Data Objects COM classes. The procedure provides a user interface to collect user send data (with defaults available from the Windows registry) It handles both HTML mail and TEXT mail.'),PROP(PROP:Font,'Segoe UI

CATEGORY:
CHT Snap-In
*** applicationsnapins ***

  
VERSION:23C.02.00
TYPE:EXTENSION
CATEGORY:CHT Snap-In
SCOPE:APPLICATION
CLASSES:None
PARENT:AACHTControlPanel
  

DESCRIPTION:

*** REVISED JANUARY 2019 ***

This global extension template is an incorporation point in your application for a number of stand-alone, mostly-single-function executables which have, by and large, been a growing and ever-evolving part of CHT's HNDAPPS suite of demo and utility applications for many years.

At this time, CHT has provided Snap-Ins for HTTP file movement, File compression and decompression, EMAIL protocols of various sorts, File Encryption and End User Support.

The individual "Snap-In" items listed and described below are the components which are fully available to you with any given CHT Build or Build Update. This list continues to evolve over time as this template's interface continues to evolve.

• Snap-Ins Presently Available Via This Template: (6)

CHTSNAPSEND.EXE, CHTSNAPEDIT.EXE, CHTSNAPGET.EXE, CHTSNAPMAPI.EXE,
CHTSNAPSMTP.EXE, CHTSNAPZIP.EXE AND CHTSNAP2PDF.EXE

CHT "Snap-Ins" are written in C#. The source code for these is available separately (priced individually) by special request.

• CHT Batch-Bots Presently Available Via This Template: (10)

HNDMAKEHZO.EXE, HNDMAILMAPI.EXE, HNDMAILCDO.EXE, HNDMAILSMTP.EXE
HNDSEARCH.EXE, HNDSLFCMD.EXE, HNDMAILNET.EXE, HNDZIPNET.EXE,
HNDENCRYPT.EXE,
HNDFTPNET.EXE and HNDXML2HTMGEN.EXE

CHT "Batch-Bots" are written in Clarion. The source code for these is available in your HNDAPPS directory as a standard part of your CHT toolkit.

CHT "Batch-Bots" and CHT "Snap-Ins" are primarily command-line utilities meant to perform a specific task independent of a standard windows-form interface.
Some examples are: zipping a file (CHTSNAPZIP.EXE), or sending a file to a web-server (HNDSLFCMD.EXE) or fetching a file from a web-server (CHTSNAPGET.EXE), and so on.

These executables, while fully stand-alone, so they can be used from the DOS command-line, are also viable application components used as you would a DLL, so they can be run also from inside a Clarion or C# application. Each runs as an independent process spawned from inside your application. Specific instructions as to how to perform any individual task are passed to these executables, on the command-line.

For example: CHTSNAPZIP zz MYAPP.ZIP c:\mydir\myapp.exe
This set of commandline instructions, creates a zip called "MYAPP.ZIP" from an EXE called MYAPP.EXE.

• CHT "Utility" Applications Now Available Via This Template: (4)

CHT's Application Snap-Ins template presently provides in-app launch capability for these "Utility Applications":
HNDPRINTHTML.EXE, HNDPREVIEWER.EXE, HNDSETUP.EXE, HNDSQLTRACE.EXE

CHT "Utility Executables" are written in Clarion. The source code for these is also available, like "Batch-Bots", in your HNDAPPS directory as a standard part of the CHT Toolkit. CHT "Utility Executables" differ from "Snap-Ins" and "Batch-Bots" in that they have full-blown Windows-Form interfaces from which configuration and task instructions are requested from the application. They generally don't need to be launched though some can be with command-line instructions.

CATEGORY:
Calendar Procedures
*** jumpstart com calendar a ***

  
VERSION:23C.02.00
TYPE:JUMPSTART
CATEGORY:Calendar Procedures
SCOPE:PROCEDURE
CLASSES:Various
PARENT:Various
  

DESCRIPTION:

*** REVISED FEBRUARY 2019 ***

This procedure uses HandyComCalendarControl to provide a basic, fully user-customizable, popup calendar with a standard ABC Window procedure as its basis. Color, shape, size, event interception, are all completely under developer control and no more difficult to modify than an ordinary ABC window. HandyComCalendarControl switches, and event handling embeds, have been configured so that the procedure can can be dropped and compiled into an application with no changes if you want to use it as-is.')

CATEGORY:
Client/Server
*** embedhttpclientfunctions ***

  
VERSION:23C.02.00
TYPE:EXTENSION
CATEGORY:Client/Server
SCOPE:ABC PROCEDURE
CLASSES:HNDClient
PARENT:Any ABC/CHT Procedure
  

DESCRIPTION:

*** REVISED FEBRUARY 2019 ***

This extension creates a single, local instance of the HNDClient Classes. All methods appear in the "Local Objects" section of the procedure to which this extension is applied and may be embedded in the usual ABC fashion.

This CHT HNDClient Class is used to turn a Clarion application into a web client of various sorts. This provides your application the capability to communicate via HTTP/HTTPS protocol cross the network, WAN, or WE to exchange data and/or files with a Server (TYPE 1,2,3 or 4) at the other end.

Encryption and compression are built into all transactions and exchanges under developer control.

Further, access permission to the server is strictly controlled by various means under user control. Access can be server-level, or user-specific level as required by the implementation.

Example application: HNDBRWCL.APP, HNDFLCLN.APP, HNDINSTALLMYFILES.APP

*** embedhttpfunctions ***

  
VERSION:23C.02.00
TYPE:EXTENSION
CATEGORY:Client/Server
SCOPE:ABC PROCEDURE
CLASSES:HNDHttp
PARENT:Any ABC/CHT Procedure
  

DESCRIPTION:

*** REVISED FEBRUARY 2019 ***

This extension creates a single, local instance of the HNDHttp Classes. All methods appear in the "Local Objects" section of the procedure to which this extension is applied and may be embedded in the usual ABC fashion. A number of other templates in the CHT tool kit, with specific, rather than general functionality, also attach HNDHttp to your procedure.Consider using these where applicable.

*** globalincludehndclientfunctions ***

  
VERSION:23C.02.00
TYPE:EXTENSION
CATEGORY:Client/Server
SCOPE:APPLICATION
CLASSES:HNDClient HNDClientHook
PARENT:AACHTControlPanel
  

DESCRIPTION:

*** REVISED FEBRUARY 2019 ***

This extension template globally instantiates a single instance of the CHT HNDClient class. You may change the default instance name if you wish. This template is a child of AACHTControlPanel and can only be populated to your application once AACHTControlPanel has been added.

*** handywebclientbrowseprocedure ***

  
VERSION:23C.02.00
TYPE:PROCEDURE
CATEGORY:Client/Server
SCOPE:WINDOW
CLASSES:HNDHttp HNDClient HNDClientHook
PARENT:Window(ABC)
  

DESCRIPTION:

*** REVISED JANUARY 2019 ***

This template builds an HTTP client browse that can access a CHT server back-end serving up any Clarion compatible data table whether ISAM or SQL. A snap-in client form template HandyWebClientFormProcedure, a snap-in client report template HandyWebClientReportProcedure and a snap-in client process procedure HandyWebClientProcessProcedure provides a full complement of Web Client procedure types. With this template and it's accompanying snap-ins, building a fast, reliable across-the-web Client Server application accessing a very ordinary computer using a very standard DSL connection is no more difficult than building an regular Clarion desk-top application. This technology is considerably faster than Clarion's IP driver and it natively incorporates data compression, encryption, back-end views and CHT's query language system. An example client application is provided (HNDMTSCL.APP) which accesses CHT's forum data tables using an example server application called HNDMTSSV.APP.

*** handywebclientbrowseprocedureex ***

  
VERSION:23C.02.00
TYPE:PROCEDURE
CATEGORY:Client/Server
SCOPE:WINDOW
CLASSES:HNDHttp HNDClient HNDClientHook
PARENT:Window(ABC)
  

DESCRIPTION:

*** REVISED JANUARY 2019 ***
This template builds an HTTP client browse that can access a CHT server back-end serving up any Clarion compatible data table whether ISAM or SQL. This template differs from HandyWebClientBrowseProcedure, only in the query control being auto-populated. This "Ex" version of the template brings with it a newer, "snazzier" query control based in PopFavoriteQueries_CSBL, where the "CSBL" stands for Client Server Browse ListBox.
A snap-in client form template HandyWebClientFormProcedure, a snap-in client report template HandyWebClientReportProcedure and a snap-in client process procedure HandyWebClientProcessProcedure provide a full complement of Web Client procedure types. With this template and it's accompanying snap-ins, building a fast, reliable across-the-web Client/Server application accessing a very ordinary computer using a very standard DSL connection is no more difficult than building an regular Clarion desk-top application. This technology is considerably faster than Clarion's IP driver and it natively incorporates data compression, encryption, back-end views and CHT's query language system. An example client application is provided (HNDMTSCL.APP) which accesses CHT's forum data tables using an example server application called HNDMTSSV.APP. Other example clients are: HNDCLIENTCLLEAN1VIEW.APP,HNDCLIENTCLLEAN4VIEW.APP.

*** handywebclientprocessprocedure ***

  
VERSION:23C.02.00
TYPE:PROCEDURE
CATEGORY:Client/Server
SCOPE:WINDOW
CLASSES:HNDHttp HNDClient HNDClientHook
PARENT:HandySourceProcedure_TS
  

DESCRIPTION:

*** REVISED JANUARY 2019 ***

This template builds an HTTP client process that can access a CHT server back-end serving up any Clarion compatible data table whether ISAM or SQL. With this template, a reliable across-the-web Client Server process procedure accessing a very ordinary computer using a very standard DSL connection is no more difficult than building an regular Clarion ABC process. This technology is considerably faster than Clarion's IP driver and it natively incorporates data compression, encryption, back-end views and CHT's query language system. An example client application is provided (HNDCLIENTCLLEAN1VIEW.APP) which accesses CHT's forum data tables using an example server application called HNDCLIENTSVLEAN1VIEW.APP. A Web Client starting-point application is provided in demo application HNDCLIENTCLLEAN.APP. And a Web Client Server starting-point application is provided in demo application HNDCLIENTSVLEAN.APP.

*** handywebclientreportprocedure ***

  
VERSION:23C.02.00
TYPE:PROCEDURE
CATEGORY:Client/Server
SCOPE:REPORT
CLASSES:HNDHttp HNDClient HNDClientHook
PARENT:HandySourceProcedure_TS
  

DESCRIPTION:

*** REVISED JANUARY 2019 ***

This template builds an HTTP client report that can access a CHT server back-end serving up any Clarion compatible data table whether ISAM or SQL. With this template, a reliable across-the-web Client Server report procedure accessing a very ordinary computer using a very standard DSL connection is no more difficult than building an regular Clarion ABC repot. This technology is considerably faster than Clarion's IP driver and it natively incorporates data compression, encryption, back-end views and CHT's query language system. An example client application is provided (HNDCLIENTCLLEAN1VIEW.APP) which accesses CHT's forum data tables using an example server application called HNDCLIENTSVLEAN1VIEW.APP. A Web Client starting-point application is provided in demo application HNDCLIENTCLLEAN.APP. And a Web Client Server starting-point application is provided in demo application HNDCLIENTSVLEAN.APP.

*** handywebclientupdateformprocedure ***

  
VERSION:23C.02.00
TYPE:PROCEDURE
CATEGORY:Client/Server
SCOPE:WINDOW
CLASSES:HNDClient HNDHttp HNDClientHook
PARENT:Window(ABC)
  

DESCRIPTION:

*** REVISED JANUARY 2019 ***

This template builds a Web Client-Server Update Form that can access a CHT server back-end serving up any Clarion compatible data table whether ISAM or SQL. With this template, building a fast, reliable across-the-web update form accessing a very ordinary computer using a very standard DSL connection is no more difficult than building an regular Clarion desk-top application. This technology is considerably faster than Clarion's IP driver and it natively incorporates data compression, encryption, back-end views and CHT's query language system. An example client application is provided (HNDMTSCL.APP) which accesses CHT's forum data tables using an example server application called HNDMTSSV.APP.

*** handywebclientupdateformprocedure_lbx ***

  
VERSION:23C.02.00
TYPE:PROCEDURE
CATEGORY:Client/Server
SCOPE:WINDOW
CLASSES:HNDClient HNDHttp
PARENT:Window(ABC)
  

DESCRIPTION:

*** REVISED JANUARY 2019 ***

This template builds a Web Client-Server Update Form that can access a CHT server back-end serving up any Clarion compatible data table whether ISAM or SQL. With this template, building a fast, reliable across-the-web update form accessing a very ordinary computer using a very standard DSL connection is no more difficult than building an regular Clarion desk-top application. This technology is considerably faster than Clarion's IP driver and it natively incorporates data compression, encryption, back-end views and CHT's query language system. An example client application is provided (HNDMTSCL.APP) which accesses CHT's forum data tables using an example server application called HNDMTSSV.APP.

CATEGORY:
Client/Server Browse
*** listboxbrowseextender ***

  
VERSION:23C.02.00
TYPE:CONTROL
CATEGORY:Client/Server Browse
SCOPE:WINDOW PROCEDURE
CLASSES:HNDFileLoadBrowse
PARENT:Window(ABC)
  

DESCRIPTION:

*** REVISED JULY 2019 ***

This template automatically gives your queue-based listboxes extended characteristics such as Windows-style record marking with shift-click for marking ranges, ctrl-click for toggling and single-click for marking individual records. Full keyboard-only marking support is also provided.


SUMMARY OF KEYSTROKES USED FOR IN-QUEUE RECORD MARKING
  • MouseLeft - Mark record in single record mode.
  • ShiftMouseLeft - Mark end of range between selected and current row.
  • CtrlShiftMouseLeft - Continues marking from selected to current row.
  • 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.


The template adds "Explorer-like" features to your listboxes including column-header-click sort orders, reverse sortation and more. For FAST ABC-Browse-Template-FREE browses with local data or remote data this template is your ticket to browse data location freedom! To create a from-scratch ListBoxBrowsExtender procedure that includes a window and a listbox ready for configuration, use the procedure template called "ListBox BrowseExtender Client Server Browse".

Some example applications that read data from files are: HNDPEOPLE_LBX.APP, HNDLBXDM.APP, HNDLBXSQL.APP and HNDLBXSQLEX.APP. Some example applications that DO NOT read from data files are: HNDBULKSIGNER.APP. NOTE: This template now provides dialogs for template-based conditional column icon assignments. (May 2019)



CATEGORY:
Coding Assistance
*** chtbestpracticeembedclass ***

  
VERSION:23C.02.00
TYPE:EXTENSION
CATEGORY:Coding Assistance
SCOPE:ABC PROCEDURE
CLASSES:None
PARENT:Any ABC/CHT Procedure
  

DESCRIPTION:

*** REVISED APRIL 2019 ***

This template assists the developer with "Best Practice" embedding as discussed in several CHT papers written by Gus M. Creces concerning the topic of Clarion embedding practices. These papers may be found here:

Clarion Embedding Best Practice - Paper One

Clarion Embedding Best Practice - Paper Two

Clarion Embedding Best Practice - Paper Three

Example applications:

HNDBRWCL.APP, HNDBACKUPCONFIG.APP HNDCODESIGN.APP, HNDSMTPNETSEMO.APP, HNDNETZIPDEMO.APP HNDSQLTRACE.APP, HNDBATCHRUNNER.APP, HNDBULKMAILBATCHER.APP, More...

*** embedinformation ***

  
VERSION:23C.02.00
TYPE:CODE
CATEGORY:Coding Assistance
SCOPE:ABC PROCEDURE
CLASSES:None
PARENT:None
  

DESCRIPTION:

*** REVISED JUNE 2019 ***

This code template drops boiler-plate code into any embed point where this code template is dropped, in order to identify that embed point. This generated code may be copied to any other user-created template to enable it to embed code into that specifically identified embed point.

*** embedview ***

  
VERSION:23C.02.00
TYPE:CODE
CATEGORY:Coding Assistance
SCOPE:ABC PROCEDURE
CLASSES:HNDViewAdapter
PARENT:Window(ABC), Report(ABC), Process(ABC)
  

DESCRIPTION:

*** REVISED JANUARY 2019 ***

This code template generates a table view with an accompanying ABC ViewManager for tables selected here, into the data area of your procedure. When the "Generate View Scan" switch is checked ON, code is generated in the HNDViewAdapter class method PerformTableScan to scan the VIEW from top to bottom using a developer-determined key and filter. As matching records enter their respective buffers, a further call is made to HNDViewAdapter class method TakeNextTableRecord so that any action or change required on matching records may be acted on by developer-placed embeds. Example applications: HNDCLXHT.APP, HNDTPXHT.APP, HNDAPPSPLASHTOHTML.APP.

*** postcontrolevent ***

  
VERSION:23C.02.00
TYPE:CODE
CATEGORY:Coding Assistance
SCOPE:ABC PROCEDURE
CLASSES:None
PARENT:None
  

DESCRIPTION:

*** REVISED APRIL 2019 ***

This code template assists with posting events to controls on your procedure window.

*** postcontroleventonalert ***

  
VERSION:23C.02.00
TYPE:CODE
CATEGORY:Coding Assistance
SCOPE:ABC PROCEDURE
CLASSES:None
PARENT:ABCWindow
  

DESCRIPTION:

*** REVISED APRIL 2019 ***

This code template assists with posting events to controls on your procedure window. It intercepts an alertkey on a developer-designated window control and posts an event across to another control.

CATEGORY:
Create Application Versioning Functions
*** app main frame procedure five ***

  
VERSION:23C.02.00
TYPE:JUMPSTART
CATEGORY:Create Application Versioning Functions
SCOPE:PROCEDURE
CLASSES:Various
PARENT:Various
  

DESCRIPTION:

*** REVISED FEBRUARY 2019 ***

This #5 Main Frame Procedure provides a starting MAIN MDI FRAME that can be quickly modified with your own specifics to make a container frame for your new application and implements CHT templates AACHTControlPanel, ApplicationImagesEx, HandyVersionResource, and EmbedWindowFunctions to provide standard services such as dynamic icon menus, run-once, application-in-tray, application versioning and more.

*** app main frame procedure four ***

  
VERSION:23C.02.00
TYPE:JUMPSTART
CATEGORY:Create Application Versioning Functions
SCOPE:PROCEDURE
CLASSES:Various
PARENT:Various
  

DESCRIPTION:

*** REVISED FEBRUARY 2019 ***

' This #4 Main Frame Procedure provides a starting MAIN MDI FRAME that can be quickly modified with your own specifics to make a container frame for your new application and implements CHT templates AACHTControlPanel, ApplicationImagesEx, HandyVersionResource, and EmbedWindowFunctions to provide standard services such as dynamic icon menus, run-once, application-in-tray, application versioning and more.

*** app main frame procedure one ***

  
VERSION:23C.02.00
TYPE:JUMPSTART
CATEGORY:Create Application Versioning Functions
SCOPE:PROCEDURE
CLASSES:Various
PARENT:Various
  

DESCRIPTION:

*** REVISED FEBRUARY 2019 ***

This #1 Main Frame Procedure provides a starting MAIN MDI FRAME that can be quickly modified with your own specifics to make a container frame for your new application and implements CHT templates AACHTControlPanel, ApplicationImagesEx, HandyVersionResource, and EmbedWindowFunctions to provide standard services such as dynamic icon menus, run-once, application-in-tray, application versioning and more.

*** app main frame procedure six ***

  
VERSION:23C.02.00
TYPE:JUMPSTART
CATEGORY:Create Application Versioning Functions
SCOPE:PROCEDURE
CLASSES:Various
PARENT:Various
  

DESCRIPTION:

*** REVISED FEBRUARY 2019 ***

This #6 Main Frame Procedure provides a starting MAIN MDI FRAME that can be quickly modified with your own specifics to make a container frame for your new application and implements CHT templates AACHTControlPanel, ApplicationImagesEx, HandyVersionResource, and EmbedWindowFunctions to provide standard services such as dynamic icon menus, run-once, application-in-tray, application versioning and more.

*** app main frame procedure three ***

  
VERSION:23C.02.00
TYPE:JUMPSTART
CATEGORY:Create Application Versioning Functions
SCOPE:PROCEDURE
CLASSES:Various
PARENT:Various
  

DESCRIPTION:

*** REVISED FEBRUARY 2019 ***

This #3 Main Frame Procedure provides a starting MAIN MDI FRAME that can be quickly modified with your own specifics to make a container frame for your new application and implements CHT templates AACHTControlPanel, ApplicationImagesEx, HandyVersionResource, and EmbedWindowFunctions to provide standard services such as dynamic icon menus, run-once, application-in-tray, application versioning and more.

*** app main frame procedure two ***

  
VERSION:23C.02.00
TYPE:JUMPSTART
CATEGORY:Create Application Versioning Functions
SCOPE:PROCEDURE
CLASSES:Various
PARENT:Various
  

DESCRIPTION:

*** REVISED FEBRUARY 2019 ***

This #2 Main Frame Procedure provides a starting MAIN MDI FRAME that can be quickly modified with your own specifics to make a container frame for your new application and implements CHT templates AACHTControlPanel, ApplicationImagesEx, HandyVersionResource, and EmbedWindowFunctions to provide standard services such as dynamic icon menus, run-once, application-in-tray, application versioning and more.

*** new splash screen #1 ***

  
VERSION:23C.02.00
TYPE:JUMPSTART
CATEGORY:Create Application Versioning Functions
SCOPE:PROCEDURE
CLASSES:Various
PARENT:Various
  

DESCRIPTION:

*** REVISED FEBRUARY 2019 ***

This #1 Splash Screen Procedure provides an example splash screen that can be quickly modified with your own specifics to make a splash for your own applications. This example implements several CHT templates that let your splash provide up-to-date build information about your application as you recompile and re-release.

*** new splash screen #2 ***

  
VERSION:23C.02.00
TYPE:JUMPSTART
CATEGORY:Create Application Versioning Functions
SCOPE:PROCEDURE
CLASSES:Various
PARENT:Various
  

DESCRIPTION:

*** REVISED FEBRUARY 2019 ***

This #2 Splash Screen Procedure provides for bulk file renaming in a source directory including an animated progress window. The function accepts parameters:'),PROP(PROP:Font,'Segoe UI (STRING xWinTitle, STRING xSrc, STRING xPrefix, STRING xQuery) NOTE: This jump start procedure is based on a procedure with the same name found in the demo application HNDCPYDM.APP.

*** new splash screen #3 ***

  
VERSION:23C.02.00
TYPE:JUMPSTART
CATEGORY:Create Application Versioning Functions
SCOPE:PROCEDURE
CLASSES:Various
PARENT:Various
  

DESCRIPTION:

*** REVISED FEBRUARY 2019 ***

This #3 Splash Screen Procedure provides an example splash screen that can be quickly modified with your own specifics to make a splash for your own applications. This example implements several CHT templates that let your splash provide up-to-date build information about your application as you recompile and re-release.

*** new splash screen #4 ***

  
VERSION:23C.02.00
TYPE:JUMPSTART
CATEGORY:Create Application Versioning Functions
SCOPE:PROCEDURE
CLASSES:Various
PARENT:Various
  

DESCRIPTION:

*** REVISED FEBRUARY 2019 ***

This #4 Splash Screen Procedure provides an example splash screen that can be quickly modified with your own specifics to make a splash for your own applications. This example implements several CHT templates that let your splash provide up-to-date build information about your application as you recompile and re-release.

*** new splash screen #5 ***

  
VERSION:23C.02.00
TYPE:JUMPSTART
CATEGORY:Create Application Versioning Functions
SCOPE:PROCEDURE
CLASSES:Various
PARENT:Various
  

DESCRIPTION:

*** REVISED FEBRUARY 2019 ***

This #5 Splash Screen Procedure provides an example splash screen that can be quickly modified with your own specifics to make a splash for your own applications. This example implements several CHT templates that let your splash provide up-to-date build information about your application as you recompile and re-release.

*** new splash screen #6 ***

  
VERSION:23C.02.00
TYPE:JUMPSTART
CATEGORY:Create Application Versioning Functions
SCOPE:PROCEDURE
CLASSES:Various
PARENT:Various
  

DESCRIPTION:

*** REVISED FEBRUARY 2019 ***

This #6 Splash Screen Procedure provides an example splash screen that can be quickly modified with your own specifics to make a splash for your own applications. This example implements several CHT templates that let your splash provide up-to-date build information about your application as you recompile and re-release.

*** new splash screen #7 ***

  
VERSION:23C.02.00
TYPE:JUMPSTART
CATEGORY:Create Application Versioning Functions
SCOPE:PROCEDURE
CLASSES:Various
PARENT:Various
  

DESCRIPTION:

*** REVISED FEBRUARY 2019 ***

This #7 Splash Screen Procedure Procedure provides an example splash screen that can be quickly modified with your own specifics to make a splash for your own applications. This example implements several CHT templates that let your splash provide up-to-date build information about your application as you recompile and re-release. A Microsoft I.E Browser control is populated.

*** new splash screen #8 ***

  
VERSION:23C.02.00
TYPE:JUMPSTART
CATEGORY:Create Application Versioning Functions
SCOPE:PROCEDURE
CLASSES:Various
PARENT:Various
  

DESCRIPTION:

*** REVISED FEBRUARY 2019 ***

This #8 Splash Screen Procedure provides an example splash screen that can be quickly modified with your own specifics to make a splash for your own applications. This example implements several CHT templates that let your splash provide up-to-date build information about your application as you recompile and re-release.

CATEGORY:
Create Email Clients
*** select email addresses ***

  
VERSION:23C.02.00
TYPE:JUMPSTART
CATEGORY:Create Email Clients
SCOPE:PROCEDURE
CLASSES:Various
PARENT:Various
  

DESCRIPTION:

*** REVISED FEBRUARY 2019 ***

This ABC Window procedure provides functionality to pop up a generic HandyMarkerBrowse of email addresses imported from Windows Live Mail via .CSV exported from Windows Live Mail. The browse requires that your application dictionary contains two .TPS file definitions used by the procedure. These defintions are: WindowsMailFull and WindowsMailTps. Prepared file defintions ready-to-be-imported to your application may be located in HNDZIPNEMAIL.DCT, HNDZIPNFTP.DCT or HNDO.DCT. This jump start procedure is based on a procedure with the same name found in the demo application HNDZIPNEMAIL.APP.

CATEGORY:
Create Encryption Related Functions
*** bulk file encrypt decrypt ***

  
VERSION:23C.02.00
TYPE:JUMPSTART
CATEGORY:Create Encryption Related Functions
SCOPE:PROCEDURE
CLASSES:Various
PARENT:Various
  

DESCRIPTION:

*** REVISED FEBRUARY 2019 ***

This source procedure provides for bulk file encryption/decryption from one directory to another including an animated progress window. The function accepts parameters: (STRING xWinTitle, STRING xSrc, STRING xTgt, STRING xQuery) This jump start procedure is based on a procedure with the same name found in the demo application HNDCPYDM.APP.

*** low-level encryption examples ***

  
VERSION:23C.02.00
TYPE:JUMPSTART
CATEGORY:Create Encryption Related Functions
SCOPE:PROCEDURE
CLASSES:Various
PARENT:Various
  

DESCRIPTION:

*** REVISED FEBRUARY 2019 ***

This source procedure illustrates with examples how to call and utilize a number of low-level file and memory encryption functions made available by attaching the HNDENCRYPT class (HNDENCRP.INC/.CLW) to a procedure. To understand what is going on, import this source procedure and open it in the ABC Embeditor. Liberal use of comments will help with understanding. This jump start procedure is based on a procedure with the same name found in the demo application HNDXTEST.APP.

CATEGORY:
Create Help-File Download Clients
*** http help download client ***

  
VERSION:23C.02.00
TYPE:JUMPSTART
CATEGORY:Create Help-File Download Clients
SCOPE:PROCEDURE
CLASSES:Various
PARENT:Various
  

DESCRIPTION:

*** REVISED FEBRUARY 2019 ***

This procedure provides a way to have users start a help file with an optional website server check for the latest version of the file. If the file has changed, it is downloaded and then started. If the file has not changed it is started only.

CATEGORY:
Create SMS Clients
*** send sms via smtp gateway ***

  
VERSION:23C.02.00
TYPE:JUMPSTART
CATEGORY:Create SMS Clients
SCOPE:PROCEDURE
CLASSES:Various
PARENT:Various
  

DESCRIPTION:

*** REVISED FEBRUARY 2019 ***

This ABC Window procedure provides an SMS-send-user-interface procedure that includes SMTP configuration and SMS address lookup. This procedure sends SMS via the user''s standard SMTP email server gateway and requires the recipient''s cell phone and SMS Gateway Domain to be known before a message can be sent. This requirement, of course, is no different than requiring a recipient''s email address to be known before an email can be sent. Prepared file defintions ready-to-be-imported to your application may be located in HNDZIPNEMAIL.DCT. This jump start procedure is based on a procedure with the same name found in the demo application HNDSMSMESSAGE.APP.

CATEGORY:
Create Short-cuts and Application Links
*** create short-cut link #1 ***

  
VERSION:23C.02.00
TYPE:JUMPSTART
CATEGORY:Create Short-cuts and Application Links
SCOPE:PROCEDURE
CLASSES:Various
PARENT:Various
  

DESCRIPTION:

*** REVISED FEBRUARY 2019 ***

This procedure provides a way to have users start your application by clicking a link to an icon on the desktop or in a program group, in fact to any one of a dozen locations. It includes a class called HNDShellLinkClass which incorporates the capability to create Windows Short Cuts right into your application.

*** create short-cut link #2 ***

  
VERSION:23C.02.00
TYPE:JUMPSTART
CATEGORY:Create Short-cuts and Application Links
SCOPE:PROCEDURE
CLASSES:Various
PARENT:Various
  

DESCRIPTION:

*** REVISED FEBRUARY 2019 ***

This procedure provides a way to have users start your application by clicking a link to an icon on the desktop or in a program group, in fact to any one of a dozen locations. It calls an executeable called HNDSHCUT.EXE which you must include with your application for this to work.

CATEGORY:
Create Various CHT Client Types
*** basic http test client for hndslfsv.app ***

  
VERSION:23C.02.00
TYPE:JUMPSTART
CATEGORY:Create Various CHT Client Types
SCOPE:PROCEDURE
CLASSES:Various
PARENT:Various
  

DESCRIPTION:

*** REVISED FEBRUARY 2019 ***

This JumpStart is a basic test client to illustrate insecure requests (not protected by a password and logon) sent to a basic or custom HTTP server like example application HNDSLFSV.APP. The client illustrates downloading and starting or displaying a file as well as sending a User Custom Request. User Custom Requests may be intercepted and processed in the server in a standardized way that lets developers insert request-specific code to suit their particular needs.

*** http web data client (appwiz) ***

  
VERSION:23C.02.00
TYPE:JUMPSTART
CATEGORY:Create Various CHT Client Types
SCOPE:PROCEDURE
CLASSES:Various
PARENT:Various
  

DESCRIPTION:

*** REVISED FEBRUARY 2019 ***

This application works as a data client to demo app HNDMTSSV.APP or any app created with the wizard based on HNDMTSSV.APP. It requires the dictionary HNDMTSSV.DCT and a base procedure called HTTPClientMain() be installed on a new, "Stub" application before importing via this wizard is recommended. This client application serves to illustrate how to log in and then make a variety of data requests and data updates from a Clarion client application (using the HNDCLNT class) to a CHT Server configured for Client Server Mode.

*** http web file client get files ***

  
VERSION:23C.02.00
TYPE:JUMPSTART
CATEGORY:Create Various CHT Client Types
SCOPE:PROCEDURE
CLASSES:Various
PARENT:Various
  

DESCRIPTION:

*** REVISED FEBRUARY 2019 ***

This procedure works in conjunction with the "Web File Client Login/Config" procedure to provide file download capabilities from a CHT "Secure HTTP'),PROP(PROP:Font,'Segoe UI'),PROP(PROP:FontSize, 10) File Server". Features include compression and encryption as configured the Login/Config component, as well as filtered remote file selection using CHT query language and fully asynchronous behavior with clear progress and error reporting. This procedure is used in the CHT demonstration application called HNDFLCLN.APP.

*** http web file client login/config only ***

  
VERSION:23C.02.00
TYPE:JUMPSTART
CATEGORY:Create Various CHT Client Types
SCOPE:PROCEDURE
CLASSES:Various
PARENT:Various
  

DESCRIPTION:

*** REVISED FEBRUARY 2019 ***

This procedure is the "Web File Client Login/Config" component of HNDFLCLN.APP only. Use it for any Web Client Login/Config requirement. 1) Request full two-way, 128 bit encryption of all communications including login. 2) Request compression of all communications large enough to benefit from compression. 3) Request email reminder of login parameters. 4) Adjust progress reporting settings. 5) Adjust asynchronous data block settings to to allow for thicker or thinner internet connections. This procedure is used in the CHT demonstration application called HNDFLCLN.APP.

*** http web file client login/get/put complete ***

  
VERSION:23C.02.00
TYPE:JUMPSTART
CATEGORY:Create Various CHT Client Types
SCOPE:PROCEDURE
CLASSES:Various
PARENT:Various
  

DESCRIPTION:

*** REVISED FEBRUARY 2019 ***

This JumpStart presents an interface that performs all login/configuration steps for a CHT Web File Client application. Included are these capabilities: 1) Request full two-way, 128 bit encryption of all communications including login. 2) Request compression of all communications large enough to benefit from compression. 3) Request email reminder of login parameters. 4) Adjust progress reporting settings. 5) Adjust asynchronous data block settings to to allow for thicker or thinner internet connections. This procedure is used in the CHT demonstration application called HNDFLCLN.APP. NOTE: This JumpStart is a complete application like HNDFLCLN.APP. It should be created from a new, empty application containing only Main() as a TODO.

*** http web file client put files ***

  
VERSION:23C.02.00
TYPE:JUMPSTART
CATEGORY:Create Various CHT Client Types
SCOPE:PROCEDURE
CLASSES:Various
PARENT:Various
  

DESCRIPTION:

*** REVISED FEBRUARY 2019 ***

This procedure works in conjunction with the "Web File Client Login/Config" procedure to provide file upload capabilities to a CHT "Secure HTTP File Server". Features include compression and encryption as configured by the Login/Config component, as well as filtered local file selection using CHT query language and fully asynchronous behavior with clear progress and error reporting. This procedure is used in the CHT demonstration application called HNDFLCLN.APP.

CATEGORY:
Create Various CHT Server Types
*** secure http browser data server (appwiz) ***

  
VERSION:23C.02.00
TYPE:JUMPSTART
CATEGORY:Create Various CHT Server Types
SCOPE:PROCEDURE
CLASSES:Various
PARENT:Various
  

DESCRIPTION:

*** REVISED FEBRUARY 2019 ***

' This wizard creates a complete, secure HTTP Browser Data Server. The resulting application is a dyamic-page, fully end-user-interactive, web server. While this example server is dedicated to acting as a Forum Server the principles built in, are meant to apply to all dynamic, interactive web page servers. We''ve had this server - or an earlier variation of it - in active service since 2002. It has evolved since then, as have the templates and classes on which it is based. But the fundamental principles and practices in its design have remained pure ABC. If you understand Clarion, and ABC Object Oriented Principles, you can duplicate a server of this type using The Clarion Handy Tools. CHT Servers of this type tie directly into the TCP/IP libraries built into the Windows operating system. Beyond that, all Internet listening, sending activities, data packaging, compression, encryption and so forth are written in Clarion OOP source code available as part of the fully-integrated CHT tool kit. Principle server templates in use are: EmbedBrowserServer and BrowserServerInitializationControls, accompanied by a group of page-builder templates that are able to generate XHTML or pure Javascript Data Objects. Included with the CHT Tool Kit is a multi-function editor/scripter (HNDSCRPT.APP) which is used to design the client-side/browser side pages and forms, including CSS (Cascading Style Sheets) and JS (Javascript) Subroutines.

NOTE 1: This is a browser server version of CHT''s support forum -- from which to learn and with which to build forward. The back end views portions of the server are already installed and working.

NOTE 2: This is an "App Wizard" which creates a complete self-standing server application. It should be imported to a freshly-created "stub" application containing only a ServerMain(ToDo) procedure. All procedures present in your "stub" application including ServerMain() will be removed and replaced.

NOTE 3: The application created is based on CHT demo server HNDMTSNG.APP, so it requires your "stub" application to contain the files availabe in HNDMTSNG.DCT. All documentation, videos and companion applications for HNDMTSNG.APP pertain also to the application created by this wizard, until it is modified to your own requirements.

*** secure http client data server (appwiz) ***

  
VERSION:23C.02.00
TYPE:JUMPSTART
CATEGORY:Create Various CHT Server Types
SCOPE:PROCEDURE
CLASSES:Various
PARENT:Various
  

DESCRIPTION:

*** REVISED FEBRUARY 2019 ***

This wizard creates a complete, secure HTTP Client Data Server. The resulting application is a fully end-user-interactive, web client server. While this example server is dedicated to acting as a Forum Server, the principles built in, are meant to apply to all dynamic, interactive web client data servers. We''ve had this server - or an earlier variation of it - in active service since 2002. It has evolved since then, as have the templates and classes on which it is based. But the fundamental principles and practices in its design have remained pure ABC. If you understand Clarion, and ABC Object Oriented Principles, you can duplicate a server of this type using The Clarion Handy Tools. CHT Servers of this type tie directly into the TCP/IP libraries built into the Windows operating system. Beyond that, all Internet listening, sending activities, data packaging, compression, encryption and so forth are written in Clarion OOP source code available as part of the fully-integrated CHT tool kit.

NOTE 1: This is a client data server version of CHT''s support forum -- from which to learn and with which to build forward. The back end views portions of the server are already installed and working.

NOTE 2: This is an "App Wizard" which creates a complete self-standing server application. It should be imported to a freshly-created "stub" application containing only a ServerMain(ToDo) procedure. All procedures present in your "stub" application including ServerMain() are removed and replaced.

NOTE 3: The application created is based on CHT demo server HNDMTSSV.APP, so it requires your "stub" application to contain the files availabe in HNDMTSSV.DCT. All documentation, videos and companion applications for HNDMTSSV.APP pertain also to the application created by this wizard, until it is modified to your own requirements.

*** secure http file server (appwiz) ***

  
VERSION:23C.02.00
TYPE:JUMPSTART
CATEGORY:Create Various CHT Server Types
SCOPE:PROCEDURE
CLASSES:Various
PARENT:Various
  

DESCRIPTION:

*** REVISED FEBRUARY 2019 ***

This wizard creates a complete, secure HTTP File Server that both accepts file uploads from a client application or sends files to a client application. The application produced, as a secure, desktop file server without the requirement of serving files from an ISP using a generic server like IIS (Microsoft Internet Information Server). Designed to interact with a client application also built with the CHT tool kit, it can compress and encrypt the files it sends and uncompress/unencrypt the files it receives. If you''ve been in the habit of using FTP for these kinds of operations, consider replacing FTP with this totally secure HTTP alternative. When encryption is enabled, all client-to-server and server-to-client interactions are entirely encrypted on all standard HTTP ports without switching to HTTPS.

*** server configuration for browser-server ***

  
VERSION:23C.02.00
TYPE:JUMPSTART
CATEGORY:Create Various CHT Server Types
SCOPE:PROCEDURE
CLASSES:Various
PARENT:Various
  

DESCRIPTION:

*** REVISED FEBRUARY 2019 ***

This procedure complements a CHT Browser-Server application. It provides a way to configure your server for interaction with the CHT Web Scripter Tool.

*** server configuration for client-server ***

  
VERSION:23C.02.00
TYPE:JUMPSTART
CATEGORY:Create Various CHT Server Types
SCOPE:PROCEDURE
CLASSES:Various
PARENT:Various
  

DESCRIPTION:

*** REVISED FEBRUARY 2019 ***

This procedure complements a CHT Client-Server application. It provides a way to configure your server for interaction with the CHT Web Scripter Tool.

*** server search replace email token macros ***

  
VERSION:23C.02.00
TYPE:JUMPSTART
CATEGORY:Create Various CHT Server Types
SCOPE:PROCEDURE
CLASSES:Various
PARENT:Various
  

DESCRIPTION:

*** REVISED FEBRUARY 2019 ***

This procedure complements any CHT Browser Server application. It provides a way to search and replace email token macros in server mail created with the CHT Web Scripter Tool.

*** server variables fetch by location ***

  
VERSION:23C.02.00
TYPE:JUMPSTART
CATEGORY:Create Various CHT Server Types
SCOPE:PROCEDURE
CLASSES:Various
PARENT:Various
  

DESCRIPTION:

*** REVISED FEBRUARY 2019 ***

This procedure complements any CHT Browser Server application. It provides a way to fetch values from the server variables configuration file, using the unique "Location" column as an identifier.

*** server variables put by location ***

  
VERSION:23C.02.00
TYPE:JUMPSTART
CATEGORY:Create Various CHT Server Types
SCOPE:PROCEDURE
CLASSES:Various
PARENT:Various
  

DESCRIPTION:

*** REVISED FEBRUARY 2019 ***

This procedure complements any CHT Browser Server application. It provides a way to put values to the server variables configuration file, using the unique "Location" column as an identifier.

*** static http server (appwiz) ***

  
VERSION:23C.02.00
TYPE:JUMPSTART
CATEGORY:Create Various CHT Server Types
SCOPE:PROCEDURE
CLASSES:Various
PARENT:Various
  

DESCRIPTION:

*** REVISED FEBRUARY 2019 ***

This wizard creates a complete, Static Page HTTP Web Server. As such it can, in and of itself, work as a secure, desktop web server without the requirement of serving pages or files from an ISP using a generic server product like IIS (Microsoft Internet Information Server). This server can also be used as the starting point for all other types of HTTP-based net servers. NOTE 1: This is an "App Wizard" which creates a complete self-standing server application. It should be imported to a freshly-created "stub" application containing only a ServerMain(ToDo) procedure. The base ServerMain(ToDo) procedure is replaced by the wizard''s own ServerMain() version. NOTE 2: The application created is based on CHT demo server HNDSLFSV.APP, such that all documentation, videos and companion applications for HNDSLFSV.APP pertain also to the application created by this wizard, until it is modified to your own requirements.

*** view secure server users ***

  
VERSION:23C.02.00
TYPE:JUMPSTART
CATEGORY:Create Various CHT Server Types
SCOPE:PROCEDURE
CLASSES:Various
PARENT:Various
  

DESCRIPTION:

*** REVISED FEBRUARY 2019 ***

This procedure complements the "Secure HTTP File Server" procedure. It provides a way to import file server members from your OE address book, insert members manually, send invitation emails and customize invitation emails. It should be imported to your application AFTER "Secure HTTP File Server" as it assumes the same dictionary.

CATEGORY:
Create Various FTP Client Types
*** ftp directory ***

  
VERSION:23C.02.00
TYPE:JUMPSTART
CATEGORY:Create Various FTP Client Types
SCOPE:PROCEDURE
CLASSES:Various
PARENT:Various
  

DESCRIPTION:

*** REVISED FEBRUARY 2019 ***

This procedure provides FTP File Directory capabilities, using three CHT FTP templates: EmbedInternetFTP, HandyFTPInitializationControls and HandyFTPRemoteFilesControls. It provides everything necessary to configure one or more FTP sites and to navigate the directories available. The files listing provides file downloading and directory controls where permitted.

*** ftp get file ***

  
VERSION:23C.02.00
TYPE:JUMPSTART
CATEGORY:Create Various FTP Client Types
SCOPE:PROCEDURE
CLASSES:Various
PARENT:Various
  

DESCRIPTION:

*** REVISED FEBRUARY 2019 ***

This procedure provides FTP Get File capabilities, using basic FTP defaults. Login User Name, Login Password, Remote Directory, Local Directory, and Remote File Name are required parameters. Optional return parameters include File Date, File Time and File Size. The function returns True or False if it succeeds or fails, respectively and provides a fully asynchronous upload with a progress bar.

*** ftp get file if changed ***

  
VERSION:23C.02.00
TYPE:JUMPSTART
CATEGORY:Create Various FTP Client Types
SCOPE:PROCEDURE
CLASSES:Various
PARENT:Various
  

DESCRIPTION:

*** REVISED FEBRUARY 2019 ***

This procedure provides FTP Get File capabilities, using basic FTP defaults. Login User Name, Login Password, Remote Directory, Local Directory, and Remote File Name are required parameters. Optional return parameters include File Date, File Time and File Size. The function returns True or False if it succeeds or fails, respectively and provides a fully asynchronous upload with a progress bar. NOTE: The remote file is only downloaded if it has changed from the local copy already available in the target directory.

*** ftp get files by dos wild card ***

  
VERSION:23C.02.00
TYPE:JUMPSTART
CATEGORY:Create Various FTP Client Types
SCOPE:PROCEDURE
CLASSES:Various
PARENT:Various
  

DESCRIPTION:

*** REVISED FEBRUARY 2019 ***

This procedure provides DOS wildcard FTP Get File capabilities. Using basic FTP defaults, Login User Name, Login Password, Remote Directory, Local Directory, and a wild card specification (eg: c*.ico), multiple files with common characteristics can be downloaded in a single function call. The function returns False if it fails and a file-count if it succeeds. Downloads are fully asynchronous including a cancel button and a progress bar.

*** ftp put file ***

  
VERSION:23C.02.00
TYPE:JUMPSTART
CATEGORY:Create Various FTP Client Types
SCOPE:PROCEDURE
CLASSES:Various
PARENT:Various
  

DESCRIPTION:

*** REVISED FEBRUARY 2019 ***

This procedure provides FTP Put File capabilities, using basic FTP defaults. Login User Name, Login Password, Remote Directory, Local Directory, and Remote File Name are required parameters. The function returns True or False if it succeeds or fails, respectively and provides a fully asynchronous upload with a progress bar.

*** ftp put files by dos wild card ***

  
VERSION:23C.02.00
TYPE:JUMPSTART
CATEGORY:Create Various FTP Client Types
SCOPE:PROCEDURE
CLASSES:Various
PARENT:Various
  

DESCRIPTION:

*** REVISED FEBRUARY 2019 ***

This procedure provides FTP Put Multiple Files capability, using basic FTP defaults. Login User Name, Login Password, Remote Directory, Local Directory, and File Mask are required parameters. The function returns True or False if it succeeds or fails, respectively and provides a fully asynchronous upload with a progress bar.

*** ftp wizard ***

  
VERSION:23C.02.00
TYPE:JUMPSTART
CATEGORY:Create Various FTP Client Types
SCOPE:PROCEDURE
CLASSES:Various
PARENT:Various
  

DESCRIPTION:

*** REVISED FEBRUARY 2019 ***

' This wizard procedure provides FTP file upload and download capability as well as directory selection, file querying, file transfer between remote directories, directory creation, file deletion, proxy support and more. It allows for file accumulation from various remote subdirectories so that a single operation can download all. It allows for file accumulation from various local directories so that a single operation can upload all.

CATEGORY:
Create Zip Related Functions
*** bulk file compression-expansion ***

  
VERSION:23C.02.00
TYPE:JUMPSTART
CATEGORY:Create Zip Related Functions
SCOPE:PROCEDURE
CLASSES:Various
PARENT:Various
  

DESCRIPTION:

*** REVISED FEBRUARY 2019 ***

This source procedure provides for bulk file compression and expansion from one directory to another (or to the same directory) including' an animated progress window. The function accepts parameters: (STRING xWinTitle, STRING xSrc, STRING xTgt, STRING xQuery) This jump start procedure is based on a procedure with the same name found in the demo application HNDCPYDM.APP.

*** bulk file containerization ***

  
VERSION:23C.02.00
TYPE:JUMPSTART
CATEGORY:Create Zip Related Functions
SCOPE:PROCEDURE
CLASSES:Various
PARENT:Various
  

DESCRIPTION:

*** REVISED FEBRUARY 2019 ***

This source procedure provides for bulk file compression to a CHT .HZO container file - includes an animation progress window. The function accepts parameters: (STRING xWinTitle, STRING xSrc, STRING xTgt, STRING xQuery) It assumes you already have a file called "ZStore" in your dictionary. If not, the template warns and asks you to arrange this by using the HNDCPYDM.DCT or a derivative of it. If the ZStore file is already present in your dictionary, the procedure is added to your application. This jump start procedure is based on a procedure with the same name found in the demo application HNDCPYDM.APP.

*** bulk file decontainerization ***

  
VERSION:23C.02.00
TYPE:JUMPSTART
CATEGORY:Create Zip Related Functions
SCOPE:PROCEDURE
CLASSES:Various
PARENT:Various
  

DESCRIPTION:

*** REVISED FEBRUARY 2019 ***

This source procedure provides for bulk file expansion from a CHT .HZO container file - includes an animation progress window. The function accepts parameters: (STRING xWinTitle, STRING xSrc, STRING xTgt, STRING xQuery) It assumes you already have a file called "ZStore" in your dictionary. If not, the template warns and asks you to arrange this by using the HNDCPYDM.DCT or a derivative of it. If the ZStore file is already present in your dictionary, the procedure is added to your application. This jump start procedure is based on a procedure with the same name found in the demo application HNDCPYDM.APP.

*** cht setup containerizer ***

  
VERSION:23C.02.00
TYPE:JUMPSTART
CATEGORY:Create Zip Related Functions
SCOPE:PROCEDURE
CLASSES:Various
PARENT:Various
  

DESCRIPTION:

*** REVISED FEBRUARY 2019 ***

This source procedure provides for bulk file compression to a CHT .HZO container file - includes an animation progress window. The function accepts parameters: (STRING xWinTitle, STRING xSrc, STRING xTgt, STRING xQuery) It assumes you already have a file called "ZStore" in your dictionary. If not, the template warns and asks you to arrange this by using the HNDSETUP.DCT or a derivative of it. If the ZStore file is already present in your dictionary, two procedures are added to your application. These jump start procedures are based on a procedure with the same name found in the demo application HNDSETUP.APP.

*** low-level compression examples ***

  
VERSION:23C.02.00
TYPE:JUMPSTART
CATEGORY:Create Zip Related Functions
SCOPE:PROCEDURE
CLASSES:Various
PARENT:Various
  

DESCRIPTION:

*** REVISED FEBRUARY 2019 ***

This source procedure illustrates with examples how to call and utilize a number of low-level file and memory compression functions made available by attaching the HNDDOSFILE class (HNDDOSF.INC/.CLW) to a procedure. To understand what is going on, import this source procedure and open it in the ABC Embeditor. Liberal use of comments will help with understanding. This jump start procedure is based on a procedure with the same name found in the demo application HNDZTEST.APP.

*** zip directory ***

  
VERSION:23C.02.00
TYPE:JUMPSTART
CATEGORY:Create Zip Related Functions
SCOPE:PROCEDURE
CLASSES:Various
PARENT:Various
  

DESCRIPTION:

*** REVISED FEBRUARY 2019 ***

This ABC Window procedure provides functionality to zip the contents of a directory and its descendants. Users are asked to name a source directory and a zip file name + path. The procedure provides for flat zips with no embedded paths or zips with embedded paths. There is also an option to zip files in the subdirectories below the source directory. Procedures created with this jumpstart are dependent on HNDZIPR.OCX. This jump start procedure is based on a procedure with the same name found in the demo application HNDCOMZIPPER.APP.

CATEGORY:
DCT Extension
*** vblfilenames ***

  
VERSION:23C.02.00
TYPE:EXTENSION
CATEGORY:DCT Extension
SCOPE:APPLICATION
CLASSES:None
PARENT:AACHTControlPanel
  

DESCRIPTION:

*** REVISED JANUARY 2019 ***

This extension template creates global file property variables for some (or all) tables it finds in your dictionary. Variables can be created for these dictionary properties on the "General" tab: Driver Options, Owner Name, and Full Pathname. It lets you set the default contents of these variables right in the dictionary and it provides several unique settings to indicate how the variables are to be initialized at run time.

See HNDO.DCT and HND2.APP and HND3.APP for some examples of this. VblFileNames is a child of master global template AACHTControlPanel and as such, must be installed to the global extensions area by first installing AACHTControlPanel and inserting with that template selected.

CATEGORY:
Dates And Calendars
*** globalincludedatefunctions ***

  
VERSION:23C.02.00
TYPE:EXTENSION
CATEGORY:Dates And Calendars
SCOPE:APPLICATION
CLASSES:HNDDates
PARENT:AACHTControlPanel
  

DESCRIPTION:

*** REVISED FEBRUARY 2019 ***

This extension template globally instantiates a single instance of the CHT HNDDates class. You may change the default instance name if you wish. This template is a child of AACHTControlPanel and can only be populated to your application once AACHTControlPanel has been added.

*** handypopupcalendar ***

  
VERSION:23C.02.00
TYPE:CODE
CATEGORY:Dates And Calendars
SCOPE:ABC PROCEDURE
CLASSES:None
PARENT:None
  

DESCRIPTION:

*** REVISED FEBRUARY 2019 ***

This code template incorporates the HNDDates class and drops code for a popup calendar in the current embed position. Two calendar functions are provided: Calendar() and CalendarEx(). The Calendar() function requires 11 standard icons, included with your CHT install set. These icons should be visible on the image path established in Clarion's redirection (.RED) file. The template adds the required icons to the project list where you can see them, in case you've misplaced them for any reason. The CalendarEx() function provides for 6 selectable color themes.

*** handypopupcalendarbutton ***

  
VERSION:23C.02.00
TYPE:CONTROL
CATEGORY:Dates And Calendars
SCOPE:WINDOW
CLASSES:HNDDates
PARENT:Window(ABC)
  

DESCRIPTION:

*** REVISED MARCH 2019 ***

This code template incorporates the HNDDates Classes and drops code for a popup calendar in the current embed position. The calendar requires 11 standard icons, included with your Clarion Handy Tools install set. These icons should be visible on the path established in Clarion's redirection (.RED) file. The template adds the required icons to the project list where you can see them, in case you've misplaced them for any reason. Example application: HNDCAL.APP Demonstration application: HNDCONTROLTPLS.APP

CATEGORY:
Email Template
*** embedmapiemail ***

  
VERSION:23C.02.00
TYPE:EXTENSION
CATEGORY:Email Template
SCOPE:ABC PROCEDURE
CLASSES:HNDIMail
PARENT:Any ABC/CHT Procedure
  

DESCRIPTION:

*** REVISED APRIL 2019 ***

This extension creates a single, local instance of the HNDIMail Classes which provide email services via extended MAPI by enlisting the capabilities of your default email client, Outlook, Outlook Express and other non Microsoft MAPI-Compliant email client software. All methods appear in the "Local Objects" section of the procedure to which this extension is applied and may be embedded in the usual ABC fashion. Example applications: HNDBLKML.APP, HNDMLMAPI.APP,

*** embednetmapiclasses ***

  
VERSION:23C.02.00
TYPE:EXTENSION
CATEGORY:Email Template
SCOPE:ABC PROCEDURE
CLASSES:HNDNetMAPIClass
PARENT:Any ABC/CHT Procedure
  

DESCRIPTION:

*** REVISED APRIL 2019 ***

This extension creates a single, local instance of HNDNetMAPIClass. All methods appear in the "Local Objects" section of the procedure to which this extension is applied and may be embedded in the usual ABC fashion. Functionality provided is MAPI Email Send via a call into a C# DLL built with Visual Studio .NET utilizing COM Interop. The interface layer to Clarion can be found in HNDNETMAPI.INC/CLW/TLB. The DLL required for this is HNDNETMAPI.DLL.

*** embednetsmtpclasses ***

  
VERSION:23C.02.00
TYPE:EXTENSION
CATEGORY:Email Template
SCOPE:ABC PROCEDURE
CLASSES:HNDNetSMTPClass
PARENT:Any ABC/CHT Procedure
  

DESCRIPTION:

*** REVISED APRIL 2019 ***

This extension creates a single, local instance of HNDNetSMTPClass. All methods appear in the "Local Objects" section of the procedure to which this extension is applied and may be embedded in the usual ABC fashion.

Functionality provided is SMTP Email Send via a call into a C# DLL built with Visual Studio .NET utilizing COM Interop. The interface layer to Clarion can be found in HNDNETSMTP.INC/CLW/TLB.

*** embedsmtpfunctions ***

  
VERSION:23C.02.00
TYPE:EXTENSION
CATEGORY:Email Template
SCOPE:ABC PROCEDURE
CLASSES:HNDSmtp
PARENT:Any ABC/CHT Procedure
  

DESCRIPTION:

*** REVISED MARCH 2019 ***

This extension creates a single, local instance of the HNDSmtp Classes. This class (HNDSMTP) now uses Clarion DLL CLARUNEXT.DLL to perform smtp sends rather than the HNDSM.DLL used in earlier versions. Certain class properties and functions have been dropped or changed and will require amendments if hand-embedded. Template-based calls generated by this template have been adjusted to these class revisions and will generate correctly. Template configurations made on the template prompts may need to be checked for correctness of content but WILL generate correct code for the implementation. Since SMTP is sendmail capable only, the email configurations dialogs have now been adjusted to ask only for SMTP Server, SMTP Port, SMTP User and SMTP Password. All methods appear in the "Local Objects" section of the procedure to which this extension is applied and may be embedded in the usual ABC fashion.

Example applications: HNDZIPNEMAILSMTP.APP, HNDMAILSMTP.APP, HNDBULKSMTPMAIL.APP

*** handycommapicontrol ***

  
VERSION:23C.02.00
TYPE:CONTROL
CATEGORY:Email Template
SCOPE:WINDOW
CLASSES:HNDComMapiControl
PARENT:Window(ABC)
  

DESCRIPTION:

*** REVISED MARCH 2019 ***

This control template places a MicroSoft COM MAPI Control from MSMAPI32.OCX on your application window. CHT's MAPI Control provides a full-feature, user-configurable MAPI Email interface that lets users easily control send, behaviors. Developers have the option of creating their own email interfaces for sending, using the default email client's (OutLook or OutLook Express) interface or simply provide programmatic background sending of single or multiple emails including CC and BCC. See HNDMAPI.INC, HNDMAPI.CLW and HNDMAPI.TLB to study the header, code module and method interfaces respectively. A demonstration application called HNDEZMAPI.APP illustrates use of the template and calling HNDComMapiControl Class methods. Demonstration application: HNDCONTROLTPLS.APP

*** handymailmecontrol ***

  
VERSION:23C.02.00
TYPE:CONTROL
CATEGORY:Email Template
SCOPE:WINDOW
CLASSES:HNDWindow
PARENT:Window(ABC)
  

DESCRIPTION:

*** REVISED MARCH 2019 ***

This control template places a mailto: email link on your application window. It also creates an embeddable instance of the HNDWindow Class. Clicking the resulting link starts your email program ready to accept email body information and sends mail to the recipient of your choice. In this template's entry fields, you may enter information in constant or variable format. Variables may be selected using the ellipsis button. Variables are distinguished from text by a leading exclamation mark.

*** handymailmecontrol_ewf ***

  
VERSION:23C.02.00
TYPE:CONTROL
CATEGORY:Email Template
SCOPE:WINDOW
CLASSES:HNDWindow
PARENT:EmbedWindowFunctions
  

DESCRIPTION:

*** REVISED MARCH 2019 ***

This control template places a mailto: email link on your application window. It requires that the EmbedWindowFunctions template be on the window first. Clicking the link placed by this template starts your email program, enabling you to send an email message to the recipient of your choice. In this template's entry fields, you may enter information in constant or variable format. Variables may be selected using the ellipsis button. Variables are distinguished from text by a leading exclamation mark. This template is a child template of CHT EmbedWindowFunctions and as such, that template must be present before this one can be added. Demonstration application: HNDCONTROLTPLS.APP

*** snapmapistartbutton ***

  
VERSION:23C.02.00
TYPE:CONTROL
CATEGORY:Email Template
SCOPE:WINDOW
CLASSES:None
PARENT:ApplicationSnapIns , Window(ABC)
  

DESCRIPTION:

*** REVISED MARCH 2019 ***

This control template places a single button on your window that may be used to start the CHT SnapMAPI command line email send utility. This template is a child of CHT template ApplicationSnapIns(HndTools) which must first be available on the application before this extended control becomes visible for selection and placement on your procedure window. Global template ApplicationSnapins(HndTools), once added to your application must also have its "Enable?" and "Copy" switches checked, in the CHT SNAPMAPI dialog. Example application HNDZIPNEMAILSNAPMAPI.APP.

*** source_embedmapifunctions ***

  
VERSION:23C.02.00
TYPE:EXTENSION
CATEGORY:Email Template
SCOPE:ABC SOURCE PROCEDURES
CLASSES:HNDIMail
PARENT:ABCSourceProcedure
  

DESCRIPTION:

*** REVISED MARCH 2019 ***

This extension creates a single, local instance of the HNDIMail Classes. All methods appear in the "Local Objects" section of the procedure to which this extension is applied and may be embedded in the usual ABC fashion. This template is specific to ABC Source procedures which do not contain the normal embed points found in ABC window procedures like browses, reports and processes. See example application HNDSOURCEMAPIDEMO.APP.

*** source_embedsmtpfunctions ***

  
VERSION:23C.02.00
TYPE:EXTENSION
CATEGORY:Email Template
SCOPE:ABC SOURCE PROCEDURES
CLASSES:HNDSmtp
PARENT:ABCSourceProcedure
  

DESCRIPTION:

*** REVISED FEBRUARY 2019 ***

This extension creates a single, local instance of the HNDSMTP Classes. All methods appear in the "Local Objects" section of the procedure to which this extension is applied and may be embedded in the usual ABC fashion. This template is specific to ABC Source procedures which do not contain the normal embed points found in ABC window procedures like browses, reports and processes. See demo app HNDSOURCESMTPDEMO.APP.

CATEGORY:
Error Handling
*** embedhnderrorclass ***

  
VERSION:23C.02.00
TYPE:EXTENSION
CATEGORY:Error Handling
SCOPE:ABC PROCEDURE
CLASSES:HNDError
PARENT:Any ABC/CHT Procedure
  

DESCRIPTION:

*** REVISED MARCH 2019 ***

This extension creates a single, local instance of the HNDError Classes to your procedure. All methods appear in the "Local Objects" section of the procedure to which this extension is applied and may be embedded in the usual ABC fashion. For a demo application that illustrates this template see HNDSOURCESMTPDEMO.APP.

CATEGORY:
Extended Controls
*** embedshellfunctions ***

  
VERSION:23C.02.00
TYPE:EXTENSION
CATEGORY:Extended Controls
SCOPE:ABC PROCEDURE
CLASSES:HNDShell
PARENT:Any ABC/CHT Procedure
  

DESCRIPTION:

*** REVISED MARCH 2019 ***

This extension creates a single, local instance of the HNDShell Classes. All methods appear in the "Local Objects" section of the procedure to which this extension is applied and may be embedded in the usual ABC fashion.

*** handyaddresscontrols ***

  
VERSION:23C.02.00
TYPE:CONTROL
CATEGORY:Extended Controls
SCOPE:WINDOW
CLASSES:HNDAddressBox HNDNameBox
PARENT:Window(ABC)
  

DESCRIPTION:

*** REVISED MARCH 2019 ***

This control template places four addressing controls that emulate the behavior of Microsoft OutLook's name and address controls. It also creates embeddable instances of the HNDAddressBox Classes and HNDNameBox Classes. Demonstration application: HNDCONTROLTPLS.APP

*** handycomanimationcontrol ***

  
VERSION:23C.02.00
TYPE:CONTROL
CATEGORY:Extended Controls
SCOPE:WINDOW
CLASSES:HNDComAnimation
PARENT:Window(ABC)
  

DESCRIPTION:

*** REVISED MARCH 2019 ***

This control template places a MicroSoft COM Animation Control from MSCOMCT2.OCX on your application window. An animation control is a window that displays an Audio-Video Interleaved (AVI) clip. An AVI clip is a series of bitmap frames like a movie. Animation controls can only display AVI clips that do not contain audio. One common use for an animation control is to indicate system activity during a lengthy operation. This is possible because the operation thread continues executing while the AVI clip is displayed. For example, the Find dialog box of Microsoft Windows Explorer displays a moving magnifying glass as the system searches for a file. An animation control can display an AVI clip originating from either an uncompressed AVI file or from an AVI file that was compressed using run-length (BI_RLE8) encoding. You can add the AVI clip to your application as an AVI resource, or the clip can accompany your application as a separate AVI file. The template incorporates a CHT COM Class Wrapper called HNDComAnimation into your procedure. See HNDCMANI.INC, HNDCMANI.CLW and HNDCMANI.TLB to study the header, code module and method interfaces respectively. Demonstration application: HNDCONTROLTPLS.APP

*** handycomdatepickercontrol ***

  
VERSION:23C.02.00
TYPE:CONTROL
CATEGORY:Extended Controls
SCOPE:WINDOW
CLASSES:HNDDatePicker
PARENT:Window(ABC)
  

DESCRIPTION:

*** REVISED MARCH 2019 ***

This control template places a MicroSoft COM Date Picker Control from MSCOMCT2.OCX on your application window. The date picker control provides a full-feature, user-configurable drop-down calendar that lets users easily select and change a date. The template incorporates a CHT COM Class Wrapper called HNDDatePicker into your procedure. A date and time picker (DTP) control provides a simple and intuitive interface through which to exchange date and time information with a user. See HNDDTPKR.INC, HNDDTPKR.CLW and HNDDTPKR.TLB to study the header, code module and method interfaces respectively. A demonstration application called HNDDTPK.APP illustrates use of the template and calling HNDDatePicker Class methods. Another demo app recently added is HNDCLIENTCLLEAN1VIEW.APP (PeopleViewForm Procedure).

*** handycomdigitalclockcontrol ***

  
VERSION:23C.02.00
TYPE:CONTROL
CATEGORY:Extended Controls
SCOPE:WINDOW
CLASSES:HNDDigitalClockClass
PARENT:Window(ABC)
  

DESCRIPTION:

*** REVISED MARCH 2019 ***

This control template places a CHT COM Digital Clock Control from HNDDGTLCLOCK.OCX on your application window. Using this template you can place CHT's Digital Clock Control on your application window and write no code. See HNDDGTL.INC, HNDDGTL.CLW and HNDDGTL.TLB to study the header, code module and method interfaces respectively. A demonstration application called HNDCONTROLTPLS.APP illustrates use of this template.

*** handycomprogressbarcontrol ***

  
VERSION:23C.02.00
TYPE:CONTROL
CATEGORY:Extended Controls
SCOPE:WINDOW
CLASSES:HNDComProgress
PARENT:Window(ABC)
  

DESCRIPTION:

*** REVISED MARCH 2019 ***

This control template places a MicroSoft COM Progress Bar Control from MSCOMCTL.OCX on your application window. This control provides a full-feature, user-configurable vertical/horizontal/flat/3D Monochrome progress indicator. The template incorporates a CHT COM Class Wrapper called HNDComProgressBar into your procedure. With a progress bar, users can follow the progress of a lengthy operation. A progress bar may show either an approximate percentage of completion (determinate) or indicate that an operation is ongoing (indeterminate). Microsoft usability studies have shown that users are aware of response times of over one second. Consequently, you should consider operations that take two seconds or longer to complete to be lengthy and in need of progress feedback. See HNDPRGBR.INC, HNDPRGBR..CLW and HNDPRGBR..TLB to study the header, code module and method interfaces respectively. A demonstration application called HNDCONTROLTPLS.APP illustrates use of the template and calling HNDComProgressBar Class methods.

*** handycomslidercontrol ***

  
VERSION:23C.02.00
TYPE:CONTROL
CATEGORY:Extended Controls
SCOPE:WINDOW
CLASSES:HNDComSlider
PARENT:Window(ABC)
  

DESCRIPTION:

*** REVISED MARCH 2019 ***

This control template places a MicroSoft COM Slider Control from MSCOMCTL.OCX on your application window. The slider control provides a full-feature, user-configurable left/right/up/down slider that lets users easily select and change a value inside a range established on the control. When the user moves the slider, using either the mouse or the direction keys, the slider sends notification messages to indicate the change to an event called EVENT:HandySliderControl. The template incorporates a CHT COM Class Wrapper called HNDComSlider into your procedure. See HNDCSLDR.INC, HNDCSLDR.CLW and HNDCSLDR.TLB to study the header, code module and method interfaces respectively. A demonstration application called HNDCONTROLTPLS.APP illustrates use of the template and calling HNDComSlider Class methods.

*** handygradientellipse ***

  
VERSION:23C.02.00
TYPE:CONTROL
CATEGORY:Extended Controls
SCOPE:WINDOW
CLASSES:HNDWindow
PARENT:Window(ABC)
  

DESCRIPTION:

*** REVISED MARCH 2019 ***

This control template places a gradient-style ellipse control on your window. This can act as a backdrop to a variety of interface controls. While example TYPE and COLOR settings are assumed by the template, these are, of course, under developer control. Demonstration application: HNDCONTROLTPLS.APP

*** handygradientroundbox ***

  
VERSION:23C.02.00
TYPE:CONTROL
CATEGORY:Extended Controls
SCOPE:WINDOW
CLASSES:HNDWindow
PARENT:Window(ABC)
  

DESCRIPTION:

*** REVISED MARCH 2019 ***

This control template places a gradient-style rounded box control on your window. This can act as a backdrop to a variety of interface controls. While example TYPE and COLOR settings are assumed by the template, these are, of course, under developer control. Demonstration application: HNDCONTROLTPLS.APP

*** handyhyperlink ***

  
VERSION:23C.02.00
TYPE:CONTROL
CATEGORY:Extended Controls
SCOPE:WINDOW
CLASSES:HNDWindow
PARENT:Window(ABC)
  

DESCRIPTION:

*** REVISED MARCH 2019 ** This control template mimics a web hyperlink on your application window. They hyperlink control can perform all of the same operations normally performed by a standard button control. Click the hyperlink control, to start a procedure, run an application or shell to your Internet Browser and visit a website or launch a local HTML, PDF, MP4 (video) or HELP document of your choice. Demonstration application: HNDCONTROLTPLS.APP

*** handyhyperlink_ewf ***

  
VERSION:23C.02.00
TYPE:CONTROL
CATEGORY:Extended Controls
SCOPE:WINDOW
CLASSES:HNDWindow
PARENT:Window(ABC)
  

DESCRIPTION:

*** REVISED MARCH 2019 ** This control template mimics a web hyperlink on your application window. They hyperlink control can perform all of the same operations normally performed by a standard button control. Click the hyperlink control, to start a procedure, run an application or shell to your Internet Browser and visit a website or launch a local HTML, PDF, MP4 (video) or HELP document of your choice. Demonstration application: HNDCONTROLTPLS.APP

*** handypopupmenubutton ***

  
VERSION:23C.02.00
TYPE:CONTROL
CATEGORY:Extended Controls
SCOPE:WINDOW
CLASSES:None
PARENT:Window(ABC)
  

DESCRIPTION:

*** REVISED FEBRUARY 2019 ***

This control template lets you easily create popup menus connected to a button dropped on your application window by the template. For even greater design flexibility, hide the button created with this template and post EVENT:Accepted from another control. Menu execution code may be provided in one of three ways: 1) selecting an executable, 2) entering embed code on the template or 3) entering embed code, inline inside the embed points provided. A CHT Demo application called HandyPopupMenuButton illustrates 5 instances of this template populated on the same window.

Popup menu configuration now includes full font, size, boldness, color control and programmatic enable/disable capability.

*** handyregionbutton ***

  
VERSION:23C.02.00
TYPE:CONTROL
CATEGORY:Extended Controls
SCOPE:WINDOW
CLASSES:HNDWindow
PARENT:Window(ABC)
  

DESCRIPTION:

*** REVISED MARCH 2019 ** This control template mimics a flat button on your application window suggested for use in highly graphical environments like the example application HNDCDROMEXAMPLE.APP. This active control can perform all of the same operations normally performed by a standard button control. Click to start a procedure, run an application or shell to your Internet Browser and visit a website or launch a local HTML, PDF or HELP document of your choice. The button changes its background and text colors (as configured) when the user's mouse scrolls over it. Colors are configured directly on the template. Actions are assigned via embedding. An embedbutton appears directly on the template to take the developer to the accepted embed point. Demonstration application: HNDCONTROLTPLS.APP

*** handyrulercontrol ***

  
VERSION:23C.02.00
TYPE:CONTROL
CATEGORY:Extended Controls
SCOPE:WINDOW
CLASSES:HNDWindow
PARENT:Window(ABC)
  

DESCRIPTION:

*** REVISED MARCH 2019 ***

This template creates a horizontal/vertical ruler set which can be used to border an image or workspace for dimensioning. The rulers may be scaled to give the effect of zooming nearer to or further from the graphic workspace. All ruler properties such as fill color, text color, division marker color, location of ruler zero point may be set directly on the screen designer work surface. Ruler length (inches only in this release) is set from the "Ruler Length" tab. Demonstration application: HNDCONTROLTPLS.APP

*** handyslidercontrol ***

  
VERSION:23C.02.00
TYPE:CONTROL
CATEGORY:Extended Controls
SCOPE:WINDOW
CLASSES:HNDSlider
PARENT:Window(ABC)
  

DESCRIPTION:

*** REVISED MARCH 2019 ***

This template places a slider control on your window and creates an embeddable instance of the HNDSlider Classes The control is a standard MS Windows slider capable of generating a value based on the slider's thumb position within a user-determined scale. An inner range of values within the outer scale, may be imposed on the control. Further, the slider can be made to automatically synchronize itself with an outside value on a user-determined triggering event. For an interesting example of how to use a CHT Slider control to control a browse to replace the normal vertical slider on the list box, seen HND2.APP, procedure SelectStates(). Demonstration application: HNDCONTROLTPLS.APP

*** handytellmecontrol ***

  
VERSION:23C.02.00
TYPE:CONTROL
CATEGORY:Extended Controls
SCOPE:WINDOW
CLASSES:HNDWindow
PARENT:Window(ABC)
  

DESCRIPTION:

*** REVISED JULY 2019 ***

This control template places a standard text control on your application window. It also creates an embeddable instance of the HNDWindow Classes. The control serves as a message or help control. On the other template buttons, complete the text that you want to initially display. Demonstration application: HNDCONTROLTPLS.APP

*** handytellmecontrol_ewf ***

  
VERSION:23C.02.00
TYPE:CONTROL
CATEGORY:Extended Controls
SCOPE:WINDOW
CLASSES:HNDWindow
PARENT:EmbedWindowFunctions
  

DESCRIPTION:

*** REVISED JULY 2019 ***

This control template places a standard text control on your application window. The control serves as flat, multi-line message or help control. On the other template buttons, complete the text that you want to initially display. This template is a child of EmbedWindowFunctions, hence the suffix _EWF at the end of its name. It uses the HNDWindow Class instance created by that class to manage the text on this control. Demonstration application: HNDCONTROLTPLS.APP This template is a child template of CHT EmbedWindowFunctions and as such, that template must be present before this one can be added.

*** handytoolbargradient ***

  
VERSION:23C.02.00
TYPE:CONTROL
CATEGORY:Extended Controls
SCOPE:WINDOW
CLASSES:HNDWindow
PARENT:Window(ABC)
  

DESCRIPTION:

*** REVISED MARCH 2019 ***

This control template places gradient properties on your toolbar and sizes itself to the toolbar to act as a backdrop. While example TYPE and COLOR settings are assumed by the template, these are, of course, under developer control. The template does assume that the window toolbar is given an equate label, for which the template will prompt you and with which the toolbar can be addressed in code statements made by the template. Demonstration application: HNDCONTROLTPLS.APP

*** handywindowdismissbutton ***

  
VERSION:23C.02.00
TYPE:CONTROL
CATEGORY:Extended Controls
SCOPE:WINDOW
CLASSES:None
PARENT:EmbedWindowFunctions(ABC)
  

DESCRIPTION:

*** REVISED MARCH 2019 ***

This control template places a button on your procedure window that dismisses a window by minimizing and hiding it. This makes the unstated assumption that the window to which this button is applied is the main application window, and the window has been configured with EmbedWindowFunctions to minimize to the Windows Task Bar. This template is therefore a child of EmbedWindowFunctions which must be populated prior to it becoming available to be populated to your window. Demonstration application: HNDCONTROLTPLS.APP

*** handywindowgradient ***

  
VERSION:23C.02.00
TYPE:CONTROL
CATEGORY:Extended Controls
SCOPE:WINDOW
CLASSES:HNDWindow
PARENT:Window(ABC)
  

DESCRIPTION:

*** REVISED MARCH 2019 ***

This control template places gradient properties on your window and sizes itself to the window to act as a backdrop. While example TYPE and COLOR settings are assumed by the template, these are, of course, under developer control. Added default color switch November 2018. Demonstration application: HNDCONTROLTPLS.APP

*** handywindowsnotepadbutton_ewf ***

  
VERSION:23C.02.00
TYPE:CONTROL
CATEGORY:Extended Controls
SCOPE:WINDOW
CLASSES:None
PARENT:EmbedWindowFunctions , Window(ABC)
  

DESCRIPTION:

*** REVISED MARCH 2019 ***

This control template places a button on your window that opens MS Windows NotePad using "NOTEPAD.EXE". This template is a child of CHT template EmbedWindowFunctions which must first be available on the procedure before this extended control becomes visible for selection and placement on your procedure window. Demonstration application: HNDCONTROLTPLS.APP

*** resizehandles ***

  
VERSION:23C.02.00
TYPE:EXTENSION
CATEGORY:Extended Controls
SCOPE:ABC PROCEDURE
CLASSES:HNDSizes
PARENT:Window(ABC)
  

DESCRIPTION:

*** REVISED JUNE 2019 ***

This extension template attaches "grip-style" window handles to the bottom right hand corner of your window. Other window controls may be optionally height and/or width synched as the window handle is pulled to stretch or shrink the window. This template creates an instance of the HNDSizes class. As of Feb 2013 it is possible to restrict downsizing of either width or height dimesions of a window below its design-time dimensions in addition to the outright restriction of the entire height or width dimension. This "qualifier" is an extra checkbox for each dimension which may be optionally checked after the fact on any presently full-width, or full-height restricted window.

*** resizehandlescontrol ***

  
VERSION:23C.02.00
TYPE:EXTENSION
CATEGORY:Extended Controls
SCOPE:ABC PROCEDURE
CLASSES:HNDSizes
PARENT:Window(ABC)
  

DESCRIPTION:

*** REVISED JUNE 2019 ***

This extension template attaches "grip-style" window handles to the bottom right hand corner of your window. Other window controls may be optionally height and/or width synched as the window handle is pulled to stretch or shrink the window. This template creates an instance of the HNDSizes class. As of Feb 2013 it is possible to restrict downsizing of either width or height dimesions of a window below its design-time dimensions in addition to the outright restriction of the entire height or width dimension. This "qualifier" is an extra checkbox for each dimension which may be optionally checked after the fact on any presently full-width, or full-height restricted window. NOTE: This template is identical to the extension template "ResizeHandles" except this version is a "Control" template which can be populated from the window designer and and may be placed automatically on the window by a procedure template.

*** visithandycontrol ***

  
VERSION:23C.02.00
TYPE:CONTROL
CATEGORY:Extended Controls
SCOPE:WINDOW
CLASSES:HNDWindow
PARENT:Window(ABC)
  

DESCRIPTION:

*** REVISED MARCH 2019 ***

This control template places a single button control on your application window. It also creates an embeddable instance of the HNDWindow Classes. Push the control, to shell to your Internet Browser and visit The Clarion Handy Tools web site at http://www.cwhandy.com. Demonstration application: HNDCONTROLTPLS.APP

*** visitmecontrol ***

  
VERSION:23C.02.00
TYPE:CONTROL
CATEGORY:Extended Controls
SCOPE:WINDOW
CLASSES:HNDWindow
PARENT:Window(ABC)
  

DESCRIPTION:

*** REVISED MARCH 2019 ** This control template mimics a web hyperlink on your application window. Click the hyperlink control, to shell to your Internet Browser and visit a website or launch a local HTML, PDF or HELP document of your choice. Demonstration application: HNDCONTROLTPLS.APP

*** visitmecontrol_ewf ***

  
VERSION:23C.02.00
TYPE:CONTROL
CATEGORY:Extended Controls
SCOPE:WINDOW
CLASSES:HNDWindow
PARENT:EmbedWindowFunctions
  

DESCRIPTION:

*** REVISED MARCH 2019 ***

This control template mimics a web hyperlink on your application window. It requires that the EmbedWindowFunctions template be placed on the window first. Clicking the link placed by this template starts your default Internet browser, enabling you to jump to the web site of your choice. It shares an embeddable instance of the HNDWindow Classes. This template is a child template of CHT EmbedWindowFunctions and as such, that template must be present before this one can be added. Click the hyperlink control, to shell to your Internet Browser and visit a website or launch a local HTML, PDF or HELP document of your choice. Demonstration application: HNDCONTROLTPLS.APP

CATEGORY:
File And Memory Compression
*** embednetzipfunctions ***

  
VERSION:23C.02.00
TYPE:EXTENSION
CATEGORY:File And Memory Compression
SCOPE:ABC SOURCE PROCEDURES
CLASSES:HNDNetZipperClass
PARENT:ABCSourceProcedure
  

DESCRIPTION:

*** REVISED FEBRUARY 2019 ***

This extension creates a single, local instance of the HNDNetZipperClass inside a CHT Source procedure. All methods appear in the "Local Objects" section of the source procedure to which this extension is applied and may be embedded in the usual ABC fashion. This template is specific to ABC Source procedures which do not contain the normal embed points found in ABC window procedures like browses, reports and processes. The template incorporates a CHT .NET Zipper Wrapper called HNDNetZipperClass into your procedure.

See HNDNETZIPPER.INC, HNDNETZIPPER.CLW and HNDNETZIPPER.TLB to study the header, code module and method interfaces respectively. A demonstration application called HNDZIPNET.APP illustrates use of the template and calling HNDNetZipper Class methods.

Associated files: HNDNETZIPPR.TLB (to register the control), HNDNETZIPPER.DLL, (Low level .NET zip classes).

*** handycomzippercontrol ***

  
VERSION:23C.02.00
TYPE:CONTROL
CATEGORY:File And Memory Compression
SCOPE:WINDOW
CLASSES:HNDComZipClass
PARENT:Window(ABC)
  

DESCRIPTION:

*** REVISED FEBRUARY 2019 ***

This control template places a CHT COM Zipper Control from HNDZIPR.OCX on your application window. This template provides two interface controls, a string control for messages and a progress control to indicate progress through bulk zip and unzip operations. Since this is a "Control" template it operates from a window. If a silent, or invisible zip operation is required, simply hide the window. Operations provided are: bulk directory zip with mask, bulk directory unzip with mask, single file zip, and single file unzip. The template incorporates a CHT COM Zipper Wrapper called HNDComZipClass into your procedure. See HNDZIPPR.INC, HNDZIPPR.CLW and HNDZIPPR.TLB to study the header, code module and method interfaces respectively. A demonstration application called HNDBACKUPCONFIGOCX.APP illustrates use of the template and calling HNDComZipClass Class methods.

*** handynetzippercontrol ***

  
VERSION:23C.02.00
TYPE:CONTROL
CATEGORY:File And Memory Compression
SCOPE:WINDOW
CLASSES:HNDNetZipperClass
PARENT:Window(ABC)
  

DESCRIPTION:

*** REVISED FEBRUARY 2019 ***

This control template places a CHT .NET Zipper Control from HNDNETZIPPER.DLL on your application window. This template provides two interface controls, a string control for messages and a progress control to indicate progress through bulk zip and unzip operations. Since this is a "Control" template it operates from a window. If a silent, or invisible zip operation is required, simply hide the window. Operations provided are: bulk directory zip with mask, bulk directory unzip with mask, single file zip, and single file unzip. The template incorporates a CHT .NET Zipper Wrapper called HNDNetZipperClass into your procedure. See HNDNETZIPPER.INC, HNDNETZIPPER.CLW and HNDNETZIPPER.TLB to study the header, code module and method interfaces respectively. A demonstration application called HNDNETZIPDEMO.APP illustrates use of the template and calling HNDNetZipper Class methods. Required DLLs: HNDNETZIPPER.DLL

*** source_embedzipfunctions ***

  
VERSION:23C.02.00
TYPE:EXTENSION
CATEGORY:File And Memory Compression
SCOPE:ABC SOURCE PROCEDURES
CLASSES:HNDComZipClass
PARENT:ABCSourceProcedure
  

DESCRIPTION:

*** REVISED MARCH 2019 ***

This extension creates a single, local instance of the HNDComZipClass. All methods appear in the "Local Objects" section of the source procedure to which this extension is applied and may be embedded in the usual ABC fashion. This template is specific to ABC Source procedures which do not contain the normal embed points found in ABC window procedures like browses, reports and processes. See example application HNDSOURCEMAPIDEMO.APP and HNDSOURCESMTPDEMO.APP

CATEGORY:
Files To And From Blob Functions
*** blob to file basic ***

  
VERSION:23C.02.00
TYPE:JUMPSTART
CATEGORY:Files To And From Blob Functions
SCOPE:PROCEDURE
CLASSES:Various
PARENT:Various
  

DESCRIPTION:

*** REVISED FEBRUARY 2019 ***

'),AT(,,,11),PROP(PROP:Font,'Segoe UI'),PROP(PROP:FontSize, 11),PROP(PROP:FontColor,0808080H),PROP(PROP:Flat,1),PROP(PROP:FontStyle,700) This source procedure provides a way to decompress and restore a file') from a blob record in your data base, back to disk. It will') work only with blob records created using JumpStartFileToBlob(). The') procedure prototype is:') (STRING xFileName, *BLOB xBlobField, <*ULONG xHashField>).') NOTE:'),AT(,,,11),PROP(PROP:Font,'Segoe UI'),PROP(PROP:FontSize, 11),PROP(PROP:FontColor,0808080H),PROP(PROP:Flat,1),PROP(PROP:FontStyle,700) To see this function in action, look at application HNDFBLOB.APP.')

*** file to blob basic ***

  
VERSION:23C.02.00
TYPE:JUMPSTART
CATEGORY:Files To And From Blob Functions
SCOPE:PROCEDURE
CLASSES:Various
PARENT:Various
  

DESCRIPTION:

*** REVISED FEBRUARY 2019 ***

This source procedure provides a way to compress and insert a file into a blob record of your data base. The procedure prototype is: (STRING xFileName, *BLOB xBlobField, <*ULONG xHashField>). NOTE: To see this function in action, look at application HNDFBLOB.APP.

CATEGORY:
HTTP Help Client + Animation
*** http help client + animation ***

  
VERSION:23C.02.00
TYPE:JUMPSTART
CATEGORY:HTTP Help Client + Animation
SCOPE:PROCEDURE
CLASSES:Various
PARENT:Various
  

DESCRIPTION:

*** REVISED FEBRUARY 2019 ***

This procedure provides a way to have users start a help file with an optional website server check for the latest version of the file. If the file has changed, it is downloaded and then started. If the file has not changed it is started only. This download client provides an AVI animation on the window. The default animation file "hndtransmit.avi" must be present with the application.

CATEGORY:
Import Prebuilt Procedures
*** aachtjumpstartproceduresutility1 ***

  
VERSION:23C.02.00
TYPE:UTILITY
CATEGORY:Import Prebuilt Procedures
SCOPE:APPLICATION
CLASSES:None
PARENT:None
  

DESCRIPTION:

*** REVISED JANUARY 2019 ***

This CHT JUMPSTART© collection of import procedures (available from Clarion's Utility Template Interface) exists to help you quickly incorporate model CHT procedures that provide a "jump start" on a variety of end uses. Procedures are categorized by the end result intended.

Each ©CHT JUMPSTART procedure includes a brief explanation of what it is intended to do.

Once imported, it is expected that you will modify the procedure to your own needs by tweaking settings on templates used by that procedure as well as by entering the Clarion Embeditor and customizing the embedded code placed there (if any). Embedded code is commented with suggestions for property settings and procedure calls that may be of use in making any JUMPSTART© apply more specifically to your requirements and behavioral assumptions.

*** aachtjumpstartproceduresutility2 ***

  
VERSION:23C.02.00
TYPE:UTILITY
CATEGORY:Import Prebuilt Procedures
SCOPE:APPLICATION
CLASSES:None
PARENT:None
  

DESCRIPTION:

*** REVISED JANUARY 2019 ***

This CHT JUMPSTART© collection of import procedures (available from Clarion's Utility Template Interface) exists to help you quickly incorporate model CHT procedures that provide a "jump start" on a variety of end uses. Procedures are categorized by the end result intended.

Each ©CHT JUMPSTART procedure includes a brief explanation of what it is intended to do.

Once imported, it is expected that you will modify the procedure to your own needs by tweaking settings on templates used by that procedure as well as by entering the Clarion Embeditor and customizing the embedded code placed there (if any). Embedded code is commented with suggestions for property settings and procedure calls that may be of use in making any JUMPSTART© apply more specifically to your requirements and behavioral assumptions.

*** aachtjumpstartproceduresutility3 ***

  
VERSION:23C.02.00
TYPE:UTILITY
CATEGORY:Import Prebuilt Procedures
SCOPE:APPLICATION
CLASSES:None
PARENT:None
  

DESCRIPTION:

*** REVISED JANUARY 2019 ***

This CHT JUMPSTART© collection of import procedures (available from Clarion's Utility Template Interface) exists to help you quickly incorporate model CHT procedures that provide a "jump start" on a variety of end uses. Procedures are categorized by the end result intended.

Each ©CHT JUMPSTART procedure includes a brief explanation of what it is intended to do.

Once imported, it is expected that you will modify the procedure to your own needs by tweaking settings on templates used by that procedure as well as by entering the Clarion Embeditor and customizing the embedded code placed there (if any). Embedded code is commented with suggestions for property settings and procedure calls that may be of use in making any JUMPSTART© apply more specifically to your requirements and behavioral assumptions.

CATEGORY:
Installation Procedures
*** install from containers - no authentication ***

  
VERSION:23C.02.00
TYPE:JUMPSTART
CATEGORY:Installation Procedures
SCOPE:PROCEDURE
CLASSES:Various
PARENT:Various
  

DESCRIPTION:

*** REVISED FEBRUARY 2019 ***

This procedure is a basic container-based installer. Containers should first be built with HNDSETUP.APP using encryption and compression as required by your design. Containers may be uploaded to an ISP-based website using HNDFTPWZ.APP, or placed in the web directory of a basic CHT server like HNDSLFSV.APP with file permissions enabled for .HZO. This procedure, once configured, downloads the containers via HTTP protocol and decrypts and expands installation files to the designated subdirectories below your installation root. NOTE:

See demonstration application: HNDINSTBA.APP and our container-builder application, HNDSETUP.APP.

*** install my files - (appwiz) ***

  
VERSION:23C.02.00
TYPE:JUMPSTART
CATEGORY:Installation Procedures
SCOPE:PROCEDURE
CLASSES:Various
PARENT:Various
  

DESCRIPTION:

*** REVISED FEBRUARY 2019 ***

' This procedure is a file-based installer that interacts as a client with server application HNDFILSV.APP or HNDFILSVSPECIAL.APP. File and directory lists that include file information such as size and CRC are created on the server. This procedure logs into the server, authenticates and begins comparing the files. below its installation directory against the files list. Changed or New files are expanded and decrypted to the target location. Backups are made to a backup directory and a log file detailing the installation is created. NOTE: See demonstration application: HNDINSTALLMYFILES.APP. See also server apps HNDFILSV.APP and HNDFILSVSPECIAL.APP.

*** installer configuration procedure ***

  
VERSION:23C.02.00
TYPE:JUMPSTART
CATEGORY:Installation Procedures
SCOPE:PROCEDURE
CLASSES:Various
PARENT:Various
  

DESCRIPTION:

*** REVISED FEBRUARY 2019 ***

This is a configuration procedure that may be used with any installation Jump Start based on the CHT classes HNDClient and HNDHTTP. Authentication information, target installation directory and backup directory are configured and stored to the Windows registry for reuse by authenticating installation procedures such as JumpStartInstallMyFiles(). NOTE: See demonstration application: HNDINSTALLMYFILES.APP.

CATEGORY:
Internet - FTP
*** embedinternetftp ***

  
VERSION:23C.02.00
TYPE:EXTENSION
CATEGORY:Internet - FTP
SCOPE:ABC PROCEDURE
CLASSES:HNDInetFtp
PARENT:Any ABC/CHT Procedure
  

DESCRIPTION:

*** REVISED JULY 2019 ***

This extension creates a single, local instance of the HNDInetFtp Classes. All methods appear in the "Local Objects" section of the procedure to which this extension is applied and may be embedded in the usual ABC fashion. Example application: HNDFTPWZ.APP

*** handyftpinitializationcontrols ***

  
VERSION:23C.02.00
TYPE:CONTROL
CATEGORY:Internet - FTP
SCOPE:WINDOW
CLASSES:HNDInetFTP
PARENT:EmbedInternetFTP
  

DESCRIPTION:

*** REVISED JULY 2019 ***

This template creates a set of initialization controls to accompany the "EmbedInternetFTP" template which, in turn, populates the required HNDInetFTP Classes. Example application: HNDFTPWZ.APP This template is a child template of CHT EmbedInternetFTP and as such, that template must be present before this one can be added.

*** handyftplocalfilescontrols ***

  
VERSION:23C.02.00
TYPE:CONTROL
CATEGORY:Internet - FTP
SCOPE:WINDOW
CLASSES:HNDInetFTP
PARENT:HandyFTPInitializationControls EmbedInternetFTP
  

DESCRIPTION:

*** REVISED JULY 2019 ***

This template creates a set of file selector controls that allow you to build a list box of multiple files from multiple directories. Since it is a child of the "EmbedInternetFTP" template, these are files intended for FTP upload. The parent template populates the necessary HNDInetFTP Classes. NOTE: This template requires you to first populate HandyFTPInitializationControls before it becomes visible in your control-templates list. Example application: HNDFTPWZ.APP

*** handyftplocalfilesdlcontrols ***

  
VERSION:23C.02.00
TYPE:CONTROL
CATEGORY:Internet - FTP
SCOPE:WINDOW
CLASSES:HNDWindow HNDInetFTP
PARENT:HandyFTPRemoteFilesControls HandyFTPInitializationControls EmbedInternetFTP(HN
  

DESCRIPTION:

*** REVISED JULY 2019 ***

This template creates a set of controls that download the remote files selected in a list created by the "HandyFTPRemoteFilesControls" template. It is indirectly a child of "EmbedInternetFTP" and uses an already-present instance of the HNDInetFTP Class. This class populates one other class called HNDWindow Class which provides a dynamic display of download activity. Example application: HNDFTPWZ.APP

*** handyftplocalfilesulcontrols ***

  
VERSION:23C.02.00
TYPE:CONTROL
CATEGORY:Internet - FTP
SCOPE:WINDOW
CLASSES:HNDWindow HNDInetFTP
PARENT:HandyFTPLocalFilesControls HandyFTPInitializationControls EmbedInternetFTP(HND
  

DESCRIPTION:

*** REVISED JULY 2019 ***

This template creates a set of file selector controls that allow you to build a list box of multiple files from multiple directories. Since it is a child of the "EmbedInternetFTP" template, these are files intended for FTP upload. The parent template populates the necessary HNDInetFTP Classes. NOTE: This template requires you to first populate HandyFTPInitializationControls before it becomes visible in your control-templates list. Example application: HNDFTPWZ.APP

*** handyftpremotefilescontrols ***

  
VERSION:23C.02.00
TYPE:CONTROL
CATEGORY:Internet - FTP
SCOPE:WINDOW
CLASSES:HNDFileLoadBrowse HNDInetFTP
PARENT:HandyFTPInitializationControls EmbedInternetFTP
  

DESCRIPTION:

*** REVISED JULY 2019 ***

This template creates a set of controls that can list the files available at a remote URL. Because it requires the presence of "HandyFTPInitializationControls" it is indirectly a child of "EmbedInternetFTP" and uses an already-present instance of the HNDInetFTP Class. This class populates two other classes. These are: HNDBrwFilter Class to provide browse query capability, and HNDFileLoadBrowse Class to provide browse record marking. Example application: HNDFTPWZ.APP

*** instantftpuploadprocedure ***

  
VERSION:23C.02.00
TYPE:PROCEDURE
CATEGORY:Internet - FTP
SCOPE:ABC PROCEDURE
CLASSES:None
PARENT:None
  

DESCRIPTION:

*** REVISED JULY 2019 ***

This template builds a queue based on file/table definitions in your dictionary. Drop it on any procedure that has tables defined in the procedure tables schematic. To generate a queue based on table fields, complete the "File/Queue Information tab by selecting the fields that should be populated to your queue. A queue created by this template can be used with CHT template FileLoadBrowseExtender to build a fully functional queue based browse independent of any ABC browse templates.

CATEGORY:
Internet - HTTP Web Servers
*** embedbrowserserver ***

  
VERSION:23C.02.00
TYPE:EXTENSION
CATEGORY:Internet - HTTP Web Servers
SCOPE:ABC PROCEDURE
CLASSES:HNDHtml HNDBrowserServer HNDSubscriptionServer ViewManager
PARENT:Window(ABC)
  

DESCRIPTION:

*** REVISED APRIL 2019 ***

This template creates a single, local instance of a class called HNDSubscriptionServer. This class derives from HNDBrowserServer, which in turn derives from HNDHtml. The resulting combination of derivations gives your CHT Browser Server very powerful TCP/IP connectivity via network or internet, and the capablility to asynchronously connect and deliver packages in various forms to client applications such as browsers and even to desk-top client applications. This template is also the parent template to numerous other templates like BrowserServerInitializationControls which will help you build a server interface into which you can plug extension templates that cumulatively add functionality to the server application. The resulting server applicaton handles security, tracks login times, dates and frequency, and enables remote access to your data without compromising either data integrity or security.

*** handyjdodataadapter ***

  
VERSION:23C.02.00
TYPE:PROCEDURE
CATEGORY:Internet - HTTP Web Servers
SCOPE:ABC PROCEDURE
CLASSES:HNDJDOAdapter ViewManager HNDBrwFilter TransactionManager
PARENT:Window(ABC)
  

DESCRIPTION:

*** REVISED JANUARY 2019 ***

This template is the base template upon which all Browser Server and Client Server data packaging procedures are built. The resulting procedure's embed structure is based on a skeleton class called HNDJDOAdapter.

1) To build a BROWSER -> directed data server: Combine this template with an extension template called "BrowserServerJDOBuilder" which provides an entirely self standing, embeddable infrastructure that reads files and tables via queryable views that generate Javascript Data Packages which when transmitted to any modern browser, may be used to render interactive data forms, browses and reports. See the demonstration forum server application HNDMTSNG.APP for example procedures based on this HandyJDODataAdapter and BrowserServerJDOBuilder templates in combination.

2) To build a CLARION CLIENT -> directed data server: Combine this template with an extension template called "ClientServerDataBuilder", in order to provide a similar self standing, embeddable infrastructure that reads files and tables via queryable views but in this instance, generate structured data streams that when transmitted to remote data clients built with Clarion and CHT templates may be used to build client-side browses, forms, processes and reports. See the demonstration forum server application HNDMTSSV.APP for example procedures based on this HandyJDODataAdapter and ClientServerDataBuilder templates in combination.

2)Since this template is the root view-building template used to create back end views in both Client Server AND Browser Server applications, it is the first template populated when a back end view must created in any CHT Web server of type 1 (Browser Server) and type 3 (Client Server). Example apps are: HNDMTSNG.APP (CHT Forum Server App For Browsers) and HNDMTSSV.APP (CHT Forum Server App For Clarion Clients). There are numerous other server example applications of both types and there is a starting-point version of each server type which developers should use to start their own server projects rather than building a server app from scratch.
See HNDCLIENTSV.APP -- starting-point server for CHT Client Server projects.

See HNDHNDLRNSV.APP -- starting-point server for CHT Browser Server proljects.

*** processusercustomrequest ***

  
VERSION:23C.02.00
TYPE:EXTENSION
CATEGORY:Internet - HTTP Web Servers
SCOPE:ABC PROCEDURE
CLASSES:HNDSubscriptionServer HNDBrowserServer
PARENT:EmbedBrowserServer
  

DESCRIPTION:

*** REVISED JANUARY 2019 ***

This extension template helps you write code to intercept and process a UCR$ command in your CHT server application, sent to it by a remote client application. A UCR$, or User Custom Request, is any non-standard request dreamed up by the developer that can be performed by a server application on behalf of a requesting client. UCR$ requests, once verified to be from a legitimate, logged-in client, are passed into a server method called "ProcessUserCustomRequest" where the developer can embed code to intercept the request and act on it. This template assists with the "interception" and "acting-on" aspect of that process. UCR$ requests may be accompanied by one or more parameters, so that they emulate remote procedure calls. They can also return single or multiple values, web pages, links, raw data, almost anything the developer requires. User Custom Requests can be run on a thread so that they operate off-line and return immediately, requiring a second call to pick up any data produced, or in-line so that any information returned is passed back immediately on completion of the request. This template is a child of CHT template EmbedBrowserServer and can only be applied to your procedure if that parent template has already been applied.

CATEGORY:
MAPI Insert With Interface
*** mapi insert with interface ***

  
VERSION:23C.02.00
TYPE:JUMPSTART
CATEGORY:MAPI Insert With Interface
SCOPE:PROCEDURE
CLASSES:Various
PARENT:Various
  

DESCRIPTION:

*** REVISED FEBRUARY 2019 ***

This procedure provides MAPI send capabilities, using basic MAPI defaults. It assumes that O.E. is the email client and that it is correctly configured to send mail. When called, this procedure initially presents the O.E. client interface from which recipients may be selected via address book. Attachments may be added and optionally compressed. A full set of parameters may be passed from your procedure, including Subject, Body, CC and BCC.

CATEGORY:
MAPI Send From Address Book
*** mapi send from address book ***

  
VERSION:23C.02.00
TYPE:JUMPSTART
CATEGORY:MAPI Send From Address Book
SCOPE:PROCEDURE
CLASSES:Various
PARENT:Various
  

DESCRIPTION:

*** REVISED FEBRUARY 2019 ***

This procedure provides MAPI send capabilities, using basic MAPI defaults. It assumes that your email client is MAPI compatible and is correctly configured to send mail. When called, this procedure initially presents the default WAB addessbook from which recipients may be selected followed by various actions including email-send.

CATEGORY:
MAPI Send Multiple Attachments
*** mapi send multiple attachments ***

  
VERSION:23C.02.00
TYPE:JUMPSTART
CATEGORY:MAPI Send Multiple Attachments
SCOPE:PROCEDURE
CLASSES:Various
PARENT:Various
  

DESCRIPTION:

*** REVISED FEBRUARY 2019 ***

This procedure provides MAPI send capabilities, using basic MAPI defaults. It assumes that your email client is MAPI compatible and is correctly configured to send mail. Multilple email attachments are provided for, including optional attachment file compression to .zip. Send parameters Address, Subject, Body and Attachments directly to this procedure or embed constants or variables for these values directly into the procedure.

CATEGORY:
MAPI Send One Attachment
*** mapi send one attachment ***

  
VERSION:23C.02.00
TYPE:JUMPSTART
CATEGORY:MAPI Send One Attachment
SCOPE:PROCEDURE
CLASSES:Various
PARENT:Various
  

DESCRIPTION:

*** REVISED FEBRUARY 2019 ***

This procedure provides MAPI send capabilities, using basic MAPI defaults. It assumes that your email client is MAPI compatible and is correctly configured to send mail. A single email attachment is provided for, including optional attachment file compression to .hnz or .zip. Send parameters Address, Subject, Body and Attachment directly to this procedure or embed constants or variables for these values directly into the procedure.

CATEGORY:
MAPI Send With Client Interface
*** mapi send with client interface ***

  
VERSION:23C.02.00
TYPE:JUMPSTART
CATEGORY:MAPI Send With Client Interface
SCOPE:PROCEDURE
CLASSES:Various
PARENT:Various
  

DESCRIPTION:

*** REVISED FEBRUARY 2019 ***

This procedure provides MAPI send capabilities, using basic MAPI defaults. It assumes that your email client is MAPI compatible and is correctly configured to send mail. When called, this procedure initially presents the O.E. client interface from which recipients may be selected via address book. Attachments may be added and optionally compressed.

CATEGORY:
MAPI Send Without Attachments
*** mapi send without attachments ***

  
VERSION:23C.02.00
TYPE:JUMPSTART
CATEGORY:MAPI Send Without Attachments
SCOPE:PROCEDURE
CLASSES:Various
PARENT:Various
  

DESCRIPTION:

*** REVISED FEBRUARY 2019 ***

This procedure provides MAPI send capabilities, using basic MAPI defaults. It assumes that your email client is MAPI compatible and is correctly configured to send mail. Email attachments are not provided for. Send parameters Address, Subject and Body directly to this procedure or embed constants or variables for these values directly into the procedure.

CATEGORY:
MS Office Interface
*** embedhndexcelclassfunctions ***

  
VERSION:23C.02.00
TYPE:EXTENSION
CATEGORY:MS Office Interface
SCOPE:ABC PROCEDURE
CLASSES:HNDOfficeClass HNDExcelClass
PARENT:Any ABC/CHT Procedure
  

DESCRIPTION:

*** REVISED FEBRUARY 2019 ***

This extension creates a single, local instance of the HNDOfficeClass and HNDExcelClass Classes. All methods appear in the "Local Objects" section of the procedure to which this extension is applied and may be embedded in the usual ABC fashion. Example Application: HNDTESTEXCEL.APP.

CATEGORY:
MSMAPI32.OCX Email Send
*** msmapi32.ocx email send ***

  
VERSION:23C.02.00
TYPE:JUMPSTART
CATEGORY:MSMAPI32.OCX Email Send
SCOPE:PROCEDURE
CLASSES:Various
PARENT:Various
  

DESCRIPTION:

*** REVISED FEBRUARY 2019 ***

This procedure provides MAPI send capabilities, using basic MAPI defaults. It assumes that Windows 10 Mail (or Windows Live) is the email client and that it is correctly configured to send mail.'),PROP(PROP:Font,'Segoe UI Attachments may be added and optionally compressed. A full set of parameters may be passed from your procedure, including Subject, Body, CC and BCC.

CATEGORY:
Manage Query Favorites
*** manage qpfc query files ***

  
VERSION:23C.02.00
TYPE:JUMPSTART
CATEGORY:Manage Query Favorites
SCOPE:PROCEDURE
CLASSES:Various
PARENT:Various
  

DESCRIPTION:

*** REVISED FEBRUARY 2019 ***

This procedure provides an editable browse with which to maintain any "CHTQryFile" (SEE: QueryParsingFilterControl template). Add this procedure to your application to maintain .TPS versions of the "CHTQryFile" table (SEE: HNDO.DCT for a file definition). Add, edit, and delete QPFC queries to be applied to the various CHT browses in your application that have populated either the QueryParsingFilterControl or the LocatorOverRideControl templates.

*** manage query favorites (isam) ***

  
VERSION:23C.02.00
TYPE:JUMPSTART
CATEGORY:Manage Query Favorites
SCOPE:PROCEDURE
CLASSES:Various
PARENT:Various
  

DESCRIPTION:

*** REVISED FEBRUARY 2019 ***

This procedure provides an editable browse with which to maintain any "PreQueries" file (SEE: PopFavoriteQueries_QPFC template). Add this procedure to your application to maintain .TPS versions of the PreQueries file (SEE: HNDO.DCT for a file definition). Add, edit, delete and recategorize favorite queries to be applied to the various CHT browses in your application that have populated either the PopFavoriteQueries_QPFC or the PopFavoriteQueries_LORC templates.

*** manage query favorites (sql) ***

  
VERSION:23C.02.00
TYPE:JUMPSTART
CATEGORY:Manage Query Favorites
SCOPE:PROCEDURE
CLASSES:Various
PARENT:Various
  

DESCRIPTION:

*** REVISED FEBRUARY 2019 ***

This procedure provides an editable browse with which to maintain any "PreQueries" table (SEE: PopFavoriteQueries_QPFC template). Add this procedure to your application to maintain SQL versions of the "PreQueries" table (SEE: HNDACCES.DCT for a file definition). Add, edit, delete and recategorize favorite queries to be applied to the various CHT browses in your application that have populated either the PopFavoriteQueries_QPFC or the PopFavoriteQueries_LORC templates. Remember to adjust this procedures file driver setting on the Explorerbrowse template if your SQL implementation is not MS Access.

CATEGORY:
Processes
*** handyqueryprocesslimiter ***

  
VERSION:23C.02.00
TYPE:EXTENSION
CATEGORY:Processes
SCOPE:ABC PROCEDURE
CLASSES:HNDExport HNDBrwFilter
PARENT:Process(ABC)
  

DESCRIPTION:

*** REVISED FEBRUARY 2019 ***

This extension works in combination with CHT Template QueryParsingFilterControl to limit the records touched by any ABC Process template to those meeting requirements of the passed in query. It contains a number of built-in capabilities: 1 - Export to a text file 2 - Export to HTML 3 - Bulk delete 4 - Bulk record modification 5 - Bulk append to another file Export functionality used by this template is provided by the CHT Class HNDExport. Filtering and querying functionality used by this template is provided by the CHT Class HNDBrwFilter.

*** handysourceprocedure ***

  
VERSION:23C.02.00
TYPE:PROCEDURE
CATEGORY:Processes
SCOPE:ABC PROCEDURE
CLASSES:HNDSourceProcedure
PARENT:None
  

DESCRIPTION:

*** REVISED JANUARY 2019 ***

This template builds a flexible source code procedure that allows you to attach any number of CHT classes using CHT templates. The resulting procedure's embed structure is based on a skeleton class called HNDSourceProcedure, and it results in a far more end-user-embeddable procedure than the standard ABC source procedure which does not provide for method overriding and derivation, or much in the way of embed points. CHT uses this procedure template extensively in its JumpStarts in order to bring various CHT templates and classes together into a procedural context that then permits us to create a new outcome not provided directly by individual templates or classes by themselves.

*** handysourceprocedure_ts ***

  
VERSION:23C.02.00
TYPE:PROCEDURE
CATEGORY:Processes
SCOPE:ABC PROCEDURE
CLASSES:HNDSourceProcedure
PARENT:None
  

DESCRIPTION:

*** REVISED JANUARY 2019 ***

This template builds a flexible source code procedure that allows you to attach any number of CHT classes using CHT templates. The resulting procedure's embed structure is based on a skeleton class called HNDSourceProcedure, and it results in a far more flexible procedure than the standard ABC source procedure which does not provide for method overriding and derivation. CHT uses this procedure template extensively in its JumpStarts in order to bring various CHT templates and classes together into a procedural context that then permits us to create a new outcome not provided directly by individual templates or classes by themselves. Similar to HandySourceProcedure, this template provides access to a table schematic which permits the developer to attach a relational table schematic accompanied by views.

*** lbxbrowseprocessbutton ***

  
VERSION:23C.02.00
TYPE:CONTROL
CATEGORY:Processes
SCOPE:WINDOW
CLASSES:None
PARENT:ListBoxBrowseExtender
  

DESCRIPTION:

*** NEW JANUARY 2019 ***

This template creates a button that starts an ABC process after copying the marked records in your LBX Browse to a local queue identical to the browse queue and referencing it to the LBX Shadow Queue.

CATEGORY:
Querying, Locating And Filtering
*** embedzipqueryparserfunctions ***

  
VERSION:23C.02.00
TYPE:EXTENSION
CATEGORY:Querying, Locating And Filtering
SCOPE:ABC PROCEDURE
CLASSES:HNDQueryBuilder HNDParse HNDComZipClass HNDDisk HNDUtil HNDError
PARENT:HandyCOMZipperControl
  

DESCRIPTION:

*** REVISED FEBRUARY 2019 ***

This extension creates a single, local instance of the HNDQueryBuilder and hooks it into a CHT Zip procedure created by the HandyCOMZipperControl template. It allows for CHT-Style queries to filter file selection during the creation of ZIP files. This template is a child of HandyComZipperControl and can only be applied to your procedure if that template is already present.

*** inqueuequerycontrol_lbx ***

  
VERSION:23C.02.00
TYPE:CONTROL
CATEGORY:Querying, Locating And Filtering
SCOPE:WINDOW PROCEDURE
CLASSES:None
PARENT:ListBoxBrowseExtender
  

DESCRIPTION:

*** REVISED JULY 2019 ***

The _LBX suffix on this template name indicates that it is a child template associated only with (L)istbox(B)rowseE(X)tender. This control template places an ENTRY Control (into which is entered a CHT-QUERY-LANGUAGE value) and a Clear Query BUTTON Control on your ListBoxBrowseExtender procedure. InQueueQueryControl_LBX appears only in your list of available control templates when control template, ListBoxBrowseExtender is first added to your window. This query template performs a variety of filtering operations like CONTAINS, STARTSWITH, ENDSWITH, EQUALS, and so on, to limit your LBX browse to only those records that have matching values in the fields referenced in the query string. InQueueQueryControl_LBX works both in LOCAL DATA MODE using local data tables and Clarion file drivers, as well as in REMOTE DATA MODE via CHT Client Server Connection(s).

Browse refresh data, whichever operating mode is in play, originates from data already in the "MAIN" data queue, filtered data is displayed, while the filter is present, from a temporary "SHADOW" queue. In other words interacting with this field-specific filter, causes no local table or remote client server table access or any sort. Filtering takes place entirely locally, and operates on broader queue data already present in the main data queue.

*** popfavoritequeries_lbx ***

  
VERSION:23C.02.00
TYPE:CONTROL
CATEGORY:Querying, Locating And Filtering
SCOPE:WINDOW
CLASSES:HNDBrwFilter HNDClnt
PARENT:ListBoxBrowseExtender
  

DESCRIPTION:

*** REVISED FEBRUARY 2019 ***

This template creates a set of controls that pop up pre-built queries and query macros saved to a file defined in your dictionary and inserts them into a query entry control also provided by the template. Dropping this template has the combined effect of dropping QueryParsingFilterControl with some features turned off plus PopFavoriteQueries_QPFC and it does so in a single step rather than having to drop the other two templates one after the other.

See the predefined tables "PreQuery" and "PreMacro" in HNDACCES.DCT, HNDO.DCT and HNDLBXDM.DCT. These tables should be imported into your app's dictionary as a model for pre-defined queries or macros data tables. The table names and type (ISAM or SQL) doesn't really matter to this template, nor do the file prefixes. However, field names and data size definitions are required to be as defined in the PreQuery and PreMacro table designs.

CHT has provided an importable JumpStart procedure for browsing, editing and inserting pre-built queries. See the CHT Jumpstart Procedures interface. Queries entered on the query entry control can, of course, be saved into your pre-defined queries table on the fly by users. Deletes of pre-defined queries is also allowed -- no Macro saving or deleting, though. Adding/deleting controls are provided for queries by the template but these may be hidden if you want to disallow all operations except query and macro selection and execution. Demo apps to look at: HNDLBXDM.APP and HNDPEOPLE_LBX.APP

*** popfavoritequeries_qpfc ***

  
VERSION:23C.02.00
TYPE:CONTROL
CATEGORY:Querying, Locating And Filtering
SCOPE:WINDOW
CLASSES:HNDBrwFilter
PARENT:QueryParsingFilterControl
  

DESCRIPTION:

*** REVISED JULY 2019 ***

This template creates a set of controls that pop up pre-built queries and query macros saved to a file defined in your dictionary and inserts them into QueryParsingFilterControl, followed by a PostQuery() command to apply the query (or macro) to your data view whether local or remote. See the predefined tables "PreQuery" and "PreMacro" in HNDO.DCT and HNDCLIENTSVLEAN1VIEW.DCT. These tables should be imported into your app's dictionary as a model for pre-defined queries or macros data tables. The table names and type (ISAM or SQL) doesn't really matter to this template, nor do the file prefixes. However, field names and data size definitions are required to be as defined in the PreQuery and PreMacro table designs. CHT is planning to provide importable JumpStart procedures for browsing, editing and inserting pre-built queries. Queries entered on the QPFC control can, of course, be saved into your pre-defined queries table on the fly by users. Deletes of pre-defined queries is also allowed -- no Macro saving or deleting, though. Adding/deleteing controls are provided for queries by the template but these may be hidden if you want to disallow all operations except query and macro selection and execution. Demo apps to look at: HNDCLIENTCLLEAN1VIEW.APP (Client Server Demo), HNDQPFCSQLJOINTEST.APP (ExplorerBrowse, HandyMarkerBrowse and ListBoxBrowseExtender Demo) NOTE: Currently QueryParsingFilterControl, to which this template is an addon, is able to work with Raw ABC browses and CHT FileLoadBrowsextender browses. This QPFC add-on is only implemented for QPFC + ExplorerBrowse or QPFC + HandyMarkerBrowse or QPFC + ListBoxBrowseExtender.

*** queryparsingfiltercontrol ***

  
VERSION:23C.02.00
TYPE:CONTROL
CATEGORY:Querying, Locating And Filtering
SCOPE:WINDOW
CLASSES:HNDBrwFilter
PARENT:BrowseBox(ABC), Report(ABC), Process(ABC), ExplorerBrowse, HandyMarkerBrowse, ListBoxBrowseExtender
  

DESCRIPTION:

*** REVISED JULY 2019 ***

This template creates a query control capable of parsing a programmer-determined query language which can be used to filter data sets. Press the "Query keywords" button to modify the query language or query short forms. When populated on any ABC browse or list box, this template can place the appropriate code to force a filtered browse refresh when a query is entered or cleared. Additional configuration is required depending on which other Clarion Handy Tools templates (if any) you have in place on your browse. This template can also be used in conjuction with the ABC report template to produce filtered reports. The most recent revision allows for more flexibility in control naming when this template is used with ListBoxBrowseExtender. This revision allows an option for query keywords to come directly from the translation file rather than being generated into the app from the KEYWORDS dialog. There is also now an option to include a number of internal macros representing the days of the week and the months of the year. By default the macros option is off and the query keywords from translation file is off. The reason for these "Off" defaults is for backward compatibility since these options did not exist prior to January 2013. Unless the developer turns these "On" his app behaves as always.

*** sortorderfieldfilter_lbx ***

  
VERSION:23C.02.00
TYPE:CONTROL
CATEGORY:Querying, Locating And Filtering
SCOPE:WINDOW PROCEDURE
CLASSES:None
PARENT:ListBoxBrowseExtender
  

DESCRIPTION:

*** REVISED JUNE 2019 ***

The _LBX suffix on this template name indicates that it is a child template associated only with (L)istbox(B)rowseE(X)tender. This control template places an ENTRY Control (into which is entered a filter value) and a Clear Filter BUTTON Control, onto your ListBoxBrowseExtender procedure window. SortOrderFieldFilter_LBX appears only in your list of available control templates when control template, ListBoxBrowseExtender is first added to your window. This query template performs a CONTAINS query (filter) using INSTRING() to limit your LBX browse to only those records that CONTAIN a matching value in the current sort-order field active on your LBX browse. SortOrderFieldFilter_LBX works both in LOCAL DATA MODE using local data tables and Clarion file drivers, as well as in REMOTE DATA MODE via CHT Client Server Connection(s). Browse refresh data originatesw, of the operating mode is in play, directly from the data table(s). In other , interacting with this field-specific filter, causes the browse to re-access either the file drivers for new data or the remote Client Server for new data, depending on the operating mode in play.

*** universalquerycontrol_lbx ***

  
VERSION:23C.02.00
TYPE:CONTROL
CATEGORY:Querying, Locating And Filtering
SCOPE:WINDOW PROCEDURE
CLASSES:None
PARENT:ListBoxBrowseExtender
  

DESCRIPTION:

*** REVISED JULY 2019 ***

The _LBX suffix on this template name indicates that it is a child template associated only with (L)istbox(B)rowseE(X)tender. This control template places three controls, ENTRY Control (into which is entered a CHT-QUERY-LANGUAGE value), a Clear Query BUTTON Control and a MAIN or SHADOW QUEUE toggle button, on your ListBoxBrowseExtender procedure.

The UniversalQueryContro_LBX template name derives from the fact that this control issues a query that fills and displays either the MAIN browse queue (from DATA SOURCE, local or remote) or it fills and displays the SHADOW browse queue, by copying from matching records in the MAIN QUEUE. UniversalQueryControl_LBX appears only in your list of available control templates when control template, ListBoxBrowseExtender is first added to your window.

This query template performs a variety of filtering operations like CONTAINS, STARTSWITH, ENDSWITH, EQUALS, and so on, to limit your LBX browse to only those records that have matching values in the fields referenced in the query string.

UniversalQueryControl_LBX works both in LOCAL DATA MODE using local data tables and Clarion file drivers, as well as in REMOTE DATA MODE via CHT Client Server Connection(s). When displaying MAIN QUEUE DATA a query on this control refreshes from DATA SOURCE. When displaying SHADOW QUEUE DATA this control refreshes from the MAIN QUEUE without interacting at all with the back end DATA SOURCE.

CATEGORY:
Reports
*** handymarkerbrowsereportlimitercpcs ***

  
VERSION:23C.02.00
TYPE:EXTENSION
CATEGORY:Reports
SCOPE:ABC PROCEDURE
CLASSES:None
PARENT:Report(ABC), CPCS Report Template
  

DESCRIPTION:

*** DEPRECATED *** To be removed from CHT toolking at the end of 2018! ** REINSTATED DECEMBER 2018 ** Temporarily re-instated at the request of developer Peter Gibson. Will be removed permanently DECEMBER 2019. This extension works in combination with CHT Template HandyMarkerBrowse to limit the records touched by any CPCS Report template to those selected in the browse at the time the report procedure is called.

CATEGORY:
SMTP Configure
*** smtp configure ***

  
VERSION:23C.02.00
TYPE:JUMPSTART
CATEGORY:SMTP Configure
SCOPE:PROCEDURE
CLASSES:Various
PARENT:Various
  

DESCRIPTION:

*** REVISED FEBRUARY 2019 ***

This procedure lets the user configure the SMTP settings to the registry such that all portions of your app or system can recover them from there. Important elements of this, like the password are stored encrypted.

CATEGORY:
SMTP Send HTML Advanced
*** smtp send html advanced ***

  
VERSION:23C.02.00
TYPE:JUMPSTART
CATEGORY:SMTP Send HTML Advanced
SCOPE:PROCEDURE
CLASSES:Various
PARENT:Various
  

DESCRIPTION:

*** REVISED FEBRUARY 2019 ***

This procedure provides SMTP send capabilities, using advanced SMTP settings. This function uses SMTP authorization and displays an optional SMTP settings setup interface. HTML can be selected in the form of an HTML file or inserted via code embedded into the procedure. Implements CC, BCC, compression and encryption, embedded images and/or web-referencing images.

CATEGORY:
SMTP Send TEXT Advanced
*** smtp send text advanced ***

  
VERSION:23C.02.00
TYPE:JUMPSTART
CATEGORY:SMTP Send TEXT Advanced
SCOPE:PROCEDURE
CLASSES:Various
PARENT:Various
  

DESCRIPTION:

*** REVISED FEBRUARY 2019 ***

This procedure provides SMTP send capabilities, using advanced SMTP settings. It uses SMTP authorization and displays an optional SMTP settings setup interface. Message text can be selected in the form of a file or inserted via code embedded into the procedure. Implements CC, BCC, compress and encryption.

CATEGORY:
SMTP Send With Attachments
*** smtp send with attachments ***

  
VERSION:23C.02.00
TYPE:JUMPSTART
CATEGORY:SMTP Send With Attachments
SCOPE:PROCEDURE
CLASSES:Various
PARENT:Various
  

DESCRIPTION:

*** REVISED FEBRUARY 2019 ***

This procedure provides SMTP send capabilities, using basic SMTP defaults. Send parameters Smtp Server, To Address, From Address, Subject, Body and Attachment to this procedure or embed constants or variables for these values directly into the procedure.

CATEGORY:
SMTP Send With Compression
*** smtp send with compression ***

  
VERSION:23C.02.00
TYPE:JUMPSTART
CATEGORY:SMTP Send With Compression
SCOPE:PROCEDURE
CLASSES:Various
PARENT:Various
  

DESCRIPTION:

*** REVISED FEBRUARY 2019 ***

This procedure provides SMTP send capabilities, using basic SMTP defaults. Send parameters Smtp Server, To Address, From Address, Subject, Body and Attachment Queue to this procedure or embed constants or variables for these values directly into the procedure.

CATEGORY:
SMTP Send Without Attachments
*** smtp send without attachments ***

  
VERSION:23C.02.00
TYPE:JUMPSTART
CATEGORY:SMTP Send Without Attachments
SCOPE:PROCEDURE
CLASSES:Various
PARENT:Various
  

DESCRIPTION:

*** REVISED FEBRUARY 2019 ***

This procedure provides SMTP send capabilities, using basic SMTP defaults. Send parameters Smtp Server, To Address, From Address, Subject and Body to this procedure or embed constants or variables for these values directly into the procedure.

CATEGORY:
Send SMS Via CHT SMS API
*** send sms via cht sms api ***

  
VERSION:23C.02.00
TYPE:JUMPSTART
CATEGORY:Send SMS Via CHT SMS API
SCOPE:PROCEDURE
CLASSES:Various
PARENT:Various
  

DESCRIPTION:

*** REVISED FEBRUARY 2019 ***

This ABC Window procedure provides an SMS-send-user-interface procedure that includes SMS configuration and SMS address lookup. This procedure sends SMS via the CHT SMS API which can send via either an SMS gateway or an SMTP server. This requires the recipient''s cell phone and SMS Gateway Domainto be known before a message can be sent. Prepared file defintions ready-to-be-imported to your application may be located in HNDZIPNEMAIL.DCT. This jump start procedure is based on a procedure with the same name found in the demo application HNDSMSMESSAGE.APP.

CATEGORY:
TYPES 1,2,3,4 Web Servers
*** browserserverinitializationcontrols ***

  
VERSION:23C.02.00
TYPE:CONTROL
CATEGORY:TYPES 1,2,3,4 Web Servers
SCOPE:ABC PROCEDURE
CLASSES:None
PARENT:EmbedBrowserServer
  

DESCRIPTION:

*** REVISED MAY 2019 ***

This template creates a set of initialization controls to accompany the EmbedBrowserServer template. These controls collect the information necessary to get a CHT Server application (Browser-Server Or Client-Server) up and running. Information collected includes, server IP, default home directory, server PORT and more. On this template too, you will decide the complexity of your server, whether it is a CHT Static Page Server, a CHT Browser Data Server for dynamic data pages or a CHT Client Server for remote thin-client services. Also determined here is the shape of your server client data base. This aspect applies to data servers only where data security is required. This template reacts to the server type settings enabled on its "Server Configuration" tab so that prompts not relevant to the server type being built are disabled or made invisible. NOTE: Recently added configurations:
"Skip automatic hardware IP lookup?"

CATEGORY:
Window Design And Control
*** embeddockingwindow ***

  
VERSION:23C.02.00
TYPE:EXTENSION
CATEGORY:Window Design And Control
SCOPE:ABC PROCEDURE
CLASSES:HNDDockingWindow
PARENT:Any ABC/CHT MDI Main
  

DESCRIPTION:

*** REVISED APRIL 2019 ***

This template creates a threaded docking window that is able to attach itself to (dock with) your MAIN MDI PARENT window on the left, right, as configured on the template. This unique window then acts as a container for command buttons which can launch other procedures and functions from inside the MAIN procedure or generate events inside the MAIN (hosting) procedure.

See HNDDOCWN.INC, HNDDOCWN.CLW to study the header, code modules respectively. Utility application HNDSCRPT.APP illustrates use of the template and calling HNDDockingWindow methods.

*** embedwindowfunctions ***

  
VERSION:23C.02.00
TYPE:EXTENSION
CATEGORY:Window Design And Control
SCOPE:ABC PROCEDURE
CLASSES:HNDWindow
PARENT:AACHTControlPanel ApplicationImagesEx
  

DESCRIPTION:

*** REVISED JANUARY 2019 ***

This extension creates a single, local instance of the HNDWindow Classes. All methods appear in the "Local Objects" section of the procedure to which this extension is applied and may be embedded in the usual ABC fashion.

EmbedWindowFunctions manages a host of features on your application window, from application-in-system-tray, to window callbacks, to Window Transparency and Transitions. This template is a child of global template ApplicationImagesEx, which itself is a child of our master global template AACHTControlPanel. These parent-global templates must be populated before this one can be added to any procedure.

CATEGORY:
Windows API
*** embeddiskfunctions ***

  
VERSION:23C.02.00
TYPE:EXTENSION
CATEGORY:Windows API
SCOPE:ABC PROCEDURE
CLASSES:HNDDisk
PARENT:Any ABC/CHT Procedure
  

DESCRIPTION:

*** REVISED FEBRUARY 2019 ***

This extension creates a single, local instance of the HNDDisk Classes. CHT's HNDDISK class derives from HNDUTIL. See header files HNDDISK.INC and HNDUTIL.INC for a list of methods and method prototypes to discover a wealth of functionality no developer worth his salt should ever be without.

Together these classes provide a wide variety of low-level disk and file-oriented utility functions that keep "HANDY" operations like creating directories and building lists of files in your directories, plus a few hundred more similar operations, at your fingertips. All operations in these classes are pure Clarion code and require no DLLs to be incorporated into your applications.

All methods appear in the "Local Objects" section of the procedure to which this extension is applied and may be embedded in the usual ABC fashion.

*** embedhnddiskexfunctions ***

  
VERSION:23C.02.00
TYPE:EXTENSION
CATEGORY:Windows API
SCOPE:ABC PROCEDURE
CLASSES:HNDDiskEx
PARENT:Any ABC/CHT Procedure
  

DESCRIPTION:

*** REVISED FEBRUARY 2019 ***

This extension creates a single, local instance of the HNDDiskEx Class located in CHT code modules HNDDSKEX.INC (Header), HNDDSKEX.CLW (Code). All methods appear in the "Local Objects" section of the procedure to which this extension is applied and may be embedded in the usual ABC fashion. Example application: HNDSETUP.APP

*** globalincludehnddiskexfunctions ***

  
VERSION:23C.02.00
TYPE:EXTENSION
CATEGORY:Windows API
SCOPE:APPLICATION
CLASSES:HNDDiskEx HNDDisk HNDUtil
PARENT:AACHTControlPanel
  

DESCRIPTION:

*** REVISED FEBRUARY 2019 ***

This extension template globally instantiates a single instance of the CHT HNDDiskEx class. You may change the default instance name if you wish. This template is a child of AACHTControlPanel and can only be populated to your application once AACHTControlPanel has been added.

*** globalincludehnddiskfunctions ***

  
VERSION:23C.02.00
TYPE:EXTENSION
CATEGORY:Windows API
SCOPE:APPLICATION
CLASSES:HNDDisk
PARENT:AACHTControlPanel
  

DESCRIPTION:

*** REVISED APRIL 2019 ***

This extension template globally instantiates a single instance of the CHT HNDDisk class. You may change the default instance name if you wish.

This template is a child of AACHTControlPanel and can only be populated to your application once AACHTControlPanel has been added. The template dialog provides for ICON and PROMPT COLOR configuration for the HNDDisk FileSelection Dialog in co-ordination with the ApplicationImagesEx template's application-level image include capabilities.

*** handydriveselectorcontrol ***

  
VERSION:23C.02.00
TYPE:CONTROL
CATEGORY:Windows API
SCOPE:WINDOW
CLASSES:HNDDisk
PARENT:Window(ABC)
  

DESCRIPTION:

*** REVISED MARCH 2019 ***

This control template places a drive selector control on your application window. It also creates an embeddable instance of the HNDDisk Classes. The control displays the drive letters of all available drives and the drive label if there is one. Demonstration application: HNDCONTROLTPLS.APP

*** handyfileselectorcontrol ***

  
VERSION:23C.02.00
TYPE:CONTROL
CATEGORY:Windows API
SCOPE:WINDOW
CLASSES:HNDDisk
PARENT:Window(ABC)
  

DESCRIPTION:

*** REVISED JUNE 2019 ***

This control template places a file selector control on your application window. It also creates an embeddable instance of the HNDDisk Classes. When clicked, the control displays a filter-enabled file selector browse capable of finding and delimiting any file or file type on your system. The template may be configured on the template interface to find files only or directories only. This setting is actually a class property which can be changed at run-time without needing to reconfigure the template settings. Demonstration application: HNDCONTROLTPLS.APP

*** source_embeddiskexfunctions ***

  
VERSION:23C.02.00
TYPE:EXTENSION
CATEGORY:Windows API
SCOPE:ABC SOURCE PROCEDURES
CLASSES:HNDDiskEx
PARENT:ABCSourceProcedure
  

DESCRIPTION:

*** REVISED FEBRUARY 2019 ***

This extension creates a single, local instance of the HNDDiskEx Classes. All methods appear in the "Local Objects" section of the procedure to which this extension is applied and may be embedded in the usual ABC fashion. This template is specific to ABC Source procedures which do not contain the normal embed points found in ABC window procedures like browses, reports and processes.

*** source_embeddiskfunctions ***

  
VERSION:23C.02.00
TYPE:EXTENSION
CATEGORY:Windows API
SCOPE:ABC SOURCE PROCEDURES
CLASSES:HNDDisk
PARENT:ABCSourceProcedure
  

DESCRIPTION:

*** REVISED FEBRUARY 2019 ***

This extension creates a single, local instance of the HNDDisk Classes. All methods appear in the "Local Objects" section of the procedure to which this extension is applied and may be embedded in the usual ABC fashion. This template is specific to ABC Source procedures which do not contain the normal embed points found in ABC window procedures like browses, reports and processes.