8/9/2019 doc Manual v0
1/34
DelphiCodeToDocFree documentation tool for Delphi, with JavaDoc support.
TridenT http://dephicodetodoc.sourceforge.net
Revision v0.10
1 / 34
8/9/2019 doc Manual v0
2/34
DelphiCodeToDocFree documentation tool for Delphi, with JavaDoc support.
TridenT http://dephicodetodoc.sourceforge.net
SUMMARY
1. PROJECT SUMMARY AND QUICK LINKS .............................................................3
2. WHAT IS IT ? .................................................................................................................. 4
3. WHAT'S NEW ? .............................................................................................................. 6
4. TECHNICAL PAPERS................................................................................................... 8
JAVADOC SYNTAX ..................................................................................................................8
JavaDoc TAG Description ............................................................................................ 11
JavaDoc TAG - @Author ................................................................................................. 12
JavaDoc TAG @version................................................................................................... 13
JavaDoc TAG @param .................................................................................................... 14
JavaDoc TAG @return .................................................................................................... 15
JavaDoc TAG @throws....................................................................................................16
JavaDoc TAG @todo ....................................................................................................... 17
JavaDoc TAG @Comment ............................................................................................... 18
JavaDoc TAG @see ......................................................................................................... 20
JavaDoc TAG @see ......................................................................................................... 20INLINES SYNTAX ................................................................................................................... 21
5. PROJECT'S OPTIONS EXPLANATION (CONFIGURATION PANEL) ............. 22
6. FAQ FOR USERS .......................................................................................................... 25
7. MAILING LISTS ........................................................................................................... 27
8. DISCUSSION FORUM ................................................................................................. 28
9. LINKS ............................................................................................................................. 30
10. GNU GENERAL PUBLIC LICENSE...................................................................... 31
2 / 34
8/9/2019 doc Manual v0
3/34
DelphiCodeToDocFree documentation tool for Delphi, with JavaDoc support.
TridenT http://dephicodetodoc.sourceforge.net
1. Project summary and quick links
DelphiCodeToDoc is a free documentation system for Delphi, releasedunder the GNU General Public License. It uses information about source code
symbols and formatted comments in files to produce accurate documentation from
your application and component.
For more details about the features and some screenshots, see "What is it ?" page.
Current version v0.10 Beta
Distribution license GNU General Public License
Latest news Last revision detail orLast News on SF site
Development home http://sourceforge.net/projects/dephicodetodoc/
Project's trackersubmission facility
Bug submission and feature request on SF site
CVS server cvs.souceforge.net/dephicodetodoc
Project's documentation Technical papers
Project example Example of generated documentation
English Forum (Open
discussion)http://sourceforge.net/forum/forum.php?forum_id=333850
French Forum (Forum
en Franais)http://sourceforge.net/forum/forum.php?forum_id=347469
Copyright 2003-2004 - TridenT at users.sourceforge.net
3 / 34
http://dephicodetodoc.sourceforge.net/Download.htmhttp://www.gnu.org/licenses/gpl.txthttp://dephicodetodoc.sourceforge.net/Whats_new.htmhttp://sourceforge.net/forum/forum.php?forum_id=399971http://sourceforge.net/projects/dephicodetodoc/https://sourceforge.net/tracker/?group_id=96281http://dephicodetodoc.sourceforge.net/Technical_papers.htmhttp://dephicodetodoc.sourceforge.net/example/DelphiCodeToDoc.htmhttp://sourceforge.net/forum/forum.php?forum_id=333850http://sourceforge.net/forum/forum.php?forum_id=347469mailto:[email protected]:[email protected]://sourceforge.net/forum/forum.php?forum_id=347469http://sourceforge.net/forum/forum.php?forum_id=333850http://dephicodetodoc.sourceforge.net/example/DelphiCodeToDoc.htmhttp://dephicodetodoc.sourceforge.net/Technical_papers.htmhttps://sourceforge.net/tracker/?group_id=96281http://sourceforge.net/projects/dephicodetodoc/http://sourceforge.net/forum/forum.php?forum_id=399971http://dephicodetodoc.sourceforge.net/Whats_new.htmhttp://www.gnu.org/licenses/gpl.txthttp://dephicodetodoc.sourceforge.net/Download.htm8/9/2019 doc Manual v0
4/34
DelphiCodeToDocFree documentation tool for Delphi, with JavaDoc support.
TridenT http://dephicodetodoc.sourceforge.net
2. What is it ?
DelphiCodeToDoc is a free documentation system for Delphi.It uses information about source code symbols and formatted comments in files to
produce accurate documentation from your application and component.
This documentation support TEXT file based and HTML style, but will be extend to
CHM, PDF, and furthermore other format. DelphiCodeToDoc makes sure thestructure of your documentation always stays synchronized with your code. It supportJavaDoc style comments, in-line comments, and is open for other "tags based"
styles. You can configure DelphiCodeTodoc to extract the code structure fromundocumented source files. This is very useful to quickly find your way in largesource distributions. You can also visualize the relations between the various source
code elements. DelphiCodeTodoc is developed under MS-Windows with BorlandDelphi, but will be setup to be portable for Kylix under Linux. It use JCL and JVCLlibrary from Jedi Project.
ScreenShots:
The Configuration screen,
where all options for the parser,
the output format are display.
The Reference screen. All units
and classes found in the projet
directory.
The Messages screen.
Informations are written to help
the user. A debug window is
also here during the alpha&betastage.
4 / 34
http://projectjedi.sourceforge.net/http://projectjedi.sourceforge.net/8/9/2019 doc Manual v0
5/34
DelphiCodeToDocFree documentation tool for Delphi, with JavaDoc support.
TridenT http://dephicodetodoc.sourceforge.net
A sample of the HTML ouput, generated from
DelphiCodeToDoc souce code itself.
5 / 34
8/9/2019 doc Manual v0
6/34
DelphiCodeToDocFree documentation tool for Delphi, with JavaDoc support.
TridenT http://dephicodetodoc.sourceforge.net
3. What's new ?What are the change in the last revision ?
DelphiCodeToDoc continue in Beta version. It will be release as stable (v1.0) in some next
release (need to fix major bugs before).
Last revision v0.10beta include all the modifications listed below :
*Added "Todo TAG" support
*Added "Output Member Filtering" option to show/hide some categories (Tracker
997979)
*Fixed "Directories not exists" Exception (Tracker 1058399)
*Fixed Menu and toolbar not disabled when Parsing and building (Tracker 1035514)
*Fixed "Warn when empty TAG" function not working (Tracker 1035953)
*Improved empty TAG handling
*Added Extended Comment support with @Comment TAG
*Added Extended Comment support TAG with DoubleSlash in methods
*Improved Multiline TAG recognition.
*Updated Translations template
*Added Russian Translation (Tracker 1036934)
*Change cursor to "occupied cursor" when building the HTML project (Tracker
1035514)
*Added a "View Output" menu item (Tracker 1035514)
*Added a single "Check and Build" menu item (Tracker 1035514)
*Added a "Purge output folder" button (Tracker 1035514)
*Added HTML improvements (Tracker 1035636)
*Fixed EndOfLine comment not working for methods (Tracker 1038663)
*Fixed No support for interfaces (Tracker 1012884)
*Fixed No support for multiple class and interface ancestors
*Fixed "Procedural type" for field type generate an exception (Tracker 1042560)
*Fixed Incorrect menu font prevent Russian characters (Tracker 1036772)
6 / 34
http://sourceforge.net/tracker/index.php?func=detail&aid=997979&group_id=96281&atid=614258http://sourceforge.net/tracker/index.php?func=detail&aid=997979&group_id=96281&atid=614258http://sourceforge.net/tracker/index.php?func=detail&aid=1058399&group_id=96281&atid=614255http://sourceforge.net/tracker/index.php?func=detail&aid=1035514&group_id=96281&atid=614258http://sourceforge.net/tracker/index.php?func=detail&aid=1035953&group_id=96281&atid=614255http://sourceforge.net/tracker/index.php?func=detail&aid=1036934&group_id=96281&atid=614258http://sourceforge.net/tracker/index.php?func=detail&aid=1035514&group_id=96281&atid=614258http://sourceforge.net/tracker/index.php?func=detail&aid=1035514&group_id=96281&atid=614258http://sourceforge.net/tracker/index.php?func=detail&aid=1035514&group_id=96281&atid=614258http://sourceforge.net/tracker/index.php?func=detail&aid=1035514&group_id=96281&atid=614258http://sourceforge.net/tracker/index.php?func=detail&aid=1035514&group_id=96281&atid=614258http://sourceforge.net/tracker/index.php?func=detail&aid=1035636&group_id=96281&atid=614258http://sourceforge.net/tracker/index.php?func=detail&aid=1038663&group_id=96281&atid=614255http://sourceforge.net/tracker/index.php?func=detail&aid=1038663&group_id=96281&atid=614255http://sourceforge.net/tracker/index.php?func=detail&aid=1042560&group_id=96281&atid=614255http://sourceforge.net/tracker/index.php?func=detail&aid=1036772&group_id=96281&atid=614255http://sourceforge.net/tracker/index.php?func=detail&aid=1036772&group_id=96281&atid=614255http://sourceforge.net/tracker/index.php?func=detail&aid=1042560&group_id=96281&atid=614255http://sourceforge.net/tracker/index.php?func=detail&aid=1038663&group_id=96281&atid=614255http://sourceforge.net/tracker/index.php?func=detail&aid=1038663&group_id=96281&atid=614255http://sourceforge.net/tracker/index.php?func=detail&aid=1035636&group_id=96281&atid=614258http://sourceforge.net/tracker/index.php?func=detail&aid=1035514&group_id=96281&atid=614258http://sourceforge.net/tracker/index.php?func=detail&aid=1035514&group_id=96281&atid=614258http://sourceforge.net/tracker/index.php?func=detail&aid=1035514&group_id=96281&atid=614258http://sourceforge.net/tracker/index.php?func=detail&aid=1035514&group_id=96281&atid=614258http://sourceforge.net/tracker/index.php?func=detail&aid=1035514&group_id=96281&atid=614258http://sourceforge.net/tracker/index.php?func=detail&aid=1036934&group_id=96281&atid=614258http://sourceforge.net/tracker/index.php?func=detail&aid=1035953&group_id=96281&atid=614255http://sourceforge.net/tracker/index.php?func=detail&aid=1035514&group_id=96281&atid=614258http://sourceforge.net/tracker/index.php?func=detail&aid=1058399&group_id=96281&atid=614255http://sourceforge.net/tracker/index.php?func=detail&aid=997979&group_id=96281&atid=614258http://sourceforge.net/tracker/index.php?func=detail&aid=997979&group_id=96281&atid=6142588/9/2019 doc Manual v0
7/34
DelphiCodeToDocFree documentation tool for Delphi, with JavaDoc support.
TridenT http://dephicodetodoc.sourceforge.net
What are the known bugs of the software ?*None for the moment
If you find a problem, please send it by email at TridenT at users.sourceforge.net or
Submit a Tracker.
What are the known limitations of the software ?*Methods with the same name (overloaded) will result in a single method
*Functions with the same name (overloaded) will result in a single function
*No pre-processor define can be add
*Propertys have no description (but are generated)
*Events have no description
*Only HTML documentation is generated
*Only English language is support for generated documentation
*@see TAG in not supported
*Record are not generated and don't support JavaDoc TAG
What will be include or change in the next revisions ?*Add language choice for generated documentation
*New nice Project Wizard
*CHM support
7 / 34
mailto:[email protected]:[email protected]8/9/2019 doc Manual v0
8/34
DelphiCodeToDocFree documentation tool for Delphi, with JavaDoc support.
TridenT http://dephicodetodoc.sourceforge.net
4. Technical papers
JavaDoc Syntax
In this page, I will explain how to write JavaDoc comments for DelphiCodeToDoc inthe Delphi environment. You can read this interresting article from Sun : How to Write
Doc Comments for the Javadoc Tool.
The text below is only a summary of this document. See full list of TAGs at the end ofthis document.
Format of a Doc CommentA doc comment is written in HTML and must precede a class, field, constructor or
method declaration. It is made up of two parts -- a description followed by block tags.
In this example, there is one block tags are @param, and @see.
Example{*------------------------------------------------------------------------------
Configure the User output and Debug output to inform about the status
The TDOCProject class is very separated from the external user interface.
But in order to inform about the state of the project, it needs to know where
to display informations. This could be a visual control, or a file or whatever
containing a TStrings reference to work.
@param dmUser Where User messages will be written
@param dmDebug Where Debug messages will be written
@see WriteMessage
-------------------------------------------------------------------------------}
procedure TDOCProject.SetDestinationMessages(const dmUser, dmDebug: TStrings);begin
FdmUserMessages := dmUser;FdmDebugMessages := dmDebug;
end;
Note*The resulting HTML from running DelphiCodeToDoc is shown below.
*Each line above is indented to align with the code below the comment (the
begin/end block).
8 / 34
http://dephicodetodoc.sourceforge.net/JavaDoc_TAG_Param.htmhttp://dephicodetodoc.sourceforge.net/JavaDoc_TAG_Param.htmhttp://dephicodetodoc.sourceforge.net/JavaDoc_TAG_See.htmhttp://dephicodetodoc.sourceforge.net/JavaDoc_TAG_See.htmhttp://dephicodetodoc.sourceforge.net/JavaDoc_TAG_Param.htmhttp://dephicodetodoc.sourceforge.net/JavaDoc_TAG_Param.htm8/9/2019 doc Manual v0
9/34
DelphiCodeToDocFree documentation tool for Delphi, with JavaDoc support.
TridenT http://dephicodetodoc.sourceforge.net
*The first line contains the begin-comment delimiter "{" followed by the JavaDoc
Prefix '*' and the embellishment, which is optionnal.
*Write the first sentence as a short summary of the method, as DelphiCodeToDoc
automatically places it in the method summary table (and index).
*Insert a blank comment line between the description and the list of tags, as shown.
*The first line that begins with an "@" character ends the description. There is only
one description block per doc comment; you cannot continue the description
following block tags.
*The last line contains the end-comment delimiter "}", forgoing with an
embellishment.
*Lines won't wrap, limit any doc-comment lines to 80 characters.
Here is what the previous example would look like after running the Javadoc tool:
9 / 34
8/9/2019 doc Manual v0
10/34
DelphiCodeToDocFree documentation tool for Delphi, with JavaDoc support.
TridenT http://dephicodetodoc.sourceforge.net
Member
SetDestinationMessages
Visibility
PUBLIC
Related Class
TDOCProject
Description
Configure the User output and Debug output to inform about the status
The TDOCProject class is very separated from the external user interface.
But in order to inform about the state of the project, it needs to knowwhere
to display informations. This could be a visual control, or a file or whatever
containing a TStrings reference to work.
Source code
procedure SetDestinationMessages ( const dmUser , dmDebug : TStrings )
Parameters
Parameter Description
dmUser : TStrings Where User messages will be written
dmDebug : TStrings Where Debug messages will be written
Links
WriteMessage
10 / 34
8/9/2019 doc Manual v0
11/34
DelphiCodeToDocFree documentation tool for Delphi, with JavaDoc support.
TridenT http://dephicodetodoc.sourceforge.net
JavaDoc TAG Description
*The first sentence of each doc comment should be a summary sentence, containinga concise but complete description of the API item. This means the first sentence of
each member, class, interface or package description. The Javadoc tool copies this
first sentence to the appropriate member, class/interface or package summary. This
makes it important to write crisp and informative initial sentences that can stand on
their own.
*The rest of the description is the explaination and goes beyond the summary. Thebest member names are "self-documenting", meaning they tell you basically what the
item does. If the doc comment merely repeats the member name in sentence form, it
is not providing more information. For example, if method description uses only the
words that appear in the method name, then it is adding nothing at all to what you
could infer. The ideal comment goes beyond those words and should always reward
you with some bit of information that was not immediately obvious from the name.
{*------------------------------------------------------------------------------
Handle BDF Files
BDFfont is a library to handle BDF font (Bitmap Distribution Format file)font with Delphi.This library will solve the lack of support for bitmap font on MS-Windows.A complete documentation and few examples are also available.Get last revision at : http://sourceforge.net/projects/bdffont/Copyright TridenT 2003 - Under GNU GPL licence
@Author TridenT
@Version 2003/08/16 TridenT v0.1 Initial revision
@Version 2003/08/18 TridenT v0.2 Added Transparency and Space char cap.@Version 2003/08/24 TridenT v0.3 Added a message when loading a font.
@Version 2003/09/02 TridenT v0.4 New storage method (fast and tiny)
@Version 2003/09/10 TridenT v0.5 Added function to autosize a text
-------------------------------------------------------------------------------}unit u_BDFfont;
...
11 / 34
8/9/2019 doc Manual v0
12/34
DelphiCodeToDocFree documentation tool for Delphi, with JavaDoc support.
TridenT http://dephicodetodoc.sourceforge.net
JavaDoc TAG - @Author
@author name-textAdds an "Author" entry with the specified name-text to the generated docs when the -
author option is used. A doc comment may contain multiple @author tags. You can
specify one name per @author tag or multiple names per tag. The entire text is
simply copied to the generated document without being parsed. Therefore, you can
use multiple names per line if you want a localized name separator other than
comma.
{*------------------------------------------------------------------------------
Base of all Generator
The Generator component build a formatted file with the data from the
extractor. All Generator will descend from the TDOCGenerator describe in this
unit.
http://dephicodetodoc.sourceforge.net/
Copyright TridenT 2003 - Under GNU GPL licence
@AuthorTridenT
@Version 2003/12/01 TridenT v0.0 Initial revision
@Todo Add ToDo comments (optional)-------------------------------------------------------------------------------}
unit DocGen;
...
12 / 34
8/9/2019 doc Manual v0
13/34
DelphiCodeToDocFree documentation tool for Delphi, with JavaDoc support.
TridenT http://dephicodetodoc.sourceforge.net
JavaDoc TAG @version
@version version-textAdds a "Version" subheading with the specified version-text to the generated docs
when the -version option is used. This tag is intended to hold the current version
number of the software that this code is part of (as opposed to @since, which holds
the version number where this code was introduced). The version-text has no special
internal structure. To see where the version tag can be used, see Where Tags Can
Be Used.
A doc comment may contain multiple @version tags. If it makes sense, you can
specify one version number per @version tag or multiple version numbers per tag. In
the former case, the Javadoc tool inserts a comma (,) and space between names. In
the latter case, the entire text is simply copied to the generated document without
being parsed. Therefore, you can use multiple names per line if you want a localized
name separator other than comma
{*------------------------------------------------------------------------------
Handle BDF Files
BDFfont is a library to handle BDF font (Bitmap Distribution Format file)
font with Delphi.
This library will solve the lack of support for bitmap font on MS-Windows.
A complete documentation and few examples are also available.
Get last revision at : http://sourceforge.net/projects/bdffont/
Copyright TridenT 2003 - Under GNU GPL licence
@Author TridenT
@Version2003/08/16 TridenT v0.1 Initial revision@Version2003/08/18 TridenT v0.2 Added Transparency and Space char cap.
@Version2003/08/24 TridenT v0.3 Added a message when loading a font.@Version2003/09/02 TridenT v0.4 New storage method (fast and tiny)@Version2003/09/10 TridenT v0.5 Added function to autosize a text
-------------------------------------------------------------------------------}unit u_BDFfont;
...
13 / 34
8/9/2019 doc Manual v0
14/34
DelphiCodeToDocFree documentation tool for Delphi, with JavaDoc support.
TridenT http://dephicodetodoc.sourceforge.net
JavaDoc TAG @param
@param parameter-name descriptionAdds a parameter to the "Parameters" section. The description may be continued on
the next line. This tag is valid only in a doc comment for a method or constructor.
The @param tag is followed by the name (not data type) of the parameter, followed
by a description of the parameter. By convention, the first noun in the description is
the data type of the parameter. (Articles like "a", "an", and "the" can precede the
noun.) An exception is made for the primitive int, where the data type is usually
omitted. Additional spaces can be inserted between the name and description so that
the descriptions line up in a block. Dashes or other punctuation should not be
inserted before the description, as the Javadoc tool inserts one dash.
Parameter names are lowercase by convention. The data type starts with a
lowercase letter to indicate an object rather than a class. The description begins with
a lowercase letter if it is a phrase (contains no verb), or an uppercase letter if it is a
sentence. End the phrase with a period only if another phrase or sentence follows it.
{*------------------------------------------------------------------------------
Configure the User output and Debug output to inform about the status
The TDOCProject class is very separated from the external user interface.
But in order to inform about the state of the project, it needs to know where
to display informations. This could be a visual control, or a file or whatever
containing a TStrings reference to work.
@paramdmUser Where User messages will be written@paramdmDebug Where Debug messages will be written
-------------------------------------------------------------------------------}procedure TDOCProject.SetDestinationMessages(const dmUser, dmDebug: TStrings);
14 / 34
8/9/2019 doc Manual v0
15/34
DelphiCodeToDocFree documentation tool for Delphi, with JavaDoc support.
TridenT http://dephicodetodoc.sourceforge.net
JavaDoc TAG @return
@return descriptionAdds a "Returns" section with the description text. This text should describe the
return type and permissible range of values. This tag is valid only in a doc comment
for a method.
Omit @return for procedure and constructors; include it for all other methods, even if
its content is entirely redundant with the method description. Having an explicit
@return tag makes it easier for someone to find the return value quickly. Whenever
possible, supply return values for special cases (such as specifying the value
returned when an out-of-bounds argument is supplied).
{*------------------------------------------------------------------------------
Build the project by creating the output files
It verify if the project is ready to be build, and then call the Generator
by the execute method.
Additionnaly, the project's State is set to psBuilt if successfull
@returnTRUE if succesfull, FALSE otherwise
-------------------------------------------------------------------------------}function TDOCProject.Build: boolean;
...
15 / 34
8/9/2019 doc Manual v0
16/34
DelphiCodeToDocFree documentation tool for Delphi, with JavaDoc support.
TridenT http://dephicodetodoc.sourceforge.net
JavaDoc TAG @throws
@throws class-name descriptionAdds an "Exception" subheading to the generated documentation, with the class-
name and description text. The class-name is the name of the exception that may be
thrown by the method. This tag is valid only in the doc comment for a method or
constructor. If this class is not fully-specified, the Javadoc tool uses the search order
to look up this class. Multiple @throws tags can be used in a given doc comment for
the same or different exceptions.
Not functionnal: To ensure that all checked exceptions are documented, if a @throws
tag does not exist for an exception in the throws clause, the Javadoc tool
automatically adds that exception to the HTML output (with no description) as if it
were documented with @throws tag.
The @throws documentation is copied from an overridden method to a subclass only
when the exception is explicitly declared in the overridden method. The same is true
for copying from an interface method to an implementing method.
{*---------------
Test ClassProcedure !
@throws IExcept Unterminated string !!!
------------}procedure TNewClass.ClassProc;begin
...raise Exception.Create('Unterminated string: ');
end;
16 / 34
8/9/2019 doc Manual v0
17/34
DelphiCodeToDocFree documentation tool for Delphi, with JavaDoc support.
TridenT http://dephicodetodoc.sourceforge.net
JavaDoc TAG @todo
@todo textAdds a "Todo" subheading with the specified text to the generated documentation.
Use this TAG the same way as the TODO feature in Delphi.
{*------------------------------------------------------------------------------
Handle BDF Files
BDFfont is a library to handle BDF font (Bitmap Distribution Format file)
font with Delphi.
This library will solve the lack of support for bitmap font on MS-Windows.
A complete documentation and few examples are also available.
Get last revision at : http://sourceforge.net/projects/bdffont/
Copyright TridenT 2003 - Under GNU GPL licence
@Author TridenT
@Todo Handle exception from a file access error
-------------------------------------------------------------------------------}unit u_BDFfont;
...
17 / 34
8/9/2019 doc Manual v0
18/34
DelphiCodeToDocFree documentation tool for Delphi, with JavaDoc support.
TridenT http://dephicodetodoc.sourceforge.net
JavaDoc TAG @Comment
There is two way to work with this new TAG : in a block comment with the
@comment TAG, or with the Inline Extended comment inside a method or function.
@comment textAdds an "additional comment" subheading with the specified text to the generated
documentation. Use this TAG to add other information to the Unit, class, method or
function.
{*------------------------------------------------------------------------------
Handle BDF Files
BDFfont is a library to handle BDF font (Bitmap Distribution Format file)
font with Delphi.
This library will solve the lack of support for bitmap font on MS-Windows.
A complete documentation and few examples are also available.
Get last revision at : http://sourceforge.net/projects/bdffont/
Copyright TridenT 2003 - Under GNU GPL licence
@Author TridenT
@Comment Handle exception from a file access error
-------------------------------------------------------------------------------}unit u_BDFfont;
...
*Inline Extended commentAdds an "additional comment" subheading with the specified text to the generated
documentation. Use the Inline TAG as Description TAG but inside a method or
function. The default syntex is Double Slash + the JavaDoc Prefix for Inline.
This syntax is usefull to add algorithm of method in the code and in the
documentation.
18 / 34
8/9/2019 doc Manual v0
19/34
DelphiCodeToDocFree documentation tool for Delphi, with JavaDoc support.
TridenT http://dephicodetodoc.sourceforge.net
{*---------------------
Test ClassProcedure !----------------------}
procedure TNewClass.ClassProc;begin/// This is a extended description
if ((Attr and FileInfo.Attr) 0) and SameText(ExtractFileExt(FileInfo.Name),PAS_FILE_EXT) then/// And another description
Inc(i);end;
19 / 34
8/9/2019 doc Manual v0
20/34
DelphiCodeToDocFree documentation tool for Delphi, with JavaDoc support.
TridenT http://dephicodetodoc.sourceforge.net
JavaDoc TAG @see
@see reference (Not functionnal for the moment in DelphiCodeToDoc)Adds a "See Also" heading with a link or text entry that points to reference. A doc
comment may contain any number of @see tags, which are all grouped under the
same heading. The @see tag has three variations; the third form below is the most
common. This tag is valid in any doc comment: overview, package, class, interface,
constructor, method or field.
20 / 34
8/9/2019 doc Manual v0
21/34
DelphiCodeToDocFree documentation tool for Delphi, with JavaDoc support.
TridenT http://dephicodetodoc.sourceforge.net
Inlines Syntax
In this page, I will explain how to write Inlines comments for DelphiCodeToDoc in theDelphi environment. You should read this document before : how to write JavaDoc
comments
Format of an inline CommentAn inline doc comment is a short way to describe a class, field, constructor or method
declaration. It should be used very rarely, and only when you think there is no need
to detail more.
Example/// Main Class that manage the Parser, the Structure Builder and the GeneratorTDOCProject = class
private
FDocOptions : TDOCOptions; // project's Options shared with GeneratorFDocStructure: TDOCStructure; // Holds the skeleton of the source codeFFileList: TStringList; // List of all file that will be processed
FState : TProjectState; // State of the project (New, Checked of Built)
FisChecked: boolean; // Specified if project has already been checkedFdmUserMessages: TStrings; // Reference for writting User messages
FdmDebugMessages: TStrings; // Reference for writting Debug messages...
Simple InlineWritting a comment line with double slash ( // ) - or triple slash ( /// ) if define in
configuration panel - before a class, field or method will be processed as a
Description TAG.
End of line InlineWritting a comment line at the end of a line with double slash ( // ) - or triple slash ( ///) if define in configuration panel - before a field (and only a Field) will be processedas a Description TAG for the preceding Field.
21 / 34
8/9/2019 doc Manual v0
22/34
DelphiCodeToDocFree documentation tool for Delphi, with JavaDoc support.
TridenT http://dephicodetodoc.sourceforge.net
5. Project's options explanation (Configuration panel)Here is a description of the options listed in the configuration panel.
Project's options explanation (Configuration panel)Here is a description of the options listed in the configuration panel.
Application options
Control the application and the way it worksBools as ChecksIt is just a visual option. You can choose if you want boolean value displays as text of
checkbox.
Launch Browser after Build?
If you want to launch the default Web browser after a successful documentation build.Input optionsAffect the input file and the way they are understand (parsed)
JavaDoc Prefix (only one character)Normally, the JavaDoc syntax is defined by a block /** ... */
The begin-comment delimiter is specific for JavaDoc. In DelphiCodeTodoc, you can
define exactly which character will define the JavaDoc syntax.This prefix can be different for BracketStart comment, Curly comment and Inline
comment. If you don't want a prefix, just delete the char, so it will be replace by '#0'
which is empty char.
BracketStart Prefix (*Prefix for BracketStar block comment
Curly Prefix {
Prefix for Curly block comment
Inline Prefix //
Prefix for Inline block comment (and also EndOfLine)
Parse Implementation SectionYou can enable the process of implementation section. It so, it will search TAG
comments in the whole file, instead of only in unit interface section.
For the moment, this option is in read-only, so it will always parse the implementation
section.
Project's Name
Name of you project. It can be a single word, or a phrase. But remember it will be the
base name for all output generated file (HTML), so you should avoid special char.
Project's Title
Title of the project. Not avaible for the moment
Project's Author
22 / 34
8/9/2019 doc Manual v0
23/34
DelphiCodeToDocFree documentation tool for Delphi, with JavaDoc support.
TridenT http://dephicodetodoc.sourceforge.net
23 / 34
Name of the author of the project's documentationProject's Summary
A short single lines description to explain your project. These informations will
appear in the Project's index output file, under the "Summary" section.
Project's Description
A multi-lines description to explain your project. These informations will appear in
the Project's index output file, under the "Description" section.
RecurseDirectory
Enbling Recurse directory will search into ALL sub-directories from the root you
provide.
RootDirectoryThis is the base folder where you have your source file.
In Read-only mode for the moment.
Output optionsAffect the output files and the way they are written (build)
Alpha sort of membersSort all members (units, classes, class members, constants ...) alphabetically in the
table list.
Comment syntax recognition
Specify which comment syntax will be extract from the source code. This option is
Read-Only for the moment, as only JavaDoc and Inline comments are recognize.
Futur development will include Jedi-style support.Hide empty block from reportWith this option ON, you will hide from report an empty Constants or functions block
for example.
Hide empty TAG section from report
Sometimes, you don't need to fill all TAGs in comments. This option will hide it
instead of displaying an empty section.
For example, if there is no Author's TAGs in a unit, the section will be hidden.
JavaDoc support optionsSpecial options for JavaDoc syntax
Skip first TAG line in comment blockSkip the first line of a JavaDoc block. It is usefull when the JavaDoc block is
decorated in the first line.
Skip last TAG line in comment block
Skip the last line of a JavaDoc block. It is usefull when the JavaDoc block is
decorated in the last line.
LanguageLanguage of the documentation. Read-only, Forced to English
Member visibility filter
Show or hide members depending on their visibility (Private, Protected, Published or
Public).
Output filtering category
8/9/2019 doc Manual v0
24/34
DelphiCodeToDocFree documentation tool for Delphi, with JavaDoc support.
TridenT http://dephicodetodoc.sourceforge.net
24 / 34
Here you can define what you want in the documentation. Each item-type can be show
or hide, from classes to variables.
Output Folder
Folder where he documentation whill be create. It is define at the prokject creation,
ans cannot be changed.
Output FormatChange the output format of the generated documentation.
Read-only and forced to 'HTML' because it is the only supported by now.
Warn when TAG are emptyIf a TAG is empty (or mising), without this option, a blank line will be written in the
TAG section.
You should turn it ON to have a warning message in the documentation explainingthat not TAGs were found.
8/9/2019 doc Manual v0
25/34
DelphiCodeToDocFree documentation tool for Delphi, with JavaDoc support.
TridenT http://dephicodetodoc.sourceforge.net
6. FAQ for users
This section will try to answer some common asked questions, so read it before
submitting a support request or asking help by mail, thanks.
What will DelphiCodeToDoc do for me ?It will generate an accurate documentation of your source code, and very important, itwill be always up-to-date. It can be your source - if you want other to understand yoursoftware, or write a technical specification for your component and/or library - or a
third party source, and you will quickly understand the software architecture and therelations between units, classes and all elements of the code.
What does it need ?You need a Delphi (Pascal object style) source code, with formatted comment. This
last point is not a requierement, but highly recommended.
What is JavaDoc and other TAGs commented systems ?For this point, please see the Supported TAGs systems page.
Why should I write comments in my source code ?First, you need to comment your source code for you, and others if you share your
source. It helps understanding what you have done, and how. Units, classes and
members description (with TAGs) will give a overview of their role in the application.
Make a modification on an older part of the code is easier if the code was
commented, especially if your are not the creator of the source.
Second, comments will help you to architecture your application. If you have
difficulties or can't explain what you just write (or better what you are going to code),
it's time to review your system !
Is it really free ?Yes of course. The application and the source code are free, see the GNU GPL pageto understand the licence details.
25 / 34
http://www.gnu.org/licenses/gpl.txthttp://www.gnu.org/licenses/gpl.txt8/9/2019 doc Manual v0
26/34
DelphiCodeToDocFree documentation tool for Delphi, with JavaDoc support.
TridenT http://dephicodetodoc.sourceforge.net
Why are you doing this ? and for free !Well, I'm working with some great tools for C++ language, but I found nothing similar
for Delphi. If you watch the Links page, you will see a list of other applications, but
they are commercial products, or don't satisfy my needs. So, I decided to create
mine, and to share it with other people. So, if you enjoy the software, have idea of
improvement or just want to speak, contact me !
What if I don't like this application ?Well, you could contact me and explain why, maybe submit ideas to improve the
software. I will try to correct and add all features you want if could justify it. You can
also help me in the developement and correct the things you hate, see Get involved
page !
What do I need to re-compile the source code ?You need BORLAND Delphi from version 5, JCL and JVCL great library, and the
source code ! Have a look to the Developer's FAQ to get all the details.
Who are you ?My name is TridenT, I'm a french guy who want to contribute to the FREE - GNU -
DELPHI community, to share my knowledge with other people, and to always learn !
That's all you need to know :o)
26 / 34
8/9/2019 doc Manual v0
27/34
DelphiCodeToDocFree documentation tool for Delphi, with JavaDoc support.
TridenT http://dephicodetodoc.sourceforge.net
7. Mailing ListsWant to be informed about DelphiCodeToDoc ?For the moment, there is only one Mailing list, named DephiCodeToDoc-news.It's a low traffic mailing list about releases, important bug-fixes and major changes in
next revisions.
Subscribing to DephiCodeToDoc-newsMore information for subscribtion in DephiCodeToDoc-news page.
ArchivesYou can see the collection of prior postings to the list by visiting the
DephiCodeToDoc-news Archives.
27 / 34
http://lists.sourceforge.net/lists/listinfo/dephicodetodoc-newshttp://sourceforge.net/mailarchive/forum.php?forum=dephicodetodoc-newshttp://sourceforge.net/mailarchive/forum.php?forum=dephicodetodoc-newshttp://lists.sourceforge.net/lists/listinfo/dephicodetodoc-news8/9/2019 doc Manual v0
28/34
DelphiCodeToDocFree documentation tool for Delphi, with JavaDoc support.
TridenT http://dephicodetodoc.sourceforge.net
8. Discussion ForumHere is a list of discussion forums, their description, and the link to the content hosted
on SourceForge. Please, read the FAQs before posting any question. Remember,
posting in the forums will allow other people to read your comments, and maybe help
them. So prefer posting instead of sending me directly an email.
Open Discussion (All and nothing about this project)If you want to say something about DelphiCodeToDoc, or TAGs based commentssystem, or simply post a comment, this is the right place!
HelpIf you are facing a problem with the application, just send a message in this forum
But if you think you have enough grasp the issue, feel free to directly post a Tracker.
French Forum - Forum en FranaisCe forum est disponible pour tous ceux qui parlent franais. Je n'ai pas le temps de
traduire des parties du site web, ni certains documents, mais je peux fournir un
support en Franais partir de cette section.
This forum is for anyone who speak my natural language. I don't have time to
translate any web site part nor some documents in French, but I can provide a
support in French from this section.
28 / 34
http://dephicodetodoc.sourceforge.net/FAQ_for_users.htmhttp://sourceforge.net/forum/forum.php?forum_id=333850http://sourceforge.net/forum/forum.php?forum_id=333851http://sourceforge.net/forum/forum.php?forum_id=347469http://sourceforge.net/forum/forum.php?forum_id=347469http://sourceforge.net/forum/forum.php?forum_id=333851http://sourceforge.net/forum/forum.php?forum_id=333850http://dephicodetodoc.sourceforge.net/FAQ_for_users.htm8/9/2019 doc Manual v0
29/34
DelphiCodeToDocFree documentation tool for Delphi, with JavaDoc support.
TridenT http://dephicodetodoc.sourceforge.net
Download informationLast revision is available to download from this page. To learn more about this
release and the modifications, have a look to the What's new page.
You can download and re-distribute this software for free, as it is explain in the GNU
GPL text.
EXEcutable download - DelphiCodeToDoc_exe_v0.10b.zipDownload EXE from the SourceForge project's site
Download EXE from eDonkey/eMule network
Source download - DelphiCodeToDoc_src_v0.10b.zipDownload SOURCE from the SourceForge project's site
Download SOURCE from eDonkey/eMule network
Documentation download - DelphiCodeToDoc_Manual_v0.10b.pdfDownload DOCUMENTATION from the SourceForge project's site
Download DOCUMENTATION from eDonkey/eMule network
Older releases downloadIf you need to download other old revisions of the software (or source), follow the
SourceForge project's download page.
29 / 34
http://dephicodetodoc.sourceforge.net/Whats_new.htmhttp://www.gnu.org/licenses/gpl.txthttp://www.gnu.org/licenses/gpl.txthttp://prdownloads.sourceforge.net/dephicodetodoc/DelphiCodeToDoc_exe_v0.10b.zip?downloadhttp://d/Projets/Ex/DelphiCodeToDoc/Doc/ed2k:/%7Cfile%7CDelphiCodeToDoc_exe_v0.10b.-.Free.documentation.tool.for.delphi.with.JavaDoc.support.zip%7C962873%7C7FD86535CCF99ECE54C8BB8DD7931255%7C/%7Csources,82.67.74.56:4662%7C/http://prdownloads.sourceforge.net/dephicodetodoc/DelphiCodeToDoc_src_v0.10b.zip?downloadhttp://d/Projets/Ex/DelphiCodeToDoc/Doc/ed2k:/%7Cfile%7CDelphiCodeToDoc_src_v0.10b.-.Free.documentation.tool.for.delphi.with.JavaDoc.support.zip%7C602033%7CBCAFC625FAD80EBE46E1DDD62D34FED2%7C/%7Csources,82.67.74.56:4662%7C/http://prdownloads.sourceforge.net/dephicodetodoc/DelphiCodeToDoc_Manual_v0.10b.pdf?downloadhttp://sourceforge.net/project/showfiles.php?group_id=96281http://sourceforge.net/project/showfiles.php?group_id=96281http://prdownloads.sourceforge.net/dephicodetodoc/DelphiCodeToDoc_Manual_v0.10b.pdf?downloadhttp://d/Projets/Ex/DelphiCodeToDoc/Doc/ed2k:/%7Cfile%7CDelphiCodeToDoc_src_v0.10b.-.Free.documentation.tool.for.delphi.with.JavaDoc.support.zip%7C602033%7CBCAFC625FAD80EBE46E1DDD62D34FED2%7C/%7Csources,82.67.74.56:4662%7C/http://prdownloads.sourceforge.net/dephicodetodoc/DelphiCodeToDoc_src_v0.10b.zip?downloadhttp://d/Projets/Ex/DelphiCodeToDoc/Doc/ed2k:/%7Cfile%7CDelphiCodeToDoc_exe_v0.10b.-.Free.documentation.tool.for.delphi.with.JavaDoc.support.zip%7C962873%7C7FD86535CCF99ECE54C8BB8DD7931255%7C/%7Csources,82.67.74.56:4662%7C/http://prdownloads.sourceforge.net/dephicodetodoc/DelphiCodeToDoc_exe_v0.10b.zip?downloadhttp://www.gnu.org/licenses/gpl.txthttp://www.gnu.org/licenses/gpl.txthttp://dephicodetodoc.sourceforge.net/Whats_new.htm8/9/2019 doc Manual v0
30/34
DelphiCodeToDocFree documentation tool for Delphi, with JavaDoc support.
TridenT http://dephicodetodoc.sourceforge.net
9. LinksDelphiCodeToDoc DownloadDownload last revision here on SourceForge
https://sourceforge.net/project/showfiles.php?group_id=96281&package_id=102847&
release_id=215421
Other similar projectsSome tools handle JavaDoc, as Doc-o-matic. See linkhttp://delphi.about.com/cs/toppicks/tp/aatphelp.htm for more ressource on this
subject.(#under construction#)
Doc-o-matic
http://www.doc-o-matic.com/
Time2Help
http://www.time2help.com/
DIPasDoc (from The Delphi Inspiration)
http://www.zeitungsjunge.de/delphi/pasdoc/
PasDoc
http://pasdoc.sourceforge.net/
30 / 34
https://sourceforge.net/project/showfiles.php?group_id=96281&package_id=102847&release_id=215421https://sourceforge.net/project/showfiles.php?group_id=96281&package_id=102847&release_id=215421http://delphi.about.com/cs/toppicks/tp/aatphelp.htmhttp://www.doc-o-matic.com/http://www.time2help.com/http://www.zeitungsjunge.de/delphi/pasdoc/http://pasdoc.sourceforge.net/http://pasdoc.sourceforge.net/http://www.zeitungsjunge.de/delphi/pasdoc/http://www.time2help.com/http://www.doc-o-matic.com/http://delphi.about.com/cs/toppicks/tp/aatphelp.htmhttps://sourceforge.net/project/showfiles.php?group_id=96281&package_id=102847&release_id=215421https://sourceforge.net/project/showfiles.php?group_id=96281&package_id=102847&release_id=2154218/9/2019 doc Manual v0
31/34
DelphiCodeToDocFree documentation tool for Delphi, with JavaDoc support.
TridenT http://dephicodetodoc.sourceforge.net
10. GNU GENERAL PUBLIC LICENSEVersion 2, June 1991Copyright (C) 1989, 1991 Free Software Foundation, Inc.
59 Temple Place, Suite 330, Boston, MA 02111-1307
USA
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
Preamble
The licenses for most software are designed to take away your
freedom to share and change it. By contrast, the GNU General Public
License is intended to guarantee your freedom to share and change
freesoftware--to make sure the software is free for all its users. This
General Public License applies to most of the Free SoftwareFoundation's software and to any other program whose authorscommit to
using it. (Some other Free Software Foundation software is covered
by
the GNU Library General Public License instead.) You can apply it
toyour programs, too.
When we speak of free software, we are referring to freedom, notprice. Our General Public Licenses are designed to make sure that
you
have the freedom to distribute copies of free software (and charge for
this service if you wish), that you receive source code or can get itif you want it, that you can change the software or use pieces of it
in new free programs; and that you know you can do these things.
To protect your rights, we need to make restrictions that forbid
anyone to deny you these rights or to ask you to surrender the rights.
These restrictions translate to certain responsibilities for you if you
distribute copies of the software, or if you modify it.
For example, if you distribute copies of such a program, whether
gratis or for a fee, you must give the recipients all the rights thatyou have. You must make sure that they, too, receive or can get the
source code. And you must show them these terms so they know
their
rights.
We protect your rights with two steps: (1) copyright the software,
and
(2) offer you this license which gives you legal permission to copy,distribute and/or modify the software.
Also, for each author's protection and ours, we want to make certain
that everyone understands that there is no warranty for this freesoftware. If the software is modified by someone else and passed on,
we
want its recipients to know that what they have is not the original, sothat any problems introduced by others will not reflect on the original
authors' reputations.
Finally, any free program is threatened constantly by softwarepatents. We wish to avoid the danger that redistributors of a free
program will individually obtain patent licenses, in effect making the
program proprietary. To prevent this, we have made it clear that anypatent must be licensed for everyone's free use or not licensed at all.
The precise terms and conditions for copying, distribution and
modification follow.
GNU GENERAL PUBLIC LICENSE
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION
AND MODIFICATION
0. This License applies to any program or other work which
contains
a notice placed by the copyright holder saying it may be distributed
under the terms of this General Public License. The "Program",below,
refers to any such program or work, and a "work based on the
Program"means either the Program or any derivative work under copyright
law:
that is to say, a work containing the Program or a portion of it,
either verbatim or with modifications and/or translated into anotherlanguage. (Hereinafter, translation is included without limitation in
the term "modification".) Each licensee is addressed as "you".
Activities other than copying, distribution and modification are not
covered by this License; they are outside its scope. The act of
running the Program is not restricted, and the output from the
Program
is covered only if its contents constitute a work based on theProgram (independent of having been made by running the Program).
Whether that is true depends on what the Program does.
1. You may copy and distribute verbatim copies of the Program's
source code as you receive it, in any medium, provided that you
conspicuously and appropriately publish on each copy an appropriate
copyright notice and disclaimer of warranty; keep intact all thenotices that refer to this License and to the absence of any warranty;
and give any other recipients of the Program a copy of this License
along with the Program.
You may charge a fee for the physical act of transferring a copy, and
you may at your option offer warranty protection in exchange for a
fee.
2. You may modify your copy or copies of the Program or any
portionof it, thus forming a work based on the Program, and copy and
distribute such modifications or work under the terms of Section 1above, provided that you also meet all of these conditions:
a) You must cause the modified files to carry prominent noticesstating that you changed the files and the date of any change.
b) You must cause any work that you distribute or publish, that in
whole or in part contains or is derived from the Program or anypart thereof, to be licensed as a whole at no charge to all third
parties under the terms of this License.
c) If the modified program normally reads commands interactively
when run, you must cause it, when started running for such
interactive use in the most ordinary way, to print or display an
announcement including an appropriate copyright notice and anotice that there is no warranty (or else, saying that you provide
a warranty) and that users may redistribute the program under
these conditions, and telling the user how to view a copy of thisLicense. (Exception: if the Program itself is interactive but
does not normally print such an announcement, your work based
on
the Program is not required to print an announcement.)
31 / 34
8/9/2019 doc Manual v0
32/34
DelphiCodeToDocFree documentation tool for Delphi, with JavaDoc support.
TridenT http://dephicodetodoc.sourceforge.net
These requirements apply to the modified work as a whole. Ifidentifiable sections of that work are not derived from the Program,
and can be reasonably considered independent and separate works in
themselves, then this License, and its terms, do not apply to those
sections when you distribute them as separate works. But when youdistribute the same sections as part of a whole which is a work based
on the Program, the distribution of the whole must be on the terms of
this License, whose permissions for other licensees extend to theentire whole, and thus to each and every part regardless of who wrote
it.
Thus, it is not the intent of this section to claim rights or contestyour rights to work written entirely by you; rather, the intent is to
exercise the right to control the distribution of derivative or
collective works based on the Program.
In addition, mere aggregation of another work not based on the
Program
with the Program (or with a work based on the Program) on a volume
ofa storage or distribution medium does not bring the other work under
the scope of this License.
3. You may copy and distribute the Program (or a work based on it,
under Section 2) in object code or executable form under the terms of
Sections 1 and 2 above provided that you also do one of the
following:
a) Accompany it with the complete corresponding machine-
readablesource code, which must be distributed under the terms of Sections
1 and 2 above on a medium customarily used for software
interchange; or,
b) Accompany it with a written offer, valid for at least three
years, to give any third party, for a charge no more than your
cost of physically performing source distribution, a completemachine-readable copy of the corresponding source code, to be
distributed under the terms of Sections 1 and 2 above on a medium
customarily used for software interchange; or,
c) Accompany it with the information you received as to the offerto distribute corresponding source code. (This alternative is
allowed only for noncommercial distribution and only if you
received the program in object code or executable form with suchan offer, in accord with Subsection b above.)
The source code for a work means the preferred form of the work for
making modifications to it. For an executable work, complete source
code means all the source code for all modules it contains, plus anyassociated interface definition files, plus the scripts used to
control compilation and installation of the executable. However, as aspecial exception, the source code distributed need not include
anything that is normally distributed (in either source or binary
form) with the major components (compiler, kernel, and so on) of the
operating system on which the executable runs, unless thatcomponent
itself accompanies the executable.
If distribution of executable or object code is made by offering
access to copy from a designated place, then offering equivalentaccess to copy the source code from the same place counts as
distribution of the source code, even though third parties are not
compelled to copy the source along with the object code.
4. You may not copy, modify, sublicense, or distribute the Programexcept as expressly provided under this License. Any attempt
otherwise to copy, modify, sublicense or distribute the Program is
void, and will automatically terminate your rights under this License.
However, parties who have received copies, or rights, from you underthis License will not have their licenses terminated so long as such
parties remain in full compliance.
5. You are not required to accept this License, since you have notsigned it. However, nothing else grants you permission to modify or
distribute the Program or its derivative works. These actions are
prohibited by law if you do not accept this License. Therefore, bymodifying or distributing the Program (or any work based on the
Program), you indicate your acceptance of this License to do so, and
all its terms and conditions for copying, distributing or modifying
the Program or works based on it.
6. Each time you redistribute the Program (or any work based on the
Program), the recipient automatically receives a license from theoriginal licensor to copy, distribute or modify the Program subject to
these terms and conditions. You may not impose any furtherrestrictions on the recipients' exercise of the rights granted herein.
You are not responsible for enforcing compliance by third parties to
this License.
7. If, as a consequence of a court judgment or allegation of patent
infringement or for any other reason (not limited to patent issues),
conditions are imposed on you (whether by court order, agreement orotherwise) that contradict the conditions of this License, they do not
excuse you from the conditions of this License. If you cannot
distribute so as to satisfy simultaneously your obligations under thisLicense and any other pertinent obligations, then as a consequence
you
may not distribute the Program at all. For example, if a patent
license would not permit royalty-free redistribution of the Programby
all those who receive copies directly or indirectly through you, then
the only way you could satisfy both it and this License would be torefrain entirely from distribution of the Program.
If any portion of this section is held invalid or unenforceable under
any particular circumstance, the balance of the section is intended to
apply and the section as a whole is intended to apply in othercircumstances.
It is not the purpose of this section to induce you to infringe anypatents or other property right claims or to contest validity of any
such claims; this section has the sole purpose of protecting the
integrity of the free software distribution system, which is
implemented by public license practices. Many people have madegenerous contributions to the wide range of software distributed
through that system in reliance on consistent application of that
system; it is up to the author/donor to decide if he or she is willing
to distribute software through any other system and a licensee cannotimpose that choice.
This section is intended to make thoroughly clear what is believed tobe a consequence of the rest of this License.
8. If the distribution and/or use of the Program is restricted incertain countries either by patents or by copyrighted interfaces, the
original copyright holder who places the Program under this License
may add an explicit geographical distribution limitation excluding
those countries, so that distribution is permitted only in or among
countries not thus excluded. In such case, this License incorporatesthe limitation as if written in the body of this License.
9. The Free Software Foundation may publish revised and/or newversions
of the General Public License from time to time. Such new versionswill
be similar in spirit to the present version, but may differ in detail to
32 / 34
8/9/2019 doc Manual v0
33/34
DelphiCodeToDocFree documentation tool for Delphi, with JavaDoc support.
TridenT http://dephicodetodoc.sourceforge.net
address new problems or concerns.
Each version is given a distinguishing version number. If the
Program
specifies a version number of this License which applies to it and
"anylater version", you have the option of following the terms and
conditions
either of that version or of any later version published by the FreeSoftware Foundation. If the Program does not specify a version
number of
this License, you may choose any version ever published by the Free
SoftwareFoundation.
10. If you wish to incorporate parts of the Program into other freeprograms whose distribution conditions are different, write to the
author
to ask for permission. For software which is copyrighted by the Free
Software Foundation, write to the Free Software Foundation; we
sometimesmake exceptions for this. Our decision will be guided by the two
goals
of preserving the free status of all derivatives of our free software andof promoting the sharing and reuse of software generally.
NO WARRANTY
11. BECAUSE THE PROGRAM IS LICENSED FREE OF
CHARGE, THERE IS NO WARRANTY
FOR THE PROGRAM, TO THE EXTENT PERMITTED BYAPPLICABLE LAW. EXCEPT WHEN
OTHERWISE STATED IN WRITING THE COPYRIGHT
HOLDERS AND/OR OTHER PARTIES
PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OFANY KIND, EITHER EXPRESSED
OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OFMERCHANTABILITY AND FITNESS FOR A PARTICULAR
PURPOSE. THE ENTIRE RISK AS
TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
IS WITH YOU. SHOULD THE
PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OFALL NECESSARY SERVICING,
REPAIR OR CORRECTION.
12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE
LAW OR AGREED TO IN WRITING
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY
WHO MAY MODIFY AND/OR
REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BELIABLE TO YOU FOR DAMAGES,
INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL ORCONSEQUENTIAL DAMAGES ARISING
OUT OF THE USE OR INABILITY TO USE THE PROGRAM
(INCLUDING BUT NOT LIMITED
TO LOSS OF DATA OR DATA BEING RENDEREDINACCURATE OR LOSSES SUSTAINED BY
YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM
TO OPERATE WITH ANY OTHERPROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY
HAS BEEN ADVISED OF THEPOSSIBILITY OF SUCH DAMAGES.
END OF TERMS AND CONDITIONS
How to Apply These Terms to Your New Programs
If you develop a new program, and you want it to be of the greatest
possible use to the public, the best way to achieve this is to make it
free software which everyone can redistribute and change under theseterms.
To do so, attach the following notices to the program. It is safest
to attach them to the start of each source file to most effectivelyconvey the exclusion of warranty; and each file should have at least
the "copyright" line and a pointer to where the full notice is found.
8/9/2019 doc Manual v0
34/34
DelphiCodeToDocFree documentation tool for Delphi, with JavaDoc support.
TridenT http://dephicodetodoc.sourceforge.net
proprietary programs. If your program is a subroutine library, you
mayconsider it more useful to permit linking proprietary applications with
the
library. If this is what you want to do, use the GNU Library General
Public License instead of this License.