Wiki-KopieMirror

Dies ist ein Mirror des Wikis von pascal.chat. Bearbeiten, Verlauf und Anmeldung finden dort statt.

Add Help to Your Application/de

Deutsch · English · Español · Français · Русский · 中文(中国)

=Hilfe für Ihre Anwendungen= Die LCL besitzt ein Hilfesystem und ermöglicht es Ihnen, Ihren eigenen Anwendungen eine Hilfefunktion hinzuzufügen.

Schnellstart

Öffnen Sie das Beispiel in examples/helphtml/.

Dieses 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.

Beachten Sie bitte auch den Abschnitt über die "CHM Hilfe" falls Sie an Stelle der HTML-Hilfedateien lieber CHM-Hilfedateien verwenden möchten.

Hilfe - Grundlagen

Die 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.

Wenn 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.

CHM

In Lazarus 1.0 wurde die Unterstützung für eine kontextsensitive CHM-Hilfe für Ihre Anwendungen hinzugefügt.

Ein 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/.

Schreiben 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.

Der 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).

LHelp benutzen

pascal
// Example with both chm file and LHelp.exe in Application folder.
Procedure TForm1.FormCreate(Sender: TObject);
Begin
  If FileExists(ChangeFileExt(Application.ExeName, '.chm')) Then
  Begin
    CHMHelpDatabase1.Filename := ChangeFileExt(Application.ExeName, '.chm');
    CHMHelpDatabase1.Keyword := 'test';
    CHMHelpDatabase1.AutoRegister:=True;

    LHelpConnector1.LHelpPath := IncludeTrailingBackSlash(ExtractFileDir(Application.ExeName)) + 'lhelp.exe';
    LHelpConnector1.AutoRegister:=True;
  end
  Else
    mnuHelpMain.Enabled := False;
End; 

Procedure TForm1.Button1Click(Sender: TObject);
Begin
  If mnuHelpMain.Enabled Then  
    ShowHelpOrErrorForKeyword('','test/Main.html');
    //ShowTableOfContents;  (Not implemented for TCHMHelpDatabase)
End;

HTML

Die 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.

Einrichten der HTML-Hilfe für Ihre Anwendung

Es ist einfach, Ihrer Anwendung eine HTML-Hilfe hinzuzufügen: Lazarus help items

Erzeugen eines Hilfeeintrags

Wenn 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.

INF (mit dem DocView-Hilfe-Viewer des Toolkits fpGUI)

Siehe den Beitrag und das Beispielprojekt im Lazarus-Forum. 1 Es wird ein voll funktionsfähiges Beispiel einer LCL-Anwendung mit dem DocView-Hilfe-Viewer des Toolkits fpGUI mit kontextsensitiver und allgemeiner Hilfe gezeigt.

Beispielsweise:


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.

Version 4, zuletzt geändert von WikiArchive .