Welche Hilfegenerierung verwendet ihr?

Rund um die LCL und andere Komponenten
Antworten
charlytango
Beiträge: 1267
Registriert: Sa 12. Sep 2015, 12:10
OS, Lazarus, FPC: Laz stable (2.2.6, 3.x)
CPU-Target: Win 32/64, Linux64
Wohnort: Wien

Welche Hilfegenerierung verwendet ihr?

Beitrag von charlytango »

Hi,

ich möchte eine komponente zur Verfügung stellen und dabei auch eine ordentliche Hilfe/Spezifikation zur Verfügung stellen.

Was nutzt ihr dazu?

fpdoc?
pasdoc?

anderes`warum?
Was sollte man benutzen macht es aber wegen des Aufwandes nicht ?

Bitte um Hilfe, es wäre meine erste Komponente die ich versuche sauber zu veröffentlichen

LG

wp_xyz
Beiträge: 5486
Registriert: Fr 8. Apr 2011, 09:01

Re: Welche Hilfegenerierung verwendet ihr?

Beitrag von wp_xyz »

In TAChart habe ich mit fpdoc gearbeitet, in FPSpreadsheet mit pasdoc. Letzteres ist mir sympatischer, weil ich die Kommentare aus dem Quellcode direkt in die Hilfe übernehmen kann, was meiner Arbeitsweise entgegenkommt. Der "FPDoc Editor" dagegen hat eine eigenartige Formatierung der xml-Dateien, auf die er zumal bei jedem Speichern (das unkontrollierbar oft erfolgt) zurückgeht.

In beiden Fällen bin ich mit dem Ergebnis nicht zufrieden, denn man kann die erzeugten chm-Dateien nicht in Lazarus einbinden, so dass man, wie bei LCL, FCL einfach F1 drücken kann und so den Hilfetext zu dem Bezeichner unter dem Cursor erhält. Zumindest ist mir das noch nicht gelungen.

Und die Hilfe-Dateien sind relativ nichtssagenend, denn sie sind überladen mit leeren Einträgen (nicht physikalisch leer, sondern mit minimalem, automatisch generierten Content wie "Das ist der Constructor der Klasse XYZ"). Die wichtigeren Einträge, die man selbst geschrieben hat, sind daher zugemüllt und schwer zu finden. Und wenn man keine leeren Einträge will, muss man für jeden Sch... einen Hilfetext schreiben - womit aber die wichtigen Einträge auch wieder untergehen.

Daher habe ich es bei anderen Komponenten aufgegeben, Hilfedateien (chm) zu erstellen, und schreibe stattdessen wiki-Artikel mit der von mir gewünschten Struktur: Installation - Abstract (was macht die Komponente) - Erste Schritte (wie kann ich die Komponente anwenden) - Aufzählung und Kurzbeschreibung der wichtigsten Properties und Methoden. Und falls wirklich eine offline-Hilfe-Datei mit ausgeliefert werden soll, findest du im FPSpreadsheet-Projekt ein Skript, wie du diese wiki-Datei herunterladen und in eine chm und/oder pdf-Datei umwandeln kannst. (README.txt in fpspreadsheet/docs).

Eine Alternative zur Hilfe im wiki sind evtl. externe Hilfe-Generatoren, etwa HelpNDoc. Da kann man sich selbst die Baumstruktur der Hilfethemen definieren und die Hilfethemen selbst ähnlich wie in einer Textverarbeitung mit verschiedenen Schriftarten und eingebundenen Bildern schreiben, und alle möglichen Dateiformate erzeugen: chm, pdf, docx, ... Nachteil: das sind kommerzielle Programme, HelpNDoc gibt es in der Basis-Version zwar kostenlos, ist aber dann nur für den persönlichen Gebrauch erlaubt (es gibt 1-2x im Jahr für ein paar Tage eine stark reduzierte Vollversion für ca. 150 EUR).

Wenn jemand gern html-Seiten schreibt, wäre evtl auch chmmaker aus dem Lazarus "tools"-Verzeichnis eine Option: Man kann sich wie bei HelpNDoc den Baum der Hilfethemen zusammenstellen und kann dann die dazu vorhandenen html-Seiten einbinden. Erzeugt nur chm, wenn ich mich nicht täusche.

Apropos chm: Nachdem diese selbst unter Windows immer mehr Probleme machen und nur noch nach Freigabe durch den Benutzer angezeigt werden, ist das auch keine gute Option...
Zuletzt geändert von wp_xyz am Mo 17. Aug 2026, 09:34, insgesamt 2-mal geändert.

Benutzeravatar
fliegermichl
Lazarusforum e. V.
Beiträge: 1814
Registriert: Do 9. Jun 2011, 09:42
OS, Lazarus, FPC: Lazarus Fixes FPC Stable
CPU-Target: 32/64Bit
Wohnort: Echzell

Re: Welche Hilfegenerierung verwendet ihr?

Beitrag von fliegermichl »

Das wäre doch ein schönes Beispiel für den Thread Welches Programm fehlt uns noch.

Benutzeravatar
af0815
Lazarusforum e. V.
Beiträge: 7413
Registriert: So 7. Jan 2007, 10:20
OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
CPU-Target: 32Bit (64Bit)
Wohnort: Burgenland
Kontaktdaten:

Re: Welche Hilfegenerierung verwendet ihr?

Beitrag von af0815 »

Fpdoc kann auch nur eine Sprache. Englisch. Alles andere ist von den Entwicklern nicht akzeptiert. Info von MvC vor etlichen Jahren. Nach einigen Diskussionen über die Doku habe ich mich entschlossen fpdoc nicht einmal mehr anzusehen und auch keine fixes mehr dafür zu machen. Bei der Wiki herrschen ähnliche Zustände, vernünftige Wartbarkeit der Mehrsprachigkeit werden trotz Jahrzehnte länger Diskussion nicht einmal ignoriert. Englisch ist die einzige akzeptierte Sprache.
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).

Socke
Lazarusforum e. V.
Beiträge: 3194
Registriert: Di 22. Jul 2008, 19:27
OS, Lazarus, FPC: Lazarus: SVN; FPC: svn; Win 10/Linux/Raspbian/openSUSE
CPU-Target: 32bit x86 armhf
Wohnort: Köln
Kontaktdaten:

Re: Welche Hilfegenerierung verwendet ihr?

Beitrag von Socke »

af0815 hat geschrieben: Mo 17. Aug 2026, 08:18 Fpdoc kann auch nur eine Sprache. Englisch. Alles andere ist von den Entwicklern nicht akzeptiert. Info von MvC vor etlichen Jahren.
Das bezieht sich aber vor allem auf Dokumentationssprache von Free Pascal und Lazarus selbst. Wenn du deine eigenen Komponenten mit Fpdoc in Deutsch dokumentieren möchtest, kannst du auch deutschen Text eingeben.
MfG Socke
Ein Gedicht braucht keinen Reim//Ich pack’ hier trotzdem einen rein

Benutzeravatar
af0815
Lazarusforum e. V.
Beiträge: 7413
Registriert: So 7. Jan 2007, 10:20
OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
CPU-Target: 32Bit (64Bit)
Wohnort: Burgenland
Kontaktdaten:

Re: Welche Hilfegenerierung verwendet ihr?

Beitrag von af0815 »

Socke hat geschrieben: Mo 17. Aug 2026, 09:30
af0815 hat geschrieben: Mo 17. Aug 2026, 08:18 Fpdoc kann auch nur eine Sprache. Englisch. Alles andere ist von den Entwicklern nicht akzeptiert. Info von MvC vor etlichen Jahren.
Das bezieht sich aber vor allem auf Dokumentationssprache von Free Pascal und Lazarus selbst. Wenn du deine eigenen Komponenten mit Fpdoc in Deutsch dokumentieren möchtest, kannst du auch deutschen Text eingeben.
Eingeben ja, aber nicht mehrsprachig arbeiten. Auch wenn du jetzt die Texte in mehreren Sprachen hättest, kann fpdoc das aufgrund Designentscheidungen im "way of working" das nicht stemmen. Ist für mich für den Bau von Dokumentation somit unbrauchbar.
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).

Benutzeravatar
af0815
Lazarusforum e. V.
Beiträge: 7413
Registriert: So 7. Jan 2007, 10:20
OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
CPU-Target: 32Bit (64Bit)
Wohnort: Burgenland
Kontaktdaten:

Re: Welche Hilfegenerierung verwendet ihr?

Beitrag von af0815 »

wp_xyz hat geschrieben: Sa 15. Aug 2026, 19:13 In beiden Fällen bin ich mit dem Ergebnis nicht zufrieden, denn man kann die erzeugten chm-Dateien nicht in Lazarus einbinden, so dass man, wie bei LCL, FCL einfach F1 drücken kann und so den Hilfetext zu dem Bezeichner unter dem Cursor erhält. Zumindest ist mir das noch nicht gelungen.
Mir vor Jahren schon mal. Das Geheimnis ist dabei das man ein eigens Indizierungs Dokument erzeugen und mit einbinden muss. Das ist jetzt mehr als 15 Jahre her, keine Ahnung wie ich das damals zusammengebracht habe. Ich stand damals mit MvC ein paar mal in Verbindung deswegen. Draufgekommen bin ich, weil ich damals die FPC/Lazarus Doku selbst kompilieren wollte, dabei bin ich auch über die Indexierung gestolpert. Ist aber zu lange her. Das war so um die Zeit, wo ich dem Forum beigetreten bin. :D
Apropos chm: Nachdem diese selbst unter Windows immer mehr Probleme machen und nur noch nach Freigabe durch den Benutzer angezeigt werden, ist das auch keine gute Option...
chm ist ja im Hintergrund verstecktes html, nachdem es MS eingestllt hat, vermutlich auch deswegen weil es als gutes Versteck für Böse funktioniert hat. Ist natürlich der Zugriff darauf zum aktiv Freigeben. MS hat das am Anfang nicht wirklich durchgesetzt, erst jetzt wo die Regeln viel strenger durchgesetzt werden fällt es auf. Auch durch die Unart unter Windows prinzipiell als Administrator zu arbeiten hat das ganze versteckt. Auf Arbeitsplätzen die als Benutzer konfiguriert waren, ist das die letzen 10 Jahren schon aufgefallen, deswegen wir das sauber als installations Produkt ausgerollt haben.
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).

MmVisual
Beiträge: 1643
Registriert: Fr 10. Okt 2008, 23:54
OS, Lazarus, FPC: Winuxarm (L 4.4 FPC 3.2.2)
CPU-Target: 32/64Bit

Re: Welche Hilfegenerierung verwendet ihr?

Beitrag von MmVisual »

Ich schreibe seit vielen Jahrzehnte meine Doku in HTML Dateien. Einfaches HTML, keine Scripte, kein Java. Nur CSS und Bilder sind extra Dateien.

Dazu verwende ich den HtmlHelp Compiler von Microsoft, der macht eine Baumstruktur (und die CHM Datei).
Mit dazu erstelle ich eine Alias und Index Datei, die kann der HtmlHelp Compiler von MS ebenfalls verarbeiten.
Damit ist es möglich mit dem "HelpContext" eine Kontextbezogene Hilfe auf zu rufen.

Da, wie schon oben erwähnt, MS die Anzeige der CHM Datei stark einschränkt bin ich nun diesen Weg gegangen:
Alle Dateien der Hilfe packe ich mir in eine Ressource und habe mir ein TForm selbst geschrieben, links der Themen Baum und rechts die THtmlViewer Komponente.
Anhand der Baum-Datei, der Index und Alias Datei kann ich somit selbst die Kontextbezogene Hilfe aufrufen.
Der Trick dabei: Die Hilfe ist als Ressource mit in der EXE mit drin, damit ist die Hilfe immer verfügbar und passend zum Stand der EXE.

Webseite: Auf meiner Homepage verwende ich ebenfalls genau die gleiche Dateien. Dazu habe ich ein extra PHP Script geschrieben, das die Baumstruktur Datei lesen kann und den Baum im Webbrowser anzeigt.

Da die Web-Online Hilfe identisch ist mit der Hilfe in der EXE und die EXE daher die Dateinamen kennt, kann ich nun aus der EXE heraus die Web-Hilfe mit einem Google Translator Link aufrufen und somit kann jeder meine Hilfe in seine Lieblings Sprache frei übersetzen lassen. :D

Das Schreiben der Hilfe Webseiten hat sich seit Jahrzehnte nicht geändert, die Möglichkeiten sind nach wie vor in alle Richtungen offen und die geschriebene Hilfe ist vielfältig immer wieder weiter verwendbar. HTML ist zukunftsicher, das kann man nicht mehr aus der Welt bekommen ohne dass man das Internet neu erfindet.

Meine Empfehlung: Schreibe die Hilfe in HTML. z.B. mit dem WYSIWYG Editor "Kompozer".

Beispiel, meine Online-Doku: https://elela.de/Hilfe/Index.php?url=Index.htm
Beispiel, die CHM Datei: https://elela.de/link.php?f=Li9FbGVMYV9 ... NobQ==&n=3
Zuletzt geändert von MmVisual am Di 18. Aug 2026, 08:15, insgesamt 1-mal geändert.
EleLa - Elektronik Lagerverwaltung - www.elela.de

charlytango
Beiträge: 1267
Registriert: Sa 12. Sep 2015, 12:10
OS, Lazarus, FPC: Laz stable (2.2.6, 3.x)
CPU-Target: Win 32/64, Linux64
Wohnort: Wien

Re: Welche Hilfegenerierung verwendet ihr?

Beitrag von charlytango »

af0815 hat geschrieben: Mo 17. Aug 2026, 08:18 Fpdoc kann auch nur eine Sprache. Englisch. Alles andere ist von den Entwicklern nicht akzeptiert. Info von MvC vor etlichen Jahren.
Bei der Wiki herrschen ähnliche Zustände, vernünftige Wartbarkeit der Mehrsprachigkeit werden trotz Jahrzehnte länger Diskussion nicht einmal ignoriert. Englisch ist die einzige akzeptierte Sprache.
Das tut echt weh, ich halte das für eine Fehlentscheidung oder reine Sturheit.
Auf der einen Seite die mangelnde Verbreitung beklagen und auf der anderen Seite nichts zur Internationalisierung beitragen, besonders wenn das Wiki das automatisiert könnte.

Antworten