⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 files.html

📁 DelphiDoc is a program for automatic generation of documentation on a Delphi-Project. At the momen
💻 HTML
📖 第 1 页 / 共 2 页
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html lang="en">
  <head lang="en">
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    <meta http-equiv="Content-Language" content="en">
    <meta name="author" content="Gerold Veith">
    <meta name="description" content="Files and File Formats of JADD - Just Another DelphiDoc">
    <meta name="keywords" content="Files, File Formats, DelphiDoc, KylixDoc, JADD, Just Another DelphiDoc, Delphi, Kylix">
    <meta name="DC.Language" content="en">
    <title>
      Files and File Formats of JADD - Just Another DelphiDoc
    </title>
  </head>
  <body lang="en">

    <p align=center>
<!-- local -->
      <a href="http://sourceforge.net/"><img
         src="sflogo.png"
         width="210" height="62" border="0" alt="SourceForge.net Logo"
         align="right"></a>
<!-- /local -->
<!-- public - -!
      <a href="http://sourceforge.net/"><img
         src="http://sourceforge.net/sflogo.php?group_id=113456&amp;type=5"
         width="210" height="62" border="0" alt="SourceForge.net Logo"
         align="right"></a>
<!- - /public -->
      Homepage: <a href="http://delphidoc.sourceforge.net/">http://delphidoc.sourceforge.net/</a><br>
      Project-Page: <a href="http://sourceforge.net/projects/delphidoc/">http://sourceforge.net/projects/delphidoc/</a><br>
    </p>
    <br clear="all">


    <h1>JADD - Just Another <em>DelphiDoc</em></h1>

    <h2>Table of Contents</h2>
    <ul>
      <li><a href="#TxtForBinary">Files accompanying the Executable</a></li>
      <li><a href="#ParsedData">Saved Parsed Data</a></li>
      <li><a href="#GUILog">Logs of a GUI</a></li>
      <li><a href="#INIFiles">Initialization Files (<code>.ini</code>)</a>
          <ul>
            <li><a href="#INIDelphiDoc">DelphiDoc.ini</a></li>
            <li><a href="#INIProject">Project Files</a></li>
            <li><a href="#INIGUIProject">GUI Help Project Files</a></li>
            <li><a href="#INIDiagram">Saved Diagram Lay-Outs</a></li>
            <li><a href="#INIGenerator">Generator Options</a></li>
            <li><a href="#INILocalizing">Localized Texts</a> for the Documentation</li>
          </ul>
      </li>
    </ul>
                             

    <h2><a name="TxtForBinary">Files accompanying the Executable</a></h2>

    <p>The file <code>PreDefinedIdents.txt</code> contains a list of in Delphi
       defined identifiers. It is by far not complete. All unknown identifiers
       found when parsing that are not in this list will be listed as unknown
       identifiers. This has no real consequence, it is just for informational
       purposes.<br>
       The file <code>SystemIdents.txt</code> contains a list of internal
       identifiers defined inside the Delphi compiler. They will be added only
       when the unit System is parsed, because they are treated by the compiler
       as if they were defined there. The file <code>SystemTypes.txt</code>
       contains correspondingly the list of internal types.</p>



    <h2><a name="ParsedData">Saved Parsed Data</a></h2>

    <p>The parsed data can be saved to a file, for instance to allow the
       comparison of different versions of a project with faster access to the
       different versions and without the necessity to unpack the whole
       directory just to parse it again.</p>

    <p>The format of the file is binary to decrease its size. As the file is
       binary and contains lots of different information a
       description would be quite lengthy, so here follows only some key
       information, the algorithm to save and load such files can be seen in
       <code>USaveParsed</code> and the other files within the sub-directory
       <code>Idents</code>.</p>


    <p>At the beginning of files of this format are always eight <em>magic</em>
       bytes, the eight characters "JADD&%$#", thus allowing the identification
       of correct files. After that the version number of the file follows as
       four bytes. This program can read files of each version, although
       some generators may fail when they need information that wasn't saved by
       very old versions of this program. But the original source files can be
       extracted and parsed again to gather the complete information needed by
       any generator.</p>

    <p>The file format was designed to be dynamic and modular, meaning for
       instance additional to the version of the file itself, each class
       writing data to the file also has its own version number that will be
       written to the file. Even the list of classes that write the
       information, and so are needed again to read it, is written.</p>




    <h2><a name="GUILog">Logs of a GUI</a></h2>

    <p>The log files of components, that can be used to generate a help on the
       GUI are simple text files, each line containing some information. They
       consist of three parts, in the first line the help context of the whole
       form is written, then the components are logged, each on a separate
       line, and optionally after an empty line as a separator the automatic
       component aliases follow.</p>

    <p>Each component is logged with four values on a line on its own, the
       values are separated by a simple space. First comes the name of the
       component, then the rectangle its occupying on the screen shot as four
       comma-separated values (left, top, right, bottom) in pixels. The third
       value is the help context set for the component, if it does not support
       a help context <code>-1</code> is written. The final value is either
       <code>0</code> or <code>1</code> representing a boolean, whether the
       component should be used, i.e. was not outside a set constraint.</p>

    <p>The automatic aliases are written for all Labels and StaticTexts that
       have a FocusControl assigned. Each entry consists of a line with the
       name of the label and the name of the component it will focus separated
       by a space.</p> 



    <h2><a name="INIFiles">Initialization Files (<code>.ini</code>)</a></h2>

    <p>Most files of <em>DelphiDoc</em> are in the format of Windows
       initialization files. Initialization files have a simple and easy to
       understand syntax, can be viewed and edited with a simple text editor,
       and can be copied and back-uped by the users. They can even easily
       created manually when their format is known.<br>
       Delphi has almost native support for initialization files by several
       classes within its standard units (unit <code>IniFiles</code>).</p>

    <p>Just to rant a bit again, the registry is no real good place to save
       settings of programs. There was only one reason to do it anyway and that
       was because Windows was not a decent multi-user operating system. But
       that was long ago, now, by default, ini files are created in the
       directory for local settings inside the user's home directory. So there
       is no reason, unless compatibilty for multi-user Windows 95/98/ME
       systems is needed, but I doubt anyone with a multi-user system is still
       running such an old version of windows. And there are several reasons to
       use (initialization) files for the settings, as outlined in the first
       paragraph.</p>

    <p>Well, anyway, as Delphi programs generally do not need to be
       installed I always keep it even simpler and save the ini file in the
       same directory as the executable file. That way the settings are always
       as easy accessible as the program itself. Of course it means every user
       needs a separate copy of it, but a few MBs are negligible for today's
       hard drives.</p>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -