Project Documenting Machine

Co je to?

PDM je nástroj pro komplexní tvorbu dokumentace dle projektu Visual FoxPro nebo souborů Visual FoxPro bez vazby na konkrétní projekt s nativním výstupem do xhtml. Dokáže zdokumentovat vlastnosti projektu, databáze (tabulky, pohledy, spojení, uložené procedury), volných tabulek, dotazů, visuálních knihoven, formulářů, programů, fll knihoven, reportů, štítků a nabídek. Umožňuje také vytvářet dokumentaci projektů na sobě závislých bez duplicit. Celá konfigurace je ukládá do PDM souboru ve formátu INI.

Uživatelské grafické rozhraní (GUI) - základ

GUI je pouze vlastní nadstavba nad samotným PDM - není nutné ke spuštění. Od verze 1.2.0 je plně MDI a v drobnostech se liší od verze 1.1.2. I když se na první pohled zdá, že okno PDM souboru je přeplněno volbami, nacházejí se tam je ty nejdůležitělší volby pro generování dokumentace. Každá skupina souborů, projekt je chápán také jako skupina, má vlastní záložku na které se nacházejí místní volby. Ostatní volby se nacházejí na modálních formulářích.

Záložka "Obecné"

Na této "základní" záložce se definuje zdroj (projekt nebo volné soubory), cílová složka, zda se má generování přerušit došlo-li k n-chybám a také které části se mají generovat. U volných souborů je tato sada zaškrtávátek zakázána a automaticky se nastavují dle přípon vybraných souborů. "Výchozí složka" umožňuje definovat hlavní složku projektu, která někdy může být rozdílná od složky projektu a má přímý vliv na určování absolutní cest souborů (mě se neptejte, ptejte se těch co používají framework VFX).

Vytvoření PDM souboru, uložení, otevření a spuštění tvorby

U verzí nižších než 1.2.0 je automaticky otevřen prázdný PDM soubor, u vyšších verzí se musí vytvořit pomocí volby "Soubor->Nový". Pak se na první záložce ("Obecné") zvolí zda bude zdrojem projekt nebo jednotlivé soubory. Následně se konfigurace uloží pomocí "Soubor->Uložit". Nyní lze v klidu spustit generování dokumentace (konfigurace je uložená, spadni jak spadni). Po vygenerování lze potvrdit dotaz zda se má spustit výchozí prohlížeč a zobrazit dokumentaci.

Základní ovlivnění generovaného xhtml

Výstupní xhtml obsahuje spousty seznamů, či aktivních prvků. Seznamům lze nastavit zda mají být setříděny, aktivní prvky zda se mají generovat sbalené či rozbalené, u některých výstupů (detaily sestav, štítků či nabídek) šířku pravého sloupce a u většiny skupin souborů vkládání zdrojového kódu a detailního popisu. Také lze nastavit jak globálně tak pro jednotlivé skupiny souborů CSS a JS soubory.

Záložky "Uživatelské odkazy", "GCT" a volba "Statistika"

Trochu jakoby "mimo mísu" jsou záložky "Uživatelské odkazy" a "GCT".
"Uživatelské odkazy" slouží pro definování různých odkazů na lokální i vzdálené dokumenty (protokoly http, ftp atd.) Krom popisu odkazu lze u lokálních dokumentů definovat, zda se mají kopírovat do repozitáře.
"GCT" neboli globální strom tříd je speciální stránka s kompletním seznamem tříd a jejich instancí.
Volba "Statistika" na záložce "Obecné" povoluje generování jednoduché statistiky o počtu typech a velikosti zdrojových souborů.

Další nastavení

Zde se nastavují globální volby ovlivňující generování xhtml...

Zdrojový kód

