Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Klassenbeschreibung aus pas-Datei holen? (https://www.delphipraxis.net/35072-klassenbeschreibung-aus-pas-datei-holen.html)

Stevie 2. Dez 2004 08:54


Klassenbeschreibung aus pas-Datei holen?
 
Hi Leute,

ich hab vor einen HelpMaker für Delphi-Komponenten zu schreiben.
Dafür würde ich gerne aus Sourcen die Klassenbeschreibung holen.

Da ich nicht gerade der große Parsing-Experte bin, ist meine Frage,
ob irgendjemand vielleicht ne Möglichkeit (vielleicht sogar Kompo) kennt,
um dies zu bewerkstelligen.

Ich brauche alle Methoden, Events und Eigenschaften mit
Sichtbarkeitsangabe (private, protected, public oder published).

MfG
Stevie

Sanchez 2. Dez 2004 09:15

Re: Klassenbeschreibung aus pas-Datei holen?
 
Hi Stevie,
Ich bin auch kein Parsingexperte, darum würd ich das ganze ziemlich einfach angehen.
Ich würde die pas-Datei Zeile für Zeile durchgehen.
Wenn in der Zeile "= class" enthalten ist weiss ich, dass ich in einer Klasse bin.
Innerhalb einer Klasse merk ich mir die aktuelle Sichtbarkeit und triggere dann auf die Wörter "procedure, function, property" und auf den : für Felder. Allerdings dürfen die nicht auskommentiert sein.

BTW würd ich private weglassen. Bei einer Hilfe zu einer Komponente will ich ja nur wissen, wie ich sie bedienen kann.

grüße, daniel

Stevie 2. Dez 2004 10:14

Re: Klassenbeschreibung aus pas-Datei holen?
 
Hi Sanchez,

danke für die Hinweise! :thumb:
Jede Zeile einzeln wird nicht gehen, weil manchmal
Deklarationen über mehrere Zeilen gehen können,
aber das ist kein großes Problem.

Private ist natürlich für Benutzer nicht unbedingt nötig, stimmt.

P.S.: Ich hatte was vergessen: Kann ich irgendwie die ganze Sache für Vorgänger-Klasse ermitteln?
Man kennt ja aus der Delphi-Hilfe zum Beispiel die Hierarchie und die von anderen Klassen ererbten
Methoden, Events, Eigenschaften...

choose 2. Dez 2004 10:22

Re: Klassenbeschreibung aus pas-Datei holen?
 
Hallo Stevie,

mit Doc-O-Matic aber auch dem nicht annähernd so umfangreichen Produkt Time2Help und einigen anderen gibt es bereits gelungende kommerzielle Produkte zu Deinem Vorhaben.
Wenn Du nicht an einer Lösung sondern an dem Weg interessiert bist und Dir zumutest die jahrelange Arbeit von Toolsfactory in Eigenregie erneut durchzuziehen, könnte DIPasDoc oder DelphiCodeToDoc für Dich von Interesse sein. Beides sind Projekte mit offenen Quellen, die im Funktionsumfang nicht mit Doc-O-Matic konkurrieren können, aber mit Unterstützung Dritter die bisherigen Ergebnisse nochmals verbessern können sollten.

Viel Erfolg!

Sanchez 2. Dez 2004 10:57

Re: Klassenbeschreibung aus pas-Datei holen?
 
Zitat:

Zitat von Stevie
P.S.: Ich hatte was vergessen: Kann ich irgendwie die ganze Sache für Vorgänger-Klasse ermitteln?

Spätestens da braucht man einen sowas wie nen anständigen Parser.
Ich hab übrigens PasDoc http://pasdoc.sourceforge.net/phpwiki/ etwas an meine Ansprüche angepasst. Eventuell wäre das für dich interessant. Ich glaube aber, dass da die Doku vom Vorfahren nicht übernommen wird.


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:21 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz