Sign in Join
Wiki copytemporary

How To Make Lazarus Docs/de: what changed

Revision 1 to 2. Removed lines have a minus sign; added lines have a plus sign.

OldNewLine
1-\
21Zurück zu den [[Additional information/de|Zusätzlichen Informationen]].\
3-\
2+
43== Erstellen von Dokumentationsdateien für Lazarus ==
54
65Dokumentationsdateien, die möglicherweise in das Online Hilfesystem eingebunden werden, können aus den Unit Dateien in der Lazarus Component Library (LCL) generiert werden. Das FpDoc Dienstprogramm kann HTML Dateien generieren, wobei die Pascal Quelldateien (*.pp oder *.pas) als Eingabe verwendet werden. Erbeblich hilfreichere Informationen können aufgenommen werden, wenn in Verbindung mit der Quelldatei eine XML Beschreibungsdatei verwendet wird.
76
8-Auch wenn es möglich ist, XML Tags von Hand unter Verwendung der Anweisungen im FpDoc Handbuch zu erstellen, ist es viel einfacher, das Dienstprogramm <u>makeskel</u> zu verwenden, welches als Teil der FpDoc Suite geliefert wird. Dieses Dienstprogramm generiert eine XML Datei mit einer Reihe leerer Tags für jeden Bezeichner, jeden Typ, jede Prozedur und jede Funktion in der Quelldatei. Der Benutzer kann dann diese XML Datei bearbeiten, entweder mit einem einfachen Texteditor oder unter Verwendung eines XML Editors wie KXMLEditor. Es gibt eine riesige Anzahl von Einträgen in diesen Dateien: Mein Vorschlag ist, nur die Tags zu bearbeiten die Objekte beschreiben, zumindest am Anfang (benutze die Suchfunktion, um 'object' zu finden. Dann gib kurze Titel und kurze Beschreibungen für die Komponenten ein).
7+Auch wenn es möglich ist, XML Tags von Hand unter Verwendung der Anweisungen im FpDoc Handbuch zu erstellen, ist es viel einfacher, das Dienstprogramm makeskel zu verwenden, welches als Teil der FpDoc Suite geliefert wird. Dieses Dienstprogramm generiert eine XML Datei mit einer Reihe leerer Tags für jeden Bezeichner, jeden Typ, jede Prozedur und jede Funktion in der Quelldatei. Der Benutzer kann dann diese XML Datei bearbeiten, entweder mit einem einfachen Texteditor oder unter Verwendung eines XML Editors wie KXMLEditor. Es gibt eine riesige Anzahl von Einträgen in diesen Dateien: Mein Vorschlag ist, nur die Tags zu bearbeiten die Objekte beschreiben, zumindest am Anfang (benutze die Suchfunktion, um 'object' zu finden. Dann gib kurze Titel und kurze Beschreibungen für die Komponenten ein).
98
109Wenn sie die Bearbeitung der XML Datei beendet haben, speichern sie diese und starten
1110
1211`fpdoc --package=lcl --input=thisunit.pp --descr=thisunit.xml`
1312
1413Die resultierenden HTML Dateien werden in einem Unterverzeichnis namens 'thisunit' abgelegt.
1514
1615Es wird eine große Anzahl von HTML Dateien geben (typischerweise über 160) - diese werden eventuell alle für die Hilfedateien verwendet, aber es gibt zu viele Informationen, zum Beispiel, um sie auf dieser WiKi Seite zu zeigen. Es ist hilfreich, die Dateien zu filtern, so dass nur die jenigen einbezogen werden, die Komponenten beschreiben. Dies kann erreicht werden mit
1716
1817`grep -l Inheritance * > outputfile`
1918
2019da nur Komponenten eine Beschreibung ihrer Vererbung haben. Die Outputdatei kann dann benutzt werden, den HTML-Text in einfachen Text zu konvertieren. Eine solche Anwendung ist html2text. Der Prozess wurde teilweise im folgenden Pascal Programm automatisiert (welches mehr als einfach ist, nicht besonders robust, aber es funktioniert!):
2120
2221``` pascal
2322 program convhtml;
2423 { CT Kirkpatrick, MD 20040720 }
2524 {$mode objfpc}{$H+}
2625 { liest eine Liste von Dateinamen von listfile ein, und konvertiert sie sinngemäß von HTML zu Klartext und
2726 schreibt den Output aller Dateien in outfile }
2827 uses
2928 Classes, unix;<br>
3029 var
3130 listfile, outfile: text;
3231 pathname, listfname, outfname, fname: string;
3332 execstring, comstring: string;
3433 begin
3534 Writeln ('Enter path for files to convert');
3635 Readln (pathname);
3736 Writeln ('Enter name of file to contain list of files for conversion');
3837 Readln (listfname);
3938 shell ('grep -l Inheritance ' + pathname + '* > ' + pathname + 'filelist.txt');
4039 Writeln ('Enter name of output file');
4140 Readln (outfname);
4241 Assign (listfile, pathname +'filelist.txt');
4342 Assign (outfile, pathname + outfname);
4443 Reset (listfile);
4544 Rewrite (outfile);
4645 while not eof (listfile) do
4746 begin
4847 readln (listfile, fname); //writeln (fname);
4948 //if fname = '' then begin readln (listfile, fname); writeln (fname) end;
5049 execstring := '/usr/bin/html2text ';
5150 comstring := '-nobs ' + fname
5251 + ' >> ' + pathname + outfname;
5352 writeln ('Executing ', execstring, comstring);
5453 shell (execstring + comstring);
5554 end;
5655 end.
5756```
5857
5958## Mitwirkende und Änderungen
6059
6160Diese Seite wurde von der epikwiki [Version](http://lazarus-ccr.sourceforge.net/index.php?wiki=HowToMakeLazarusDocs) konvertiert. Original von User:Kirkpatc.
6261
6362---
6463*From the Free Pascal wiki, page "How To Make Lazarus Docs/de", as it stood on 2020-02-17 after a change by Trev, 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).*

Back to history