Někdy je potřeba vygenerovat dokumentaci bez zdrojového kódu a k dispozici jsou celkem čtyři volby:
Vlastní
Zahrnutí či nezahrnutí se nastavuje na jednotlivých záložkách hlavního modulu
Vždy zahrnout
Zdrojové kódy jsou vždy zahrnuty
Vždy nezahrnout
Zdrojové kódy nejsou zahrnuty
Pouze označené
Zdrojové kódy pouze označené speciálním klíčem v komentáři jsou zahrnuty
Také lze nastavit způsob barevné syntaxe:
Project Documenting Machine 1.1.2
Žádná
Zdrojový kód bude zobrazen bez barevného rozlišení
PDM
Barevná syntaxe se řídí dle obsahu jednoho záznamu v tabulce schemes
VFP
Barevná syntaxe se generuje dle aktuálního nastavení VFP IDE
Uživatelská
Barevná syntaxe se řídí dle uživatelského CSS souboru
Project Documenting Machine 1.2.0
Žádná
Zdrojový kód bude zobrazen bez barevného rozlišení
Pluging
Barevnou syntaxi tvoří speciální plugin
Dále je lze nastavit, zda se má generovat číslování řádků a odsazení prvního znaku v řádku od levého okraje.

Popis

Tato část se týká generovaného detailního popisu procedur/metod. Tento popis může být součástí zdrojového kódu, pak se musí definovat počáteční a koncový tag dokumentace, a je vždy definován jako komentář. V případě že tento popis je uvozen pomocí #IF #ENDIF, pak se musí odškrtnout volba "Pouze komentář" a celé se to musí uzavřít počátečním a koncovým tagem dokumentace (West Wind HTML Help Builder).

Ostatní

Zde se nacházejí ostatní volby jako "Nezpracovávat exklude soubory", "Formátovat HTML s mezemeri" či , "Formátovat HTML s CRLF" a jiné. Také se zde nastavuje výchozí stav aktivních prvků:
Vlastní
Sbalení/rozbalení se nastavuje na jednotlivých záložkách hlavního modulu
Vždy sbalit
Aktivní prvky budou vždy sbaleny
Vždy rozbalit
Aktivní prvky budou vždy rozbaleny

Tisk

Ovlivnění okrajů stránek a možnost automaticky spustit tisk po dokončení generování.

Seznam souborů

Ne vždy je vhodné generovat dokumentaci pro všechny soubory, protože některé soubory mohou mít jiný mateřský projekt, nebo je potřeba něco skrýt. Tento dialog je přístupný pouze tehdy je-li zdrojem projekt a má tyto možnosti:
Všechny soubory
Budou zpracovány všechny soubory (pozor na volbu "Nezpracovávat exklude soubory")
Všechny, kromě
Budou zpracovány všechny soubory kromě těch jež se nacházejí vpravém seznamu
Pouze tyto
Budou zpracovány pouze soubory jež se nacházejí vpravém seznamu

GUI - speciální nastavení

Po vystřízlivění z euforie dojdete ke zjištění, že je potřeba něco více...

Zásuvné moduly

Plug-iny slouží pro dodatečné ovlivnění generování HTML dokumentace. Na formuláři je rozbalovací seznam se seznamem skupin a listovací seznam příslušných pluginů. Každý plugin může mít vlastní dialog pro nastavení příslušných voleb. Některé skupiny pluginů mají to omezení, že lze spustit pouze jen jeden plugin např.: DIAMP, DIAP, DIAF atd. Jiné např.: CONV toto omezení nemá. V současné době je osm skupin:

DIAMP (Detailní info o metodě/proceduře)

