Files
harbour-core/doc/en/dir.txt
Viktor Szakats c1bde05495 2016-10-26 12:50 UTC+0200 Viktor Szakats (vszakats users.noreply.github.com)
- extras/hbdoc/_tmplate.prg
  - extras/hbdoc/hbdoc.ch
  * extras/hbdoc/_genbase.prg
  * extras/hbdoc/_genhtml.prg
  * extras/hbdoc/_gentxt.prg
  * extras/hbdoc/_genxml.prg
  * extras/hbdoc/hbdoc.hbp
  * extras/hbdoc/hbdoc.prg
    + improve readability by paragraphs spacing in DESCRIPTION sections
    + improve divs in section content for better control via CSS
    + improve readability of tables with borders and
      header hightlights
    * change default output to single-file
    + add support for the old <table>/<fixed> tags in html output until they
      are converted to something better
    + add support for <b>/<b>, <URL:url>, Markdown `inline code`,
      _emphasis_, *bold*, character escaping \*, line separators ===/---,
      and fenced code using triple backticks.
      Very limited and not with standard compliance or completeness
      in mind, just to be able to use some basic formatting.
    ; TODO: Markdown URL and lists, then replace all <b>,<URL>,<fixed>
            markup with Markdown equivalents in docs
    + better localization support
    + add support for one file per component output via -output-component
      cmdline option
    % assemble output in memory and write to disk in a single call
    % integrate external header
    % replace almost all internal arrays with hashes
    % replace self-modifying class and macro expansion with
      regular hashes
    % internal cleanups
    % switch to simpler method for sort weighting
    + merge category/subcategory values into tag list. It
      means they will be now be included in the output
    % cleanup/fix/simplify value expansions for 'compliance',
      'status' and 'platform' fields
    % cleanup the way output engines are handles internally
    + add support for 'TAGS' entry to replace/extend the rigid and
      ambiguous CATEGORY/SUBCATEGORY-based categorization. It is meant
      to be a comma-separated list of freeform tags, possibly with a set
      of standard common tags, with the freedom to use anything else deemed
      useful by component/doc authors.
    + add footer showing the build date of the doc
    + include Git revision the doc is based on, link to the relevant
      source tree version.
    * various code refactoring steps to avoid unnecessary
      classes, arrays, macro evaluation, and using undocumented
      functions
    % various HTML5 tag improvements and optimizations
    + load HBX file contents and lookup each referenced
      symbol. Emit warning in verbose mode, if docs refers
      to non-existing one.
      (this replaces slow and broken logic based on hbextern.ch)
    + use core hbdoc API to load the documentation instead
      of locally rolled logic
    * always show those content problems that are considered
      fatal and the input doc to be skipped
    + filter docs to English language by default
    + add ability to choose language using a command-line option
    ! fix faulty validation logic that resulted in
      erronously skipping certain entries
    + identify docs' 'component' property automatically
    ! fix to not eat empty lines from examples
    + convert "see also" items to links (this works correctly only
      in single file output mode)
    ! fix to not break words (f.e. URLs) when outputting HTML
    % use shorter class names
    ! fix invalid element ID generated
    ! fix RTE when trying to create output by category
    % delete dummy "HTML2" output mode
    * convert more ASCII chars to better Unicode equivalents
    + mark more text as code automatically
    * drop MS-DOS compatibility

  * src/rtl/hbdoc.prg
    ! fix filling '_LANG' property with the correct value
    * switch to use LF instead of CRLF in the field contents

  * contrib/hbct/doc/en/*.txt
  * contrib/hbgd/doc/en/hbgd.txt
  * contrib/hbgt/doc/en/hbgt.txt
  * contrib/hbmisc/doc/en/dates2.txt
  * contrib/hbnf/doc/en/*.txt
  * contrib/rddads/doc/en/adsfuncs.txt
  * doc/en/*.txt
    * cleanups and fixes
    ! casing
    ! fix to always delimit "see also" items with comma (",")
    ! fix various casing issues and old typos
    ! various fixes after detecting them using updated hbdoc
    ! eliminate/fix various rare/unnecessary/invalid field values
    ! move some embedded docs from hbdoc into their respective
      doc sources
    ! fix a typo
    * use backtick
    * replace code copyright with reference to COPYING.txt (=LICENSE.txt)
    + mark tables without a header or with double height header

  ; Above patches come from 3.4 fork commits below:

    2016-10-26 12:43 UTC+0200 Viktor Szakats (vszakats users.noreply.github.com)
    2016-10-26 12:34 UTC+0200 Viktor Szakats (vszakats users.noreply.github.com)
    2016-10-26 12:20 UTC+0200 Viktor Szakats (vszakats users.noreply.github.com)
    2016-10-26 03:21 UTC+0200 Viktor Szakats (vszakats users.noreply.github.com)
    2016-10-26 02:47 UTC+0200 Viktor Szakats (vszakats users.noreply.github.com)
    2016-10-25 15:05 UTC+0200 Viktor Szakats (vszakats users.noreply.github.com)
    2016-10-25 14:51 UTC+0200 Viktor Szakats (vszakats users.noreply.github.com)
    2016-10-25 14:30 UTC+0200 Viktor Szakats (vszakats users.noreply.github.com)
    2016-10-25 13:19 UTC+0200 Viktor Szakats (vszakats users.noreply.github.com)
    2016-10-25 12:35 UTC+0200 Viktor Szakats (vszakats users.noreply.github.com)
    2016-10-25 11:47 UTC+0200 Viktor Szakats (vszakats users.noreply.github.com)
    2016-10-25 02:48 UTC+0200 Viktor Szakats (vszakats users.noreply.github.com)
    2016-10-24 22:26 UTC+0200 Viktor Szakats (vszakats users.noreply.github.com)
    2016-10-24 18:35 UTC+0200 Viktor Szakats (vszakats users.noreply.github.com)
    2016-10-24 17:58 UTC+0200 Viktor Szakats (vszakats users.noreply.github.com)
    2016-10-24 16:12 UTC+0200 Viktor Szakats (vszakats users.noreply.github.com)
    2016-10-24 15:44 UTC+0200 Viktor Szakats (vszakats users.noreply.github.com)
    2016-10-24 03:36 UTC+0200 Viktor Szakats (vszakats users.noreply.github.com)
    2016-10-24 02:40 UTC+0200 Viktor Szakats (vszakats users.noreply.github.com)
    2016-10-24 00:23 UTC+0200 Viktor Szakats (vszakats users.noreply.github.com)
    2016-10-23 23:09 UTC+0200 Viktor Szakats (vszakats users.noreply.github.com)
    2016-10-23 16:39 UTC+0200 Viktor Szakats (vszakats users.noreply.github.com)
    2016-10-23 16:10 UTC+0200 Viktor Szakats (vszakats users.noreply.github.com)
    2016-10-23 13:15 UTC+0200 Viktor Szakats (vszakats users.noreply.github.com)
2016-10-26 13:07:21 +02:00

208 lines
6.9 KiB
Plaintext

/*
* Copyright 1999 Chen Kedem <niki@actcom.co.il>
* Documentation for: __Dir(), DIR, ADir()
*
* See COPYING.txt for licensing terms.
*
*/
/* $DOC$
$TEMPLATE$
Function
$NAME$
__Dir()*
$CATEGORY$
API
$SUBCATEGORY$
FileSys
$ONELINER$
Display listings of files
$SYNTAX$
__Dir( [<cFileMask>] ) --> NIL
$ARGUMENTS$
<cFileMask> File mask to include in the function return. It could
contain path and standard wildcard characters as supported by your
OS (like * and ?). If <cFileMask> contains no path, then SET DEFAULT
path is used to display files in the mask.
$RETURNS$
__Dir() always returns NIL.
$DESCRIPTION$
If no <cFileMask> is given, __Dir() displays information about all
*.dbf in the SET DEFAULT path. This information contains: file name,
number of records, last update date and the size of each file.
If <cFileMask> is given, __Dir() list all files that match the mask
with the following details: Name, Extension, Size, Date.
DIR command is preprocessed into __Dir() function during compile
time.
__Dir() is a compatibility function, it is superseded by Directory()
which return all the information in a multidimensional array.
If long file names are available Harbour will use/display the first
15 characters else Harbour will use/display a 8.3 file name consistent
with CA-Cl*pper.
$EXAMPLES$
__Dir() // information for all DBF files in current directory
__Dir( "*.dbf" ) // list all DBF file in current directory
// list all PRG files in Harbour Run-Time library
// for MS-DOS compatible operating systems
__Dir( "src\rtl\*.prg" )
// list all files in the public section on a Unix like machine
__Dir( "/pub" )
$STATUS$
R
$COMPLIANCE$
C
$PLATFORMS$
All
$FILES$
Library is core
$SEEALSO$
ADir(), Directory(), SET DEFAULT, DIR
$END$
*/
/* $DOC$
$TEMPLATE$
Command
$NAME$
DIR
$CATEGORY$
Command
$SUBCATEGORY$
FileSys
$ONELINER$
Display listings of files
$SYNTAX$
DIR [<cFileMask>]
$ARGUMENTS$
<cFileMask> File mask to include in the function return. It could
contain path and standard wildcard characters as supported by your
OS (like * and ?). If <cFileMask> contains no path, then SET DEFAULT
path is used to display files in the mask.
$DESCRIPTION$
If no <cFileMask> is given, __Dir() display information about all
*.dbf in the SET DEFAULT path, this information contain: file name,
number of records, last update date and the size of each file.
If <cFileMask> is given, __Dir() list all files that match the mask
with the following details: Name, Extension, Size, Date.
DIR command is preprocessed into __Dir() function during compile
time.
__Dir() is a compatibility function, it is superseded by Directory()
which returns all the information in a multidimensional array.
If long file names are available Harbour will use/display the first
15 characters else Harbour will use/display a 8.3 file name consistent
with CA-Cl*pper.
$EXAMPLES$
DIR // information for all DBF files in current directory
DIR "*.dbf" // list all DBF file in current directory
// list all PRG files in Harbour Run-Time library
// for MS-DOS compatible operating systems
DIR "src\rtl\*.prg"
// list all files in the public section on a Unix like machine
DIR "/pub"
$STATUS$
R
$COMPLIANCE$
C
$PLATFORMS$
All
$SEEALSO$
ADir(), Directory(), SET DEFAULT, __Dir()*
$END$
*/
/* $DOC$
$TEMPLATE$
Function
$NAME$
ADir()
$CATEGORY$
API
$SUBCATEGORY$
FileSys
$ONELINER$
Fill pre-defined arrays with file/directory information
$SYNTAX$
ADir( [<cFileMask>], [<aName>], [<aSize>], [<aDate>],
[<aTime>], [<aAttr>] ) --> nDirEnries
$ARGUMENTS$
<cFileMask> File mask to include in the function return. It could
contain path and standard wildcard characters as supported by your
OS (like * and ?). If you omit <cFileMask> or if <cFileMask> contains
no path, then the path from SET DEFAULT is used.
<aName> Array to fill with file name of files that meet <cFileMask>.
Each element is a Character string and include the file name and
extension without the path. The name is the long file name as
reported by the OS and not necessarily the 8.3 uppercase name.
<aSize> Array to fill with file size of files that meet <cFileMask>.
Each element is a Numeric integer for the file size in Bytes.
Directories are always zero in size.
<aDate> Array to fill with file last modification date of files that
meet <cFileMask>. Each element is of type Date.
<aTime> Array to fill with file last modification time of files that
meet <cFileMask>. Each element is a Character string in the format
HH:mm:ss.
<aAttr> Array to fill with attribute of files that meet <cFileMask>.
Each element is a Character string, see Directory() for information
about attribute values. If you pass array to <aAttr>, the function
is going to return files with normal, hidden, system and directory
attributes. If <aAttr> is not specified or with type other than
Array, only files with normal attribute would return.
$RETURNS$
ADir() return the number of file entries that meet <cFileMask>
$DESCRIPTION$
ADir() return the number of files and/or directories that match
a specified skeleton, it also fill a series of given arrays with
the name, size, date, time and attribute of those files. The passed
arrays should pre-initialized to the proper size, see example below.
In order to include hidden, system or directories <aAttr> must be
specified.
ADir() is a compatibility function, it is superseded by Directory()
which returns all the information in a multidimensional array.
$EXAMPLES$
LOCAL aName, aSize, aDate, aTime, aAttr, nLen, i
nLen := ADir( "*.jpg" ) // Number of JPG files in this directory
IF nLen > 0
aName := Array( nLen ) // make room to store the information
aSize := Array( nLen )
aDate := Array( nLen )
aTime := Array( nLen )
aAttr := Array( nLen )
ADir( "*.prg", aName, aSize, aDate, aTime, aAttr )
FOR i := 1 TO nLen
? aName[ i ], aSize[ i ], aDate[ i ], aTime[ i ], aAttr[ i ]
NEXT
ELSE
? "This directory is clean from smut"
ENDIF
$STATUS$
R
$COMPLIANCE$
<aName> is going to be filled with long file name and not necessarily
the 8.3 uppercase name.
$FILES$
Library is core
$SEEALSO$
Array(), Directory(), SET DEFAULT
$END$
*/