What are the HTML Viewer Components?

The HTML component set consists of the ThtmlViewer, TFrameViewer, and TFrameBrowser components. All three are HTML document display components:

| ThtmlViewer | The basic component. ThtmlViewer displays single (non-frame) documents. It also forms the basis for the other two components.
| TFrameViewer | Displays both Frame and single HTML documents. TFrameViewer is oriented more for local disk file use.
| TFrameBrowser | Also displays Frame and single HTML documents. However, TFrameBrower is oriented toward Internet style protocols and URL usage. Additional code and/or components are generally required to use TFrameBrowser.

Version 9 of these components supports most of the HTML 3.2 specifications with many additional popular HTML 4 enhancements. Many Cascading Style Sheet properties are also supported.

- Cascading Stylesheets
- Frames
- Bitmap, GIF, JPEG, and PNG Images
  - Transparent images
  - Image caching
  - Left and right floating images
  - Image sizing attributes
  - Client side image maps
- Large HTML files
- HTML Tables
- HTML Forms
- Font sizes, styles, and colors with HTML tags or default settings
- Background colors and images
- Formatted printing of the HTML document
- Print preview
- Text search
- Copy to clipboard
- Subscripts and superscripts

While HTML documents are normally associated with the Internet, they are also very useful for displaying all kinds of textual material such as documentation, helpfiles, etc. Graphics are easily incorporated in these documents.

Files Supplied

    DEMO.HTM        This file
    *.HTM           Frame files for DEMO.HTM
    FRAMEDEM.EXE    The TFrameViewer demo program
    Various image and sound files for demo

    Source code for the demo programs
       FRAMEDEM.DPR    Source for the TFrameViewer demo program
       FRMUNIT.PAS, .DFM
       HTMLDEMO.DPR    Source for the ThtmlViewer demo program
       DEMOUNIT.PAS, .DFM
       HTMLEDITOR.DPR  Source for the demo editor program
       HTMLED1.PAS, .DFM
       HTMLABT.PAS, .DFM
       FONTDLG.PAS, .DFM
       SUBMIT.PAS, .DFM
       IMGFORM.PAS, .DFM

       PREVIEWFORM.PAS, .DFM
       PRINTSTATUSFORM.PAS, .DFM
       GOPAGE.PAS, .DFM
       GRID.RES

    Source code for the ThtmlViewer, TFrameViewer, and TFrameBrowser components

       FRAMBRWZ.PAS, .DCR
       FRAMVIEW.PAS, .DCR
       HTMLVIEW.PAS, .DCR
       HTMLSUBS.PAS
       HTMLSBS1.PAS
       READHTML.PAS
       HTMLUN2.PAS
       HTMLGIF1.PAS
       HTMLGIF2.PAS
       URLSUBS.PAS
       METAFILEPRINTER.PAS
       DITHERUNIT.PAS
       VWPRINT.PAS
       HTMLCOMPEDIT.PAS
       STYLEUN.PAS
       STYLEPARS.PAS
       HTMLCONS.INC         File of optional compile time constants
       PNGIMAGE1.PAS
       PNGZLIB1.PAS
       FRAMEVIEWERREG.PAS
       FRAMEVIEWER4.DPK, .RES  Delphi 4 Package source file
       FRAMEVIEWER5.DPK, .RES  Delphi 5 Package source file
       FRAMEVIEWER6.DPK, .RES  Delphi 6 Package source file
       FRAMEVIEWER7.DPK, .RES  Delphi 7 Package source file
       FRAMEVIEWER2005.DPK, .RES  Delphi 2005 Package source file
       FRAMEVIEWER2006.DPK, .RES  Delphi 2006 Package source file
       HTML32.RES           Resource file
       HTMLVIEW.HLP         The help file
       HTMLVIEW.CNT         Help contents file

Installing The HTML Components

If you are installing for more than one version of Delphi, use separate directories for the installations.

