{ *************************************************************************** * * * This source is free software; you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * * the Free Software Foundation; either version 2 of the License, or * * (at your option) any later version. * * * * This code is distributed in the hope that it will be useful, but * * WITHOUT ANY WARRANTY; without even the implied warranty of * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * * General Public License for more details. * * * * A copy of the GNU General Public License is available on the World * * Wide Web at . You can also * * obtain it by writing to the Free Software Foundation, * * Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1335, USA. * * * *************************************************************************** Abstract: This example demonstrates the html help components. THTMLHelpDatabase is a database - it contains the mapping from Keyword to page. THTMLBrowserHelpViewer is a viewer for HTML pages. It simply starts a browser. How was the example created: Put a THTMLHelpDatabase on a form. Set AutoRegister to true. Set KeywordPrefix to 'HTML/' Set BaseURL to 'file://html/' Put a THTMLBrowserHelpViewer on the form. Set AutoRegister to true. Put a TEdit on a form. Set HelpType to htKeyword Set HelpKeyword to 'HTML/edit1.html' Run the program. Focus the edit field and press F1. A browser will be started to show the page 'html/edit1.html'. } unit Unit1; {$mode objfpc}{$H+} interface uses Forms, StdCtrls, LazHelpHTML, HelpIntfs; type { TForm1 } TForm1 = class(TForm) HelpButton: TButton; Edit1: TEdit; Edit2: TEdit; HTMLBrowserHelpViewer1: THTMLBrowserHelpViewer; HTMLHelpDatabase1: THTMLHelpDatabase; procedure FormCreate(Sender: TObject); procedure HelpButtonClick(Sender: TObject); private { private declarations } public { public declarations } end; var Form1: TForm1; implementation { TForm1 } procedure TForm1.HelpButtonClick(Sender: TObject); begin // This demonstrates how to show a help item manually: ShowHelpOrErrorForKeyword('','HTML/index.html'); end; procedure TForm1.FormCreate(Sender: TObject); const {$IFDEF Darwin} HelpShortcut = #$e2#$8c#$98'?'; {$ELSE} HelpShortcut = 'F1'; {$ENDIF} begin // path relative to the application directory in BaseURL HTMLHelpDatabase1.BaseURL:='file://html/'; // works // absolute path in BaseURL // for Windows //HTMLHelpDatabase1.BaseURL:='file://c:/lazarus/examples/helphtml/html/'; // works //HTMLHelpDatabase1.BaseURL:='file://c:\temp\html\'; //works //HTMLHelpDatabase1.BaseURL:='c:\temp\html\'; // works //HTMLHelpDatabase1.BaseURL:='c:/temp/html\'; // works //HTMLHelpDatabase1.BaseURL:='file://c|/temp/html/'; // fails - | not supported //HTMLHelpDatabase1.BaseURL:='file://c|\temp\html\'; // fails - | not supported //HTMLHelpDatabase1.BaseURL:='file:///temp/html/'; // fails - not absolute on Windows // absolute paths in BaseURL // for Linux //HTMLHelpDatabase1.BaseURL:='file:///usr/temp/html/'; //HTMLHelpDatabase1.BaseURL:='file://~/html/'; Edit1.Text:='Edit1 - Press '+HelpShortcut+' for help'; Edit2.Text:='Edit2 - Press '+HelpShortcut+' for help'; end; {$R *.lfm} end.