Visual Foxpro PDM
Jedná se o můj návrh zápisu informací. Umožňuje kombinovat čistý text s xhtml kódem, vložit výraz,kus zdrojového kódu nebo odkaz na třídu, metodu nebo vlastnost.
Visual Foxpro PDM (Metadata)
Jedná se o další můj návrh zápisu informací. Informace jsou uloženy jako XML data. Umožňuje kombinovat čistý text s xhtml kódem, vložit výraz,kus zdrojového kódu nebo odkaz na třídu, metodu nebo vlastnost. Ukázkové soubory se nacházejí v adresáři test: diamp_pdm.prg a diamp_pdm.pdm.
Agnesiny Metody a Procedury
Agnesin plug-in pro tvorbu detailního popis metod procedur.
WW HTML Help Builder
Jedná se o zpracování dokumentačních klíčů které definuje software WW HTML Help Builder. Pro správnou funkčnost se musí odškrtnout volba "Pouze komentář" na kartě "Popis objektů - Popis" a celý blok je uvozen klíčovými slovy pro zahájení a ukončení zpracování detailního popisu. Ukázkové soubory se nacházejí v adresáři test: diamp_wwhhb.prg a diamp_wwhhb.pdm.

DIAP (Detailní info o vlastnosti)

Visual Foxpro PDM
Jedná se o můj návrh zápisu informací pro popis vlastnosti. Umožňuje vložit výraz, kus zdrojového kódu nebo odkaz na třídu, metodu nebo vlastnost.
Visual Foxpro PDM (Metadata)
Jedná se o další můj návrh zápisu informací pro popis vlastnosti a je to čistý xhtml text. Umožňuje vložit výraz, kus zdrojového kódu nebo odkaz na třídu, metodu nebo vlastnost. Ukázkové soubory se nacházejí v adresáři test: diamp_pdm.prg a diamp_pdm.pdm.
Agnesin popis vlastnosti
Agnesin plugin pro tvorbu detailního popisu vlastnosti.

DIAC (Detailní info o třídě)

PDM - Detailní popis třídy/objektu
Ukázkový plug-in.
Agnesin popis souboru
Agnesin plug-in pro tvorbu popisu třídy/objektu.

DIAF (Detailní info o souboru)

PDM - Detailní popis souboru
Ukázkový plug-in.
Agnesin popis souboru
Agnesin plug-in pro tvorbu popisu souboru.

EFRX (Rozšíření FRX)

Rozšíření XFRX
Jedná se o plug-in pro zpracování řídících kódů v komentářích objektů XFRX enginu.
Rozšíření MERE
Jedná se o plug-in pro zpracování řídících kódů v komentářích objektů MERE enginu.
Rozšíření FRX2Word
Jedná se o plug-in pro zpracování řídících kódů v komentářích objektů FRX2Word enginu.
Rozšíření FRX2Any
Jedná se o plug-in pro zpracování řídících kódů v komentářích objektů FRX2Any enginu.
Rozšíření eReports
Jedná se o plug-in pro zpracování řídících kódů v komentářích objektů eReports enginu.

PJXEX (Rozšířené vlastnosti projektu)

Vlastnosti projektu - VFX
Plug-in pro zpracování dodatečných vlastností projektu pro framework VFX.

AC (Po vytvoření)

Základní zásuvný modul
Nejjednodušší plugin. Slouží pro ovlinění chodu generování dokumentace, přesněji dá se použít pro konečné činnosti jako překopírovní vygenerovaných souborů jinam.

BC (Před vytvořením)

Základní zásuvný modul
Nejjednodušší plugin. Slouží pro ovlinění chodu generování dokumentace, přesněji dá se použít pro přípravu zdrojvých souborů.

DCOP (Dynamické přidání tříd, objektů a PEMs)

PDM - test
Ukázkový plug-in.

CONV (Konverze HTML do ...)

HTMLDOC
Plug-in pro vytvoření souboru pro utilitu HTMLDOC na konverzi HTML na PDF.
HTML Help Workshop
Plug-in pro vytvoření souborů pro utilitu HTML Help WorkShop na konverzi HTML na CHM.

Přehled projektu

Přehled projektu je odkaz na dokument, který shrnuje informace o projektu, tedy jakýsi úvod. Pokud to je jednoduchý dokument, lze mu nastavit aby se automaticky překopíroval do repositáře.

Komentáře