Installation problems are almost always due to old or incorrect files being accessed. Make sure that the Library Path or Search Path does not point to the directory of any old HTML component files. The Library Path can be edited from the Tools|Environment Options dialog, Library tab. The Search Path from the Project|Options dialog, Directories/Conditionals tab.

Delete all DCU files generated with previous installations.

The Register procedures in `HTMLVIEW.PAS`, `FRAMVIEW.PAS`, and `FRAMBRWZ.PAS` are set to place the components on the palette page tab named Samples. These can be relocated later from the IDE if desired.

Delphi 4, 5, 6, and 7

1. Choose File|Open... from the main menu. Browse through the dialog to find `FRAMEVIEWER4|5|6|7.DPK` (by default in the `\THTML\PACKAGES` directory).

2. Click Open and in the ensuing dialog, press Compile and then Install.

3. When using the HTML components, include the `\THTML\Package` directory in the searchpath. The searchpath can be edited by choosing Project|Options|Directories|Conditionals from the main menu.

4. Make sure that the Library Path string does not point to the directory of any old HTML component files. The Library Path string can be edited from the Tools|Environment Options dialog, Library tab.

Delphi 2005|6

1. Choose File|Open... from the main menu. Browse through the dialog to find `FrameViewer2005|6.bdsproj` (by default in the `\THTML\PACKAGES` directory).

2. Click Project|Compile FrameViewer2005|6 to compile `FrameViewer2005|6.bpl`.

3. To add the components to the Tool Palette, Choose Component|Install packages. Click the Add... button and select `FrameViewer2005|6.bpl`.

4. When using the HTML components, include the `\THTML\Package` directory in the searchpath. The searchpath can be edited by choosing Project|Options|Directories/Conditionals from the main menu.

5. Make sure that the Library Path string does not point to the directory of any old HTML component files. The Library Path string can be edited from the Tools|Environment Options dialog, Library tab.

Installing the Help File

The file `HTMLVIEW.HLP` will supply context sensitive help for the HTML components.

Delphi 4, 5, and 6

1. Remove any old `HTMLVIEW.HLP` and `HTMLVIEW.CNT` files from the `BORLAND\DELPHIX\HELP` directory. It's no longer necessary to move the new files to this directory.

2. Edit the `DELPHI.CNT` file (in the `BORLAND\DELPHIX\HELP` directory. Load the file into an editor and add the following line at the end:

          :include HTMLVIEW.CNT

   You'll find other similar lines already there.

3. For Delphi 6, add the same line to the `DEL6VCL.CNT` file also.

If you later decide to remove the HTML Components, this added information to the `DELPHI.CNT` file will simply be ignored.

Delphi 7

1. Edit both the `D7.CNT` and `D7VCL.CNT` files (in the `BORLAND\DELPHI7\HELP` directory. Load the files into an editor and add the following line at the end:

          :include HTMLVIEW.CNT

   You'll find other similar lines already there.

UnInstalling the Components

To uninstall the HTML components from Windows:

- From the Control Panel, select Add/Remove Programs
- In the listbox on the Install/UnInstall Tab, select HTML Components
- Press the Add/Remove button.

Contacts

Acknowledgements

The following are some of the organizations and individuals who have contributed to the HTML components:

SkyLine Tools, Inc. | ImageLib Graphics Library
Radek Przybyl | Ideas and code for establishing Print margins
Theodor Kleynhans | Animated GIF code
Chris Wallace | Print preview ideas and code
Yves Urbain | The Connection concept for protocol support
Anders Melander | Color dithering code in DitherUnit.Pas
Gustavo Daud | PngImage.pas and PngZLIB.pas
Ron Collins | GIF image code
Mike Lischke | Unicode routines and assistance
jrsoftware.org | Inno Installer

Copyright © 1995-2008 by L. David Baldwin

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

Note that the source modules, HTMLGIF1.PAS, PNGZLIB1.PAS, DITHERUNIT.PAS, and URLCON.PAS are covered by separate copyright notices located in those modules.