Online-Hilfe

Mit welchen Programmen kann man die .hlp-Hilfedateien kompilieren?

Es gibt von Microsoft drei verschiedene Programme, um die klassischen Windows-Hilfedateien (.hlp) zu kompilieren:

Die Hilfe-Compiler finden sich bei Delphi 1 im Unterverzeichnis /bin, bei den 32 Bit-Delphiversionen im Unterverzeichnis /help/tools.

Die Hilfetexte im Rich Text Format (.rtf) können im Prinzip mit jeder beliebigen Textverarbeitung erstellt werden, die .rtf-Dateien speichern kann. Allerdings werden Hyperlinks als versteckter Text formatiert, diese Formatierung muß das verwendete Programm also kennen, außerdem muß das Programm Fußnoten erstellen können. Zur Erstellung von Bitmaps mit Hotspots bietet sich außerdem das MS-Programm "Multimedia Viewer Hotspot-Editor" (shed.exe bzw. shed2.exe) an. Dieses Programm kann Bitmaps mit verschiedenen sichtbaren oder unsichtbaren Zonen belegen, die nach einem Mausklick zu einem anderen Hilfethema verzweigen. Man kann es kostenos von der MS-Homepage laden.

Den Suchen-Dialog der Windows-Hilfe aufrufen und andere Hilfefunktionen

Mit der Funktion HelpCommand kann man den Aufruf der Online-Hilfe steuern. So gelangt man direkt in den "Suchen"-Dialog der Online-Hilfe:

  Application.HelpCommand(Help_PartialKey,longint(PChar('')));
Außerdem gibt es noch folgende nützliche Funktionen:

  {Inhaltsverzeichnis der Onlinehilfe aufrufen}
  Application.HelpCommand(Help_Contents,0);
  {oder}
  Application.HelpCommand(Help_Finder, 0);

  {Ein Thema mit einem bestimmten Namen aufrufen
   (#-Fußnote in der RTF-Datei, hier: 'info')}
  Application.HelpJump('Info');

  {Den Begriff 'info' suchen:}
  Application.HelpCommand(Help_PartialKey,longint(PChar('info')));

Der Help Compiler HCW meldet einen Fehler bei RTF-Dateien von MS Word 97. Warum?

Die Dateien, die von Word 97 als RTF-Dateien gespeichert werden, entsprechen nicht 100-prozentig dem RTF-Format. Es gibt mehrere Lösungen:

Wie ruft man kontextsensitive Hilfe als Pop-Fenster auf?

1. Laut Win32.hlp bekommt ein Fenster beim Klick auf das beschriebene kleine Fragezeichen eine WM_SYSCOMMAND-Message mit dem lParam SC_CONTEXTHELP zugeschickt. Ich habe auch mal eine solche Message an mein Form.Handle geschickt, und siehe -- das Fregezeichen kam; allerdings ist das nicht ausführlich getestet.

2. Diese süssen kleinen Popups bekommst Du mit Application.HelpCommand(HELP_CONTEXTPOPUP, HelpContext); oder mit WinHelp (API-Funktion). Unter letzterer findest Du auch jede Menge weiterer Parameter, die man HelpCommand bzw. WinHelp übergeben kann, solltest Du unbedingt lesen. (Thorsten Vitt)

Wie kann man einen Link auf eine Mailadresse oder eine Internetseite erstellen?

Das geht mit einem Aufruf des "ExecFile"-Makros:

Link auf eine Web-Adresse:
NameDesLinks! ExecFile("http://www.pics-software.de")

Link auf eine Email-Adresse:
NameDesLinks! ExecFile("mailto:reinhardt@picsoft.de")

Den Link wie immer doppelt unterstreichen, ab und mit dem Ausrufezeichen wird der Text als "versteckt" formatiert. (Philip Hofstetter)