VFP má tři základní způsoby definování komentáře: NOTE, * a &&. Dále v registrech je uložen takzvaný automatický komentář a jeho výchozí hodnota je: *!*. Někteří programátoři si však tento komentář předefinovávají nebo používají jiný shluk písmen (custom scripts). Tento dialog umožňuje definovat seznam vlastních typů komentářů, tím se umožní PDM korektně zpracovat informace za komentářem.

Spřátelené projekty

Sdílejí-li některé projekty soubory, je zcela zbytečné aby se HTML dokumentace vytvářela znovu pro každý VFP projekt. S využitím SSZ (Seznam souborů na zpracování) lze z efektivnit tvorbu HTML dokumentace.

Je-li definován tento seznam, pak se nejdříve vygenerujou odkazy všech souborů a tříd z VCX knihoven a PRG souborů (to může chvíli trvat) z uvedených spřátelených PDM projektů, i hlavního PDM projektu, a potom se vytváří HTML dokumentace pro hlavní PDM projekt. Soubory, které se nezpracovávají, se snaží najít odkaz v seznamu kotev. Pokud ho najdou, pak se automaticky použije.

Zpracováva-li se seznam PDM projektů, pak:


Tímto lze zajistit vytvoření kompletní HTML dokumentace nejen VFP projektů ve stromové závislosti, ale i v křížové závislosti.

a) Stromová závislost
Projekt frameworku obahuje třídy, které využívají na sobě nezávislé projekty a), nebo závislé v jednom směru b).
a)	     FrameWork			b)	    FrameWork
	         |				    	|
    	         |					|
  	 -----------------			-----------------
  	 | 	   	 |		  	| 	 	|
         |		 | 			|		|
      Sklady            DKP		     Sklady <-------- Firmy	
a) Křížová závislost
Projekt frameworku obahuje třídy, které využívají na sobě závislé projekty a poskytují si navzájem třídy.
	     FrameWork		
	         |		
    	         |		
  	 -----------------	
  	 | 	   	 |	
         |		 | 	
      Sklady <-----> Půjčovna

Setup a Cleanup

Některé tabulky mají indexy definovány s použitím externím či interních funkcí kde parametrem může být třeba proměnná definovaná za běhu nebo načítána z externího souboru (proměnné z mem souboru). V tom případě je nutné potřebné soubory zavést před vlastním generováním (Setup) a uvolnit po dokončení generování (Cleanup). Při zavádění se nesmí zapomenout na klauzuli "ADDITIVE" aby nedošlo k nechtěnému uvolnění souborů nutných pro běh PDM.

Uživatelské nastavení PDM

Obecné

GUI
Umístění a název visuální knihovny s definicí GUI. Kdo chce, může si napsat vlastní GUI.
Jazyk
Složka kde se nachází DBF tabulky s definicí lokalizovaných řetězců. Tabulky jsou dvě, jedna pro vlastní jádro a další se definicí řetězců pro generované xhtml. Tabulka s lokalizovanými řetězci pro GUI se nachází jinde a je automaticky použita.
Asociovat PDM soubor
Mezi jednu z "dobrých vlastností" aplikace patří možnost zajištění integrace s shellem OS.
Oprava registry/Vymazání registry
Pokud je potřeba vyčistit registry od záznamů aplikace klikněte na tlačítko "Vymazání registry". Kliknutí na "Oprava registry" zajistí uvedení záznamů do výchozího stavu.
Zavaděč
VFP IDE umožňuje zavolat při startu jakoukoliv aplikaci. To ho se dá využít k ovlivnění výchozí VFP nabídky a přidat si volby pro volání vlastních utilit. Součástí PDM od verze 1.2.0 je vlastní loader který toto umožňuje (stačí překompilovat) a je natolik univerzální, že jej lze použít i pro volání běžných EXE modulů.
Integrovat s VFP IDE
Toto zajistí, že PDM požádá zavaděč o registraci nebo odregistraci.

Prohlížeče

