Home » Tutorials » Tools » HTML-Hilfe

HTML-Hilfe

Seiten-IDs

Das Problem ist Folgendes: Beim Aufruf einer Hilfeseite aus einer Delphi-Anwendung muss diese ja irgendwie identifiziert werden können. Dies geschieht in der Regel anhand einer ganzzahligen ID. Da der HTML-Help-Workshop jedoch alphanumerische IDs (also aus Buchstaben) verwendet, wird das Ganze etwas umständlich. Zuerst muss einer HTML-Seite eine eindeutige String-Konstante zugeordnet werden und dieser dann eine Zahl.
Dazu geht man folgendermaßen vor:
In einem Editor legt man eine Datei mit folgendem Inhalt an:

IDH_Seite1=seite1.htm
IDH_Seite2=seite2.htm
...

Auf der linken Seite des Gleichheitszeichens steht ein frei definierbarer Wert (er muss nur eindeutig sein und sollte mit IDH_ beginnen; er muss nichts mit dem Namen der HTML-Datei zu tun haben), rechts der Name der zugehörigen HTML-Seite relativ zum Verzeichnis, in dem sich die Projektdatei .hhp befindet.
Diese Datei wird unter einem Namen mit der Endung .ali (für Alias) gespeichert.
Nun legen wir eine zweite Textdatei an:

#define IDH_Seite1 1001
#define IDH_Seite2 1002
...

Jede Zeile beginnt mit der Anweisung #define, gefolgt von einer ID aus der Alias-Datei und einer Zahl, die ebenfalls eindeutig sein muss. Man kann z. B. eine Strategie entwickeln, dass alle Hilfeseiten, die zu einem bestimmten Fenster der Anwendung gehören mit 1000 beginnen, die eines anderen Fensters mit 2000 usw. Es muss keine bestimmte Reihenfolge eingehalten werden.
Diese Datei wird am besten unter dem gleichen Namen wie die Alias-Datei, aber mit der Endung .h (für Header), gespeichert.
Nun begeben wir uns wieder in den HTML Help Workshop und klicken auf der Project-Seite auf den vierten Button von oben („HTMLHelp API information„). Auf der Registerseite „Map“ fügen wir unser Header-File hinzu (über „Add“) und auf der Seite „Alias“ unsere Alias-Datei (über „Include“).
Nun sollte die Hilfe noch einmal neu kompiliert werden.
Damit hat der HTML Help Workshop für unsere Zwecke erst einmal ausgedient, und wir wenden uns Delphi zu.