Sign in Join
Wiki copytemporary

Add Help to Your Application/de: what changed

Revision 3 to 4. Removed lines have a minus sign; added lines have a plus sign.

OldNewLine
11=Hilfe für Ihre Anwendungen= Die LCL besitzt ein Hilfesystem und ermöglicht es Ihnen, Ihren eigenen Anwendungen eine Hilfefunktion hinzuzufügen.
22
33## Schnellstart
44
55Öffnen Sie das Beispiel in examples/helphtml/.
66
77Dieses Projekt demonstriert, wie die HTML-Hilfekomponenten zu verwenden sind. Legen Sie sie einfach auf einem Formular in Ihrem Projekt ab. Richten Sie die Pfade ein und erzeugen Sie einige HTML-Seiten. Weisen Sie dann jedem Bedienelement in Ihrer Anwendung ein Hilfeschlüsselword (*HelpKeyword*) zu.
88
99Beachten Sie bitte auch den Abschnitt über die "CHM Hilfe" falls Sie an Stelle der HTML-Hilfedateien lieber CHM-Hilfedateien verwenden möchten.
1010
1111## Hilfe - Grundlagen
1212
1313Die LCL - Hilfe besteht hauptsächlich aus zwei Teilen: den Hilfe-Datenbanken und einem Hilfe-Betrachter. Eine Hilfe-Datenbank enthält die Zuordnung der Schlüsselwörter (ID, node, message, pascal, ...) zur Hilfeseite (oder was auch immer). Der Hilfe-Betrachter wird von der Hilfe-Datenbank aufgerufen, um dem Benutzer die Hilfe zu zeigen.
1414
1515- Eine THelpDatabase verwaltet die Inhalte. Diese können aus einer Sammlung von HTML-Seiten oder fpdoc-XML-Dateien bestehen, aus einer CHM-Datei, einer Datenbank oder was auch immer.
1616- Ein THelpViewer ist eine Komponente zum Anzeigen der Hilfe. Beispielsweise kann ein Viewer für den Mimetyp text/html einen Webbrowser starten.
1717
1818Wenn Hilfe angefordert wurde, durchsucht die LCL jede registrierte THelpDatabase und jede Datenbank kann eine Liste von Einträgen zurückliefern. Falls mehrere Einträge aufscheinen, ersucht die LCL den Benutzer, einen Eintrag auszuwählen. Dann beauftragt die LCL die Datenbank, diesen Hilfeeintrag anzuzeigen. Die Datenbank extrahiert den Hilfeinhalt und fragt die LCL nach einem Viewer der den Mimetyp des Inhalts unterstützt. Zuletzt zeigt der Viewer den Hilfeinhalt an.
1919
2020## CHM
2121
2222In Lazarus 1.0 wurde die Unterstützung für eine kontextsensitive CHM-Hilfe für Ihre Anwendungen hinzugefügt.
2323
2424Ein enthaltenes Demonstrationsprogramm zeigt, wie Sie die kontextsensitive CHM-Hilfe und den lhelp CHM-Viewer (übrigens denselben, der auch von der IDE-Hilfe benutzt wird) einsetzen können. Sehen Sie dazu bitte lazarus/components/chmhelp/democontrol/.
2525
2626Schreiben Sie Ihre eigenen CHM-Dateien, z.B. mit dem etwas antiquierten Microsoft HTML Workshop oder mit den neuen Lazarus ChmMaker-Tools in lazarus/tools/chmmaker. Sie können ein CHMHelpDatabase-Steuerelement genau so benutzen wie das unten beschriebene HTMLHelpdatabase-Steuerelement.
2727
2828Der Vorteil des CHM Systems ist eine einzelne, kleinere Hilfedatei an Stelle von mehreren Dateien. Andererseits hat nicht jedes System einen CHM-Viewer. Deshalb könnten Sie lhelp mitliefern, einen CHM-Viewer, der in Pascal geschrieben ist. Den Quelltext finden Sie in den Lazarus-Quellen: (components/chmhelp/lhelp/lhelp.lpi).
2929
3030### LHelp benutzen
3131
3232- Fügen Sie einen **TLHelpConnector** in Ihr Formular ein.
3333- Legen Sie einen **LHelpPath** mit dem Namen und dem Speicherort der ausführbaren LHelp-Datei fest (dies kann absolut oder relativ zum Anwendungsverzeichnis sein).
3434- Setzen Sie **AutoRegister** auf true.
3535
3636``` pascal
3737// Example with both chm file and LHelp.exe in Application folder.
3838Procedure TForm1.FormCreate(Sender: TObject);
3939Begin
4040 If FileExists(ChangeFileExt(Application.ExeName, '.chm')) Then
4141 Begin
4242 CHMHelpDatabase1.Filename := ChangeFileExt(Application.ExeName, '.chm');
4343 CHMHelpDatabase1.Keyword := 'test';
4444 CHMHelpDatabase1.AutoRegister:=True;
4545
4646 LHelpConnector1.LHelpPath := IncludeTrailingBackSlash(ExtractFileDir(Application.ExeName)) + 'lhelp.exe';
4747 LHelpConnector1.AutoRegister:=True;
4848 end
4949 Else
5050 mnuHelpMain.Enabled := False;
5151End;
5252
5353Procedure TForm1.Button1Click(Sender: TObject);
5454Begin
5555 If mnuHelpMain.Enabled Then
5656 ShowHelpOrErrorForKeyword('','test/Main.html');
5757 //ShowTableOfContents; (Not implemented for TCHMHelpDatabase)
5858End;
5959```
6060
6161## HTML
6262
6363Die LCL bietet zwei Komponenten mit HTML-Dateien als Hilfe: THTMLHelpDatabase und THTMLBrowserHelpViewer. Ein Beispiel für die HTML-Hilfe finden Sie unter: examples/helphtml/htmlhelp1.lpi.
6464
6565### Einrichten der HTML-Hilfe für Ihre Anwendung
6666
67-Es ist einfach, Ihrer Anwendung eine HTML-Hilfe hinzuzufügen: <img src="LazHtmlHelp.jpg" title="Lazarus help items" width="500" alt="Lazarus help items" />
67+Es ist einfach, Ihrer Anwendung eine HTML-Hilfe hinzuzufügen: ![Lazarus help items](/wiki-images/7/7e/LazHtmlHelp.jpg)
6868
6969- Geben Sie eine **THTMLHelpDatabase** auf ein Formular.
7070- Setzen Sie **AutoRegister** auf true.
7171- Setzen Sie **KeywordPrefix** auf **HTML/**. Das bedeutet, dass alle Schlüsselwörter mit der Zeichenkette *HTML/* beginnen müssen.
7272- Setzen Sie **BaseURL** auf **<file://html/>**. Dadurch werden die HTML-Dateien im Unterverzeichnis *html* gesucht. Sie können vollständige Pfade wie *<file:///usr/lib/yourhelp/>* oder einen URL wie *<http://www.yoursite.com/>* angeben.
7373
7474- Geben Sie einen **THTMLBrowserHelpViewer** auf das Formular. Diese Komponente kann den Standardbrowser des Benutzers starten.
7575- Setzen Sie **AutoRegister** auf true.
7676
7777### Erzeugen eines Hilfeeintrags
7878
7979- Legen Sie jetzt das Unterverzeichnis *html* an und erzeugen Sie eine HTML-Seite *html/edit1.html*.
8080- Geben Sie ein TEdit auf das Formular.
8181- Setzen Sie **HelpType** auf *htKeyword*
8282- Setzen Sie **HelpKeyword** auf *html/edit1.html*
8383
8484Wenn Ihr Programm läuft, setzen Sie den Focus auf das Edit-Element und drücken Sie F1 für Hilfe. Unter OS X ist die Hilfetaste Cmd-? (oder Cmd+Shift+? abhängig von Ihrem Tastatur-Layout). Anmerkung: Einige Fenster-Manager / Widgetset - Kombinationen leiten F1 nicht an die LCL weiter.
8585
8686## INF (mit dem DocView-Hilfe-Viewer des Toolkits fpGUI)
8787
8888Siehe den Beitrag und das Beispielprojekt im Lazarus-Forum. [1](https://forum.lazarus.freepascal.org/index.php/topic,27864.msg173887.html#msg173887) Es wird ein voll funktionsfähiges Beispiel einer LCL-Anwendung mit dem [DocView-Hilfe-Viewer](http://fpgui.sourceforge.net/screenshots_apps.shtml) des Toolkits [[fpGUI]] mit kontextsensitiver und allgemeiner Hilfe gezeigt.
8989
9090Beispielsweise:
9191
9292- Setzen Sie den Fokus auf ein bestimmtes Steuerelement und drücken Sie `F1`. Es wird das Hilfethema für dieses Steuerelement angezeigt.
9393- Klicken Sie auf den Button Hilfe, um das Hilfethema für den Dialog / das Formular anzuzeigen.
9494- Wählen Sie den Menüpunkt "Hilfe -\> Hilfe anzeigen". Daraufhin wird die allgemeine Anwendungshilfe und das erste Thema in der Hilfedatei angezeigt.
9595
9696---
9797*From the Free Pascal wiki, page "Add Help to Your Application/de", as it stood on 2020-03-09 after a change by Techno, out of the wiki's dump of 2024-05-26. Copyright stays with the author who wrote it, according to the old wiki's [[Licensing]] page. If you have concerns about this material, [message the admin](/wiki-contact).*
9898Category: Help and Docs/de
9999Category: Tutorials/de

Back to history