Mít možnost spustit jednu aplikaci pro prohlídnutí výsledného xhtml je takové něšťastné, proto je zde možnost si definovat jakoukoliv aplikaci a jednu z nich si označit jako výchozí.
ID
Unikátní identifikátor prohlížeče. Zadává se pouze při přidání nové aplikace.
Titulek
Titulek, popis, aplikace zabrazující se v rozblovacím seznamu.
Soubor
Umístění a název aplikace.
Nastavit jako výchozí
Vybraný prohlížeč nastaví jako výchozí.

Výchozí přípony

Přiřazení určitého typu souboru do skupiny je nutné pro správné zpracování. Výchozí nastavení by mělo pokrývat rozmezí FP 2.0 až VFP 9.0. doporučuji do něj vůbec nazasahovat.

Uživatelské GUI

Pouze PDM nabídka
V době vývoje samotného PDM je potřeba mít zobrazeny nabídky jak VFP IDE tak i nabídky PDM pro snadnější ladění. Někdy je však toto vyžadováno i při spuštění PDM z VFP IDE.
Pamamatovat si maximálně n otevřených souborů
Maximální počet otevřených souborů jež si PDM pamatuje.
Zobrazit MRU seznam
Příznak, zda se má vůbec zobrazit seznam nejčastěji používaných souborů.
Zobrazit maximálně n souborů
Počet souborů, které se zobrazí v MRU.
Zobrazit maximálně n oken
Počet oken, které se zobrazí v seznamu oken.
Spustit prohlížeč
Po vygenerování dokumentace se dá nastavit, zda se má spustit výchozí prohlížeč. Korm voleb "Vždy" či "Zeptat se" je i volba "Nikdy" :-)

Příkazová řádka

PDM lze spustit i v dávkovém režimu bez inicializace grafického uživatelského rozhraní.

Verze 1.1.2

GUI se spustí pokud:

Spuštění bez GUI

1) DO PDM WITH "myproj.pjx","c:\temp\myproj", "myproj.pdm"
V tomto případě se převezmou nastavení pro generování HTML dokumentace ze souboru myproj.pdm, ale generuje se dokumentace pro projekt myproj.pjx do adresáře c:\temp\myproj.
2) DO PDM WITH "","", "myproj.pdm"
V tomto případě se převezmou nastavení pro generování HTML dokumentace ze souboru myproj.pdm včetně zdrojového projektu a výstupního adresáře.
3) DO PDM WITH "myproj.pjx","c:\temp\myproj"
V tomto případě se generuje dokumentace pro projekt myproj.pjx do adresáře c:\temp\myproj dle základních nastavení.
4) DO PDM WITH "","","x:\test\xxa000.pdm,x:\test\xxa001.pdm"
V tomto případě se generuje dokumentace pro PDM projekty x:\test\xxa000.pdm ax:\test\xxa001.pdm . První dva parametry jsou vždy ignorovány.
5) DO PDM WITH "program1.prg,forms1.scx","c:\temp\myfiles", "myfiles.pdm"
V tomto případě se převezmou nastavení pro generování HTML dokumentace ze souboru myfiles.pdm, ale generuje se dokumentace pro soubory program1.prg,forms1.scx do adresáře c:\temp\myfiles.
6) DO PDM WITH "program1.prg,forms1.scx","c:\temp\myfiles", "myfiles.pdm", "",1
V tomto případě se převezmou nastavení pro generování HTML dokumentace ze souboru myfiles.pdm, ale generuje se dokumentace pro program1.prg,forms1.scx do adresáře c:\temp\myfiles přičemž se pro každý soubor vytváří vlastní adresář.

Spuštění s GUI - jazykové mutace

