Difference between revisions of "Lazarus Documentation Editor/de"

From Free Pascal wiki
Jump to navigationJump to search
m
 
(7 intermediate revisions by 3 users not shown)
Line 1: Line 1:
 +
{{Lazarus Documentation Editor}}
 +
 
== Einleitung ==
 
== Einleitung ==
  
Ein wichtiger Teil von Lazarus der noch fehlt, ist die Dokumentation. Um beim Erstellen dieser Dokumentation zu helfen, wurde ein Werkzeug entwickelt. Diese Seite will die Arbeiten dieses Werkzeugs beschreiben.
+
Ein wichtiger Teil von Lazarus, der noch fehlt, ist die Dokumentation. Diese Seite beschreibt die Arbeitsweise eines Werkzeugs, das bei der Erstellung der Dokumentation hilft.
Zur Bezeichnung des Lazarus Basis Verzeichnisses benutze ich [$LazDir]. Wenn sie dieses lesen, ersetzen sie es durch das Verzeichnis, in dem Lazarus installiert ist.
+
Das Lazarus-Basis-Verzeichnisses wird [$LazDir] genannt. Wenn sie dieses lesen, ersetzen sie es durch das Verzeichnis, in dem Lazarus installiert ist.
  
 
== Das Weshalb ==
 
== Das Weshalb ==
 
Das erste Ziel dieses Projektes ist es, eine Online Hilfedatei verfügbar zu machen. Um die Hilfedatei plattformunabhängig zu machen haben wir begonnen, XML Dateien für jede Unit in Lazarus zu erzeugen. Bislang wurde nur mit dialogs.pp und buttons.pp begonnen.
 
Das erste Ziel dieses Projektes ist es, eine Online Hilfedatei verfügbar zu machen. Um die Hilfedatei plattformunabhängig zu machen haben wir begonnen, XML Dateien für jede Unit in Lazarus zu erzeugen. Bislang wurde nur mit dialogs.pp und buttons.pp begonnen.
  
Diese XML-Dateien werden dann benutzt, um HTML-Seiten zu erzeugen, welche über das Internet abgerufen werden können unter http://lazarus-ccr.sourceforge.net/docs/lcl/ . In einem späteren Stadium wird eine integrierte Hilfe entwickelt, unter erneuter Nutzung der selben XML-Dateien.
+
Die XML-Dateien werden dann benutzt, um HTML-Seiten zu erzeugen, die über das Internet abgerufen werden können unter http://lazarus-ccr.sourceforge.net/docs/lcl/. In einem späteren Stadium werden die selben XML-Dateien genutzt, um eine integrierte Hilfe zu entwickeln.
  
 
== Der Start ==
 
== Der Start ==
Wie zuvor erwähnt, um die Dokumentation plattformunabhängig zu halten, wird XML verwendet. Die gegenwärtige Dokumentation ist zu finden in [$LazDir]/docs/xml/. Bislang  gibt es meistens Gerüstdateien im LCL Verzeichnis. Die XML Dateien, die sie in diesem Verzeichnis finden, sind automatisch generiert und müssen angepasst werden, um brauchbar zu sein.
+
Wie bereits erwähnt,  wird XML verwendet, um die Dokumentation plattformunabhängig zu halten. Die gegenwärtige Dokumentation findet man in [$LazDir]/docs/xml/. Bislang  gibt es meistens Gerüstdateien im LCL Verzeichnis. Die XML Dateien, die sie in diesem Verzeichnis finden, sind automatisch generiert und müssen angepasst werden, um brauchbar zu sein.
 
So jetzt wissen wir, wo die Dateien zu finden sind. Lassen sie uns auf das Werkzeug schauen, um sie zu erstellen/zu überarbeiten.
 
So jetzt wissen wir, wo die Dateien zu finden sind. Lassen sie uns auf das Werkzeug schauen, um sie zu erstellen/zu überarbeiten.
  
 
=== Das Werkzeug ===
 
=== Das Werkzeug ===
 
"lazde" ist ein Werkzeug, um die XML Dateien zu bearbeiten, aber es kann auch benutzt werden, um die grundlegenden Dateien aus den Quelldateien zu generieren und mittels eines externen Werkzeugs eine HTML Version der Dokumentation zu generieren. Ein Beispiel der Ergebnisse des letzten Werkzeugs ist [http://lazarus-ccr.sourceforge.net/docs/lcl/index.html hier] zu sehen, ein Teil der Dokumentation bis hierher.
 
"lazde" ist ein Werkzeug, um die XML Dateien zu bearbeiten, aber es kann auch benutzt werden, um die grundlegenden Dateien aus den Quelldateien zu generieren und mittels eines externen Werkzeugs eine HTML Version der Dokumentation zu generieren. Ein Beispiel der Ergebnisse des letzten Werkzeugs ist [http://lazarus-ccr.sourceforge.net/docs/lcl/index.html hier] zu sehen, ein Teil der Dokumentation bis hierher.
Wenn sie noch keine kompilierte Version von lazde haben, dann müssen sie sie selbst erstellen. Die Quellen für "lazde" sind zu finden in [$LazDir]/doceditor/.
+
Wenn sie noch keine kompilierte Version von lazde haben, dann müssen sie sie selbst erstellen. Die Quellen für "lazde" findet man in [$LazDir]/doceditor/.
Wenn sie dieses Programm starten und sie [$LazDir]/docs/xml/lcl/dialogs.xml geöffnet haben, dann werden sie diesen Bildschirm präsentiert bekommen
+
Wenn sie dieses Programm starten und sie [$LazDir]/docs/xml/lcl/dialogs.xml geöffnet haben, werden sie diesen Bildschirm präsentiert bekommen
 
<center>[[Image:Lazdemain.png]]</center>
 
<center>[[Image:Lazdemain.png]]</center>
  
Line 23: Line 25:
 
[[Image:Lazdeelements.png|left]]
 
[[Image:Lazdeelements.png|left]]
  
Das Öffnen des Knotens "Packages" wird den "LCL" Knoten zeigen, der einen "Dialogs" knoten enthält. Das Auswählen dieses letzten Knotens wird die untere Baumansicht mit Elementen füllen. Diese Elemente stellen Konstanten, Typen und Klassen dar, die in der Dialogs.pp Unit definiert sind. Benutzte Units sind auch als Knoten hinzugefügt.  
+
Das Öffnen des Knotens "Packages" zeigt den "LCL" Knoten mit einem Knoten "Dialogs". Das Auswählen dieses letzten Knotens füllt die untere Baumansicht mit Elementen. Diese Elemente sind Konstanten, Typen und Klassen, die in der Dialogs.pp Unit definiert sind. Benutzte Units sind auch als Knoten hinzugefügt.  
Andere Knoten sind hinzugefügt für die Eigenschaften einer Klasse, die Parameter für eine Funktion und so weiter.
+
Weitere Knoten sind die für die Eigenschaften einer Klasse, die Parameter für eine Funktion und so weiter.
  
 
Das Auswählen eines Knotens in der unteren linken Baumansicht führt zur Anzeige des Inhalts dieses Knotens auf der rechten Seite des Fensters.
 
Das Auswählen eines Knotens in der unteren linken Baumansicht führt zur Anzeige des Inhalts dieses Knotens auf der rechten Seite des Fensters.
  
Wenn sie auf [http://lazarus-ccr.sourceforge.net/docs/lcl/dialogs/index-4.html diese Seite] schauen, werden sie einen Überblick über die Klassen sehen, die in der "dialogs" Unit definiert sind. Nach jeder Klasse sehen sie eine Textzeile. Dieser Text kommt von der "short" Editbox von lazde.
+
Wenn sie auf [http://lazarus-ccr.sourceforge.net/docs/lcl/dialogs/index-4.html diese Seite] schauen, werden sie einen Überblick über die Klassen sehen, die in der Unit "dialogs" definiert sind. Nach jeder Klasse sehen sie eine Textzeile. Dieser Text stammt von der Editbox  "short" von lazde.
 +
 
 +
Unter der Editbox "short" befindet sich ein Memofeld, in dem sie eine ausführlichere Beschreibung der Komponente oder Eigenschaft eingeben können.
  
Unter der "short" Editbox ist ein Memofeld, wo sie eine ausführlichere Beschreibung der Komponente oder Eigenschaft eingeben können.
+
<b>Beachten sie:</b> Wenn sie einen Zeilenumbruch einfügen wollen, dann benutzen sie <nowiki><br/></nowiki>
Beachten sie: Wenn sie einen Zeilenumbruch einfügen wollen, dann benutzen sie <nowiki><br/></nowiki>
 
  
 
Die nächsten sind "Errors", "See also" und "Example code File".
 
Die nächsten sind "Errors", "See also" und "Example code File".
Line 37: Line 40:
 
"Errors" kann benutzt werden, um über Fehler zu berichten, die von einer Funktion ausgelöst werden, wenn die Parameter Werte außerhalb des Bereichs haben. Für ein Beispiel können sie auf [http://lazarus-ccr.sourceforge.net/docs/rtl/dateutils/recodeyear.html diese Seite schauen].
 
"Errors" kann benutzt werden, um über Fehler zu berichten, die von einer Funktion ausgelöst werden, wenn die Parameter Werte außerhalb des Bereichs haben. Für ein Beispiel können sie auf [http://lazarus-ccr.sourceforge.net/docs/rtl/dateutils/recodeyear.html diese Seite schauen].
  
Genau über "See also" und "Example code File" sehen sie drei Schaltflächen. Diese Schaltflächen erlauben ihnen, Links auf andere Seiten beziehungsweise Codebeispiele hinzuzufügen und zu entfernen.
+
Genau über "See also" und "Example code File" sehen sie drei Schaltflächen. Diese Schaltflächen erlauben ihnen, Verweise auf andere Seiten beziehungsweise Codebeispiele hinzuzufügen und zu entfernen.
  
 
== Das Ergebnis ==
 
== Das Ergebnis ==
 
Werfen sie einen Blick auf die Beschreibung von [http://lazarus-ccr.sourceforge.net/docs/lcl/dialogs/inputquery.html InputQuery].
 
Werfen sie einen Blick auf die Beschreibung von [http://lazarus-ccr.sourceforge.net/docs/lcl/dialogs/inputquery.html InputQuery].
Oben auf der Seite sehen wir, worüber die Seite berichtet, in diesem Fall das InputQuery Funktion Formular der dialogs.pp. Die erste Textzeile ist, was in der "Short" Editbox in lazde eingegeben wurde.
+
Oben auf der Seite sehen wir, worüber die Seite berichtet, in diesem Fall das Formular "InputQuery"-Funktion der dialogs.pp. Die erste Textzeile ist, was in der Editbox "Short" in lazde eingegeben wurde.
  
Als nächstes folgt die Erklärung dieser Funktion in den Quellen. Der Erklärungsteil wurde erzeugt vom Html-Builder und wurde aus den Quellen genommen. Weil es zwei Versionen dieser Funktion gibt, sagt die Quellenposition 0.  
+
Als nächstes folgt die Erklärung dieser Funktion in den Quellen. Der Erklärungsteil wurde vom Html-Builder erzeugt und wurde aus den Quellen übernommen. Die Quellenposition steht auf 0, weil es zwei Versionen dieser Funktion gibt.  
  
Dann werden die Argumente festgelegt. Wenn sie den InputQuery Knoten in lazde öffnen, dann werden sie alle Argumente sehen als Nachfolger Knoten aufgeführt. Der Text, der nach den Argumenten gezeigt wird, wurde in der "Short" Editbox eingegeben, wenn der entsprechende Nachfolger Knoten ausgewählt wurde.
+
Dann werden die Argumente festgelegt. Wenn sie den InputQuery Knoten in lazde öffnen, werden alle Argumente als Nachfolger-Knoten aufgeführt. Der Text, der nach den Argumenten gezeigt wird, wurde in der Editbox "Short" eingegeben, wenn der entsprechende Nachfolger-Knoten ausgewählt wurde.
  
 
Als ein vierter Paragraph wird das Funktionsergebnis gezeigt. Der Text, der hier gezeigt wird, wurde auf die selbe Weise wie die Argumente eingegeben.
 
Als ein vierter Paragraph wird das Funktionsergebnis gezeigt. Der Text, der hier gezeigt wird, wurde auf die selbe Weise wie die Argumente eingegeben.
  
Zum Schluß wird die Beschreibung gezeigt. Dieser Text wurde in der description Box von lazde eingegeben.
+
Zum Schluss wird die Beschreibung gezeigt. Dieser Text wurde in der Box "description" von lazde eingegeben.
  
 
== Das Hinzufügen neuer Units ==
 
== Das Hinzufügen neuer Units ==
  
There are of course other units that need to be documented. If it is for instance a unit for some package, chances are there is no xml file to start with. You have to start from scratch then, but lazde has a function to get you off to a flying start. Just go to File -> New and the following screen will appear:
+
Es gibt natürlich noch andere Units, die dokumentiert werden müssen. Wenn dies zum Beispiel eine Unit für ein Package ist, gibt es wahrscheinlich keine XML Datei, mit der sie beginnen können. Sie müssen dann ganz von vorn anfangen, aber lazde hat eine entsprechende Funktion. Gehen sie zu File -> New und der folgende Bildschirm erscheint:
 
<center>[[Image:Lazdenewdocfromfile.png]]</center>
 
<center>[[Image:Lazdenewdocfromfile.png]]</center>
You start by giving the package a name. All units you want to add to this package should have the same package name. Afterwards you enter the source file to use; you can browse to this file as well. Then enter a name for the output file. (Do not forget the xml extension!) And press OK.
+
Sie beginnen, indem sie dem Package einen Namen geben. Alle Units, die sie zu diesem Package hinzufügen wollen, sollten den selben Package-Namen haben. Anschließend geben sie die Quelldatei ein, die sie benutzen: Sie können auch nach dieser Datei suchen. Dann geben sie einen Namen für die Ausgabedatei ein. (Vergessen sie nicht den XML-Dateityp!) und drücken sie "OK".
  
lazde will then generate the basics for the documentation. The generated file will be opened and the treeview will be populated by all units, classes, types, functions and so on from your source file. Now you are ready to start documenting a new part of Lazarus.
+
lazde wird dann die Grundlagen für die Dokumentation generieren. Die generierte Datei wird geöffnet und die Baumansicht übernimmt aus ihrerQuelldatei alle Units, Klassen, Typen, Funktionen und so weiter. Jetzt sind sie bereit, einen neuen Teil von Lazarus zu dokumentieren.
  
Have a look at [[LCL Documentation Roadmap]] to see which units still need to be documented.
+
Werfen sie einen Blick auf die [[LCL Documentation Roadmap]], um zu sehen, welche Units noch dokumentiert werden müssen.
  
 
== Das Endergebnis ==
 
== Das Endergebnis ==
  
What I experienced during the use of the program is that I would like to see how the information is shown in its final stage (as a browsable document). For this purpose lazde makes use of a utility to build all necessary HTML-files.
+
Während der Benutzung des Programms habe ich die Erfahrung gemacht, dass ich gern sehen würde, wie die Informationen in ihrer finalen Stufe gezeigt werden, am besten als ein durchsuchbares Dokument. Für diesen Zweck verwendet lazde eine Utility, um alle notwendigen HTML-Dateien zu erstellen.
  
This utility can be started from the menu Extra -> Build. The following screen will be shown:
+
Dieses Utility kann aus dem Menü Extra -> Build gestartet werden. Der folgende Bildschirm wird gezeigt:
 
<center>[[Image:Lazdebuild1.png]]</center>
 
<center>[[Image:Lazdebuild1.png]]</center>
"Package" should be the same as the name you gave when you created the xml files. For "Format" choose HTML. At "Output" you enter the path where the resulting files should be placed.
+
"Package" sollte das selbe sein, wie der Name bei der Erstellung der XML-Dateien. Als "Format" wählen sie HTML. Bei "Output" geben sie den Pfad ein, wo die resultierenden Dateien abgelegt werden sollen.
Press "Add all" and all documents your were working on will be added to the project. Then go to the next to tab
+
Drücken sie "Add all" und alle Dokumente, an denen sie arbeiten, werden zum Projekt hinzugefügt. Dann gehen sie zum nächsten Tab
 
<center>[[Image:Lazdebuild2.png]]</center>
 
<center>[[Image:Lazdebuild2.png]]</center>
and enter the paths to the source files.
+
und geben die Pfade zu den Quelldateien ein.
After you have pressed build your HD will start to rattle and finally the following output will be shown on the "Build output" tab.
+
Nachdem sie "build" gedrückt haben, wird ihre Festplatte anfangen zu rattern und schließlich erscheint auf dem "Build output" Tab folgende Ausgabe:
 
  Building docs using command: fpdoc --package="LCL"
 
  Building docs using command: fpdoc --package="LCL"
 
  --output="/home/matthijs/documentatie/LCL" --format=html --content  
 
  --output="/home/matthijs/documentatie/LCL" --format=html --content  
Line 90: Line 93:
 
  Documentation successfully built.
 
  Documentation successfully built.
  
When you go to the directory you entered at "Output" you will see a index.html file and (in this case 4) sub directories. Open index.html in your favorit browser and see the result of all your hard work on the documentation. You will be able to follow the links and read it all.
+
Wenn sie zu dem Verzeichnis gehen, dass sie bei "Output" eingegeben haben, werden sie eine Datei "index.html" sehen und (in diesem Fall 4) Unterverzeichnisse. Öffnen sie index.html in ihrem Browser und betrachten sie das Ergebnis ihrer harten Arbeit an der Dokumentation. Sie können den Verweisen zu folgen und alles lesen.
  
When you plan to continue working on this package of documentation, press "Save" and save the build options. You will be asked to provide a name for the file and the options will be saved. Next time you want to build the HTML-files you can just "load" them again.
+
Wenn sie planen, mit der Arbeit an dieser Dokumentation fortzufahren, drücken sie "Save" und speichern sie die "build" Optionen. Sie werden nach einem Namen für die Datei gefragt und die Optionen werden gespeichert. Wenn sie das nächste Mal die HTML-Dateien erstellen wollen, dann können sie die Optionen einfach erneut laden.
  
 
== Die Einreichung ==
 
== Die Einreichung ==
Wenn sie zufrieden sind mit ihrer Arbeit, dann wollen sie diese sicher mit der Lazarus Community teilen. Alles was sie tun müssen ist einen [[Creating A Patch|Patch]] zu erstellen, ihn zu zippen und einzuschicken.
+
Wenn sie zufrieden mit ihrer Arbeit sind, dann wollen sie diese sicher mit der Lazarus Community teilen. Alles was sie tun müssen, ist einen [[Creating A Patch/de|Patch]] zu erstellen, ihn zu zippen und einzuschicken.
  
 
== Eine kleine Notiz ==
 
== Eine kleine Notiz ==
Beachten sie das Folgende: lazde ist noch in Arbeit. Es ist funktionsfähig, aber noch nicht komplett fertig. Daher können noch Bugs enthalten sein, aber fühlen sie sich frei, diese zu berichtigen.
+
Beachten sie das Folgende: lazde ist noch in Arbeit. Es ist funktionsfähig, aber noch nicht komplett. Daher können noch Bugs enthalten sein, aber scheuen sie sich nicht, diese zu berichtigen.
 +
<br>
 +
<br>
 +
[[Category:Example programs/de]]

Latest revision as of 10:21, 27 March 2013

Deutsch (de) English (en) español (es) français (fr) 日本語 (ja) polski (pl) русский (ru) slovenčina (sk)

Einleitung

Ein wichtiger Teil von Lazarus, der noch fehlt, ist die Dokumentation. Diese Seite beschreibt die Arbeitsweise eines Werkzeugs, das bei der Erstellung der Dokumentation hilft. Das Lazarus-Basis-Verzeichnisses wird [$LazDir] genannt. Wenn sie dieses lesen, ersetzen sie es durch das Verzeichnis, in dem Lazarus installiert ist.

Das Weshalb

Das erste Ziel dieses Projektes ist es, eine Online Hilfedatei verfügbar zu machen. Um die Hilfedatei plattformunabhängig zu machen haben wir begonnen, XML Dateien für jede Unit in Lazarus zu erzeugen. Bislang wurde nur mit dialogs.pp und buttons.pp begonnen.

Die XML-Dateien werden dann benutzt, um HTML-Seiten zu erzeugen, die über das Internet abgerufen werden können unter http://lazarus-ccr.sourceforge.net/docs/lcl/. In einem späteren Stadium werden die selben XML-Dateien genutzt, um eine integrierte Hilfe zu entwickeln.

Der Start

Wie bereits erwähnt, wird XML verwendet, um die Dokumentation plattformunabhängig zu halten. Die gegenwärtige Dokumentation findet man in [$LazDir]/docs/xml/. Bislang gibt es meistens Gerüstdateien im LCL Verzeichnis. Die XML Dateien, die sie in diesem Verzeichnis finden, sind automatisch generiert und müssen angepasst werden, um brauchbar zu sein. So jetzt wissen wir, wo die Dateien zu finden sind. Lassen sie uns auf das Werkzeug schauen, um sie zu erstellen/zu überarbeiten.

Das Werkzeug

"lazde" ist ein Werkzeug, um die XML Dateien zu bearbeiten, aber es kann auch benutzt werden, um die grundlegenden Dateien aus den Quelldateien zu generieren und mittels eines externen Werkzeugs eine HTML Version der Dokumentation zu generieren. Ein Beispiel der Ergebnisse des letzten Werkzeugs ist hier zu sehen, ein Teil der Dokumentation bis hierher. Wenn sie noch keine kompilierte Version von lazde haben, dann müssen sie sie selbst erstellen. Die Quellen für "lazde" findet man in [$LazDir]/doceditor/. Wenn sie dieses Programm starten und sie [$LazDir]/docs/xml/lcl/dialogs.xml geöffnet haben, werden sie diesen Bildschirm präsentiert bekommen

Lazdemain.png

Die Arbeit

Lazdeelements.png

Das Öffnen des Knotens "Packages" zeigt den "LCL" Knoten mit einem Knoten "Dialogs". Das Auswählen dieses letzten Knotens füllt die untere Baumansicht mit Elementen. Diese Elemente sind Konstanten, Typen und Klassen, die in der Dialogs.pp Unit definiert sind. Benutzte Units sind auch als Knoten hinzugefügt. Weitere Knoten sind die für die Eigenschaften einer Klasse, die Parameter für eine Funktion und so weiter.

Das Auswählen eines Knotens in der unteren linken Baumansicht führt zur Anzeige des Inhalts dieses Knotens auf der rechten Seite des Fensters.

Wenn sie auf diese Seite schauen, werden sie einen Überblick über die Klassen sehen, die in der Unit "dialogs" definiert sind. Nach jeder Klasse sehen sie eine Textzeile. Dieser Text stammt von der Editbox "short" von lazde.

Unter der Editbox "short" befindet sich ein Memofeld, in dem sie eine ausführlichere Beschreibung der Komponente oder Eigenschaft eingeben können.

Beachten sie: Wenn sie einen Zeilenumbruch einfügen wollen, dann benutzen sie <br/>

Die nächsten sind "Errors", "See also" und "Example code File".

"Errors" kann benutzt werden, um über Fehler zu berichten, die von einer Funktion ausgelöst werden, wenn die Parameter Werte außerhalb des Bereichs haben. Für ein Beispiel können sie auf diese Seite schauen.

Genau über "See also" und "Example code File" sehen sie drei Schaltflächen. Diese Schaltflächen erlauben ihnen, Verweise auf andere Seiten beziehungsweise Codebeispiele hinzuzufügen und zu entfernen.

Das Ergebnis

Werfen sie einen Blick auf die Beschreibung von InputQuery. Oben auf der Seite sehen wir, worüber die Seite berichtet, in diesem Fall das Formular "InputQuery"-Funktion der dialogs.pp. Die erste Textzeile ist, was in der Editbox "Short" in lazde eingegeben wurde.

Als nächstes folgt die Erklärung dieser Funktion in den Quellen. Der Erklärungsteil wurde vom Html-Builder erzeugt und wurde aus den Quellen übernommen. Die Quellenposition steht auf 0, weil es zwei Versionen dieser Funktion gibt.

Dann werden die Argumente festgelegt. Wenn sie den InputQuery Knoten in lazde öffnen, werden alle Argumente als Nachfolger-Knoten aufgeführt. Der Text, der nach den Argumenten gezeigt wird, wurde in der Editbox "Short" eingegeben, wenn der entsprechende Nachfolger-Knoten ausgewählt wurde.

Als ein vierter Paragraph wird das Funktionsergebnis gezeigt. Der Text, der hier gezeigt wird, wurde auf die selbe Weise wie die Argumente eingegeben.

Zum Schluss wird die Beschreibung gezeigt. Dieser Text wurde in der Box "description" von lazde eingegeben.

Das Hinzufügen neuer Units

Es gibt natürlich noch andere Units, die dokumentiert werden müssen. Wenn dies zum Beispiel eine Unit für ein Package ist, gibt es wahrscheinlich keine XML Datei, mit der sie beginnen können. Sie müssen dann ganz von vorn anfangen, aber lazde hat eine entsprechende Funktion. Gehen sie zu File -> New und der folgende Bildschirm erscheint:

Lazdenewdocfromfile.png

Sie beginnen, indem sie dem Package einen Namen geben. Alle Units, die sie zu diesem Package hinzufügen wollen, sollten den selben Package-Namen haben. Anschließend geben sie die Quelldatei ein, die sie benutzen: Sie können auch nach dieser Datei suchen. Dann geben sie einen Namen für die Ausgabedatei ein. (Vergessen sie nicht den XML-Dateityp!) und drücken sie "OK".

lazde wird dann die Grundlagen für die Dokumentation generieren. Die generierte Datei wird geöffnet und die Baumansicht übernimmt aus ihrerQuelldatei alle Units, Klassen, Typen, Funktionen und so weiter. Jetzt sind sie bereit, einen neuen Teil von Lazarus zu dokumentieren.

Werfen sie einen Blick auf die LCL Documentation Roadmap, um zu sehen, welche Units noch dokumentiert werden müssen.

Das Endergebnis

Während der Benutzung des Programms habe ich die Erfahrung gemacht, dass ich gern sehen würde, wie die Informationen in ihrer finalen Stufe gezeigt werden, am besten als ein durchsuchbares Dokument. Für diesen Zweck verwendet lazde eine Utility, um alle notwendigen HTML-Dateien zu erstellen.

Dieses Utility kann aus dem Menü Extra -> Build gestartet werden. Der folgende Bildschirm wird gezeigt:

Lazdebuild1.png

"Package" sollte das selbe sein, wie der Name bei der Erstellung der XML-Dateien. Als "Format" wählen sie HTML. Bei "Output" geben sie den Pfad ein, wo die resultierenden Dateien abgelegt werden sollen. Drücken sie "Add all" und alle Dokumente, an denen sie arbeiten, werden zum Projekt hinzugefügt. Dann gehen sie zum nächsten Tab

Lazdebuild2.png

und geben die Pfade zu den Quelldateien ein. Nachdem sie "build" gedrückt haben, wird ihre Festplatte anfangen zu rattern und schließlich erscheint auf dem "Build output" Tab folgende Ausgabe:

Building docs using command: fpdoc --package="LCL"
--output="/home/matthijs/documentatie/LCL" --format=html --content 
--descr="/home/matthijs/Projecten/Lazarus/doceditor/buttons.xml"
--descr="/home/matthijs/Projecten/Lazarus/doceditor/comctrls.xml"
--descr="/home/matthijs/Projecten/Lazarus/doceditor/dialogs.xml"
--descr="/home/matthijs/Projecten/Lazarus/doceditor/controls.xml"
--input="/home/matthijs/cvsroot/lazarus/lcl/buttons.pp"
--input="/home/matthijs/cvsroot/lazarus/lcl/comctrls.pp"
--input="/home/matthijs/cvsroot/lazarus/lcl/dialogs.pp"
--input="/home/matthijs/cvsroot/lazarus/lcl/controls.pp" 

FPDoc - Free Pascal Documentation Tool
(c) 2000 - 2003 Areca Systems GmbH / Sebastian Guenther, sg@freepascal.org

Writing 2788 pages...
Done.
Documentation successfully built.

Wenn sie zu dem Verzeichnis gehen, dass sie bei "Output" eingegeben haben, werden sie eine Datei "index.html" sehen und (in diesem Fall 4) Unterverzeichnisse. Öffnen sie index.html in ihrem Browser und betrachten sie das Ergebnis ihrer harten Arbeit an der Dokumentation. Sie können den Verweisen zu folgen und alles lesen.

Wenn sie planen, mit der Arbeit an dieser Dokumentation fortzufahren, drücken sie "Save" und speichern sie die "build" Optionen. Sie werden nach einem Namen für die Datei gefragt und die Optionen werden gespeichert. Wenn sie das nächste Mal die HTML-Dateien erstellen wollen, dann können sie die Optionen einfach erneut laden.

Die Einreichung

Wenn sie zufrieden mit ihrer Arbeit sind, dann wollen sie diese sicher mit der Lazarus Community teilen. Alles was sie tun müssen, ist einen Patch zu erstellen, ihn zu zippen und einzuschicken.

Eine kleine Notiz

Beachten sie das Folgende: lazde ist noch in Arbeit. Es ist funktionsfähig, aber noch nicht komplett. Daher können noch Bugs enthalten sein, aber scheuen sie sich nicht, diese zu berichtigen.