Cesta je buď relativní vzhledem k cestě, kde se nachází PDM.APP, nebo absolutní.
1) Spuštění GUI v Anglickém jazyce: DO PDM WITH "","","","lang\en"
2) Spuštění GUI v Českém jazyce: DO PDM WITH "","","","lang\cs"
3) Spuštění GUI v Slovenském jazyce: DO PDM WITH "","","","lang\sk"
4) Spuštění GUI v Ruském jazyce: DO PDM WITH "","","","lang\ru"
5) Spuštění GUI v Španělském jazyce: DO PDM WITH "","","","lang\es"
6) Spuštění GUI v Francouzském jazyce: DO PDM WITH "","","","lang\fr"
7) Spuštění GUI v Německém jazyce: DO PDM WITH "","","","lang\de"

Verze 1.20

Seznam parametrů

files
Seznam projektů nebo souborů.
--files"c:\temp\file2.prg,c:\temp x\file3.prg"
--filesc:\temp\file2.prg
--folder
Název výstupní složky.
--folderc:\outfolder\
--folder"c:\out folder\"
--pdms
Umístění a název PDM souborů.
--pdmsc:\temp\test1.pdm,c:\temp\test2.pdm
--pdms"c:\temp\test1.pdm,c:\temp x\test2.pdm"
--lang
Složka s lokalizačními soubory.
--langlang\fr\
--lang"c:\temp\pdm de\"
--severally
Příznak, zda se má generovat HTML dokumentace jednotlivě pro seznam souborů.
--severally1
--open
Umístění a název PDM souboru, který se má po spuštění GUI automaticky otevřít.
--openx:\test\tastrade.pdm
--open"x:\test pdm\tastrade.pdm"
--view
Umístění a název PDM souboru, jehož HTML výstup se má zobrazit.
--viewx:\test\tastrade.pdm
--view"x:\test pdm\tastrade.pdm"
--print
Umístění a název PDM souboru, jehož HTML výstup se má vytisknout.
--printx:\test\tastrade.pdm
--print"x:\test pdm\tastrade.pdm"
--r
Provede opravu všech informací o PDM v registrech.
--d
Odstraní všechny informace o PDM z registrů.

Spuštění bez GUI

1) DO PDM WITH "--filesmyproj.pjx","--folderc:\temp\myproj", "--pdmsmyproj.pdm"
V tomto případě se převezmou nastavení pro generování HTML dokumentace ze souboru myproj.pdm, ale generuje se dokumentace pro projekt myproj.pjx do adresáře c:\temp\myproj.
2) DO PDM WITH "","", "--pdmsmyproj.pdm"
V tomto případě se převezmou nastavení pro generování HTML dokumentace ze souboru myproj.pdm včetně zdrojového projektu a výstupního adresáře.
3) DO PDM WITH "--filesmyproj.pjx","--folderc:\temp\myproj"
V tomto případě se generuje dokumentace pro projekt myproj.pjx do adresáře c:\temp\myproj dle základních nastavení.
4) DO PDM WITH "--pdmsx:\test\xxa000.pdm,x:\test\xxa001.pdm"
V tomto případě se generuje dokumentace pro PDM projekty x:\test\xxa000.pdm ax:\test\xxa001.pdm.
5) DO PDM WITH "--filesprogram1.prg,forms1.scx","--folderc:\temp\myfiles", "--pdmsmyfiles.pdm"
V tomto případě se převezmou nastavení pro generování HTML dokumentace ze souboru myfiles.pdm, ale generuje se dokumentace pro soubory program1.prg,forms1.scx do adresáře c:\temp\myfiles.
6) DO PDM WITH "--filesprogram1.prg,forms1.scx","--folderc:\temp\myfiles", "--pdmsmyfiles.pdm", '--severally1'
V tomto případě se převezmou nastavení pro generování HTML dokumentace ze souboru myfiles.pdm, ale generuje se dokumentace pro program1.prg,forms1.scx do adresáře c:\temp\myfiles přičemž se pro každý soubor vytváří vlastní adresář.

Spuštění s GUI - jazykové mutace

Cesta je buď relativní vzhledem k cestě, kde se nachází PDM.APP, nebo absolutní.
1) Spuštění GUI v Anglickém jazyce: DO PDM WITH "--langlang\en"
2) Spuštění GUI v Českém jazyce: DO PDM WITH "--langlang\cs"
3) Spuštění GUI v Slovenském jazyce: DO PDM WITH "--langlang\sk"
4) Spuštění GUI v Ruském jazyce: DO PDM WITH "--langlang\ru"
5) Spuštění GUI v Španělském jazyce: DO PDM WITH "--langlang\es"
6) Spuštění GUI v Francouzském jazyce: DO PDM WITH "--langlang\fr"
7) Spuštění GUI v Německém jazyce: DO PDM WITH "--langlang\de"

Hrabeme se ve střevech

PDM je takový "majstrštyk". Důsledně je oddělena programová část od GUI. Samotné jádro je celé v PRG souborech, GUI zase kompletně ve visuální knihovně. Využívá se třída session pro privátní datové oblasti. Parametry nutné pro běh jsou uloženy v INI souborech, pro jádro a GUI zvlášť, a jen velmi omezeně jsou uloženy informace v registrech. Lokalizace do různých jazyků je samozřejmostí.

Konfigurační soubory

V rootu PDM se nachází základní konfigurační INI soubor. Ten slouží k synchronizaci nových věcí s konfiguračním souborem uloženým v profilu živatele - mají tedy shodnou strukturu. V profilu uživatele (C:\Documents and Settings\%username%\Application Data\pdm) je krom pdm.ini uložen také gui.ini. Ten shraňuje informace o nastavení grafického uživatelského rozhraní.

Alternativy

Někdy je potřeba vypsat obsah DBC konteineru, standardní příkazy Visual FoxPro nestačí a použití PDM by bylo jako použít kanón na vrabce. Proto existuje mnoho utilit na zpracování jednotlivých souborů zaměřených na určitý typ - SCX, VCX, FRX, PRG, atd.
bbdblist
Export struktury tabulek a jejich indexů z DBC to XLS pomocí OLE
dbcdoc
Export struktury tabulek, včetně indexů, lokálních a vzdálených pohledů (základní informace)
disprine
Jednoduchý export referenční integrity o konkrétní tabulce do textového souboru
DocScx
Export formuláře nebo formulářů ze složky do dokumentu Microsoft Word. Součástí exportu jsou seznam objektů, jejich vlastnosti a obsah metod.
DocVcx
Export visuální knihovny nebo visuálnchí knihoven ze složky do dokumentu Microsoft Word. Součástí exportu jsou seznam objektů, jejich vlastnosti a obsah metod.
pttables
Tisk struktury tabulek z DBC nebo složky přímo na výchozí tiskárnu
West Wind HTML Help Builder
Profesionální nástroj pro tvorbu dokumentace ve formátu CHM help. Tento nástroj zvládá import DBC konteineru, visuálních knihoven či tříd z PRG souboru. Dále také zvládá import COMů, TLB knihoven a jiné.
dblist
Tisk struktury vybraných tabulek na tiskárnu.
Export Form/Class to Word 97
Export seznamu objektů/tříd s vlastnostmi a metodami z SCX/VCX do dokumentu Word 97.
Table structure for DIR/DBC
Export tabulek a pohledů, včetně struktur z databáze nebo volných tabulek ze složky do html.
Listing of MENUs designed with the MENU Builder
Jednoduchý výpis padů a barů z MNX souboru - sestava.
Občas lze najít utilitu pro tvorbu dokumentace dle projektu ale obvykle je komerční.
MakeDoc (free)
Tvorba dokumentace dle VFP projektu.
RapidDoc
Tvorba dokumentace dle VFP projektu nebo jednotlivého typu jako databáze, visuální knihovny, formuláře, programy volné tabulky a dotazy do dokumentu Microsoft Word. V případě projektu se generují seznamy ostatních nezpracovávaných souborů jako jsou sestavy, štítky atd.