***************************************
*        Data Utilisation Suite       *
*                                     *
*     Copyright (c) 2000 CDF, Inc.    *
*        Written by Edward Flick      *
*        eddy@cdf-imaging.com         *
*                                     *
***************************************

I. License
  A. Usage
  B. Modification
  C. Redistribution
  D. Applicability
  E. Liability
II. Contents
  A. TDataMover
  B. TTextFileDataset
  C. TExpressionEval
  D. TListDataset
III. Notes
IV. Contact Me

I) License

  A) Usage
  	This product may be used for
  any reason whatsoever, by any party
  whatsoever.  Please note that I by
  using this software you recognize
  that I and CDF, Inc. are not
  responsible in any manner for
  damages incurred by this software or
  incurred by misuse of this software.

  B) Modification
  	This product may be modified
  by any entities which meet the 
  conditions for Usage of this
  product(I.A).  Any modifications
  that are made to this distribution
  must retain this license.  Also,
  any modifications to this
  distribution must be redistributed
  in the manner specified in part
  I.C of this document.

  C) Redistribution  
  	To redistribute the following
  must be performed:
    a) Ensure that this license is
      intact in the archive that is
      going to be redistributed and
      that this license has been
      unmodified from its original
      form.
    b)  Ensure that no bugs were
      introduced as a byproduct of
      your altercations.
    c)  Make a changelog and
      include it in the copy of the
      archive.
    d)  E-mail a copy of the
      modified code, or a link to a
      copy, to Edward Flick at
      CDF, Inc.

  D) Applicability
  	This license applies to all
  code, with the exception of the
  TListDataset which can be freely
  redistributed.

  E) Liability
  	The author(s) of this
  software may not be held liable for
  any errors or mishaps which may
  occur because of this software.
  DO NOT use this software in an
  environment which demands 100%
  error free operation as this is
  not guaranteed because of the
  openness of this code.

II) Contents
  A) TDataMover- this is a component
    which can be used to move data
    from a source dataset, to a
    destination dataset.  This
    component maps expressions,
    which are compiled and then
    evaluated per record in the
    source dataset, to a list of
    field names in the destination
    dataset to which this component
    appends the evaluated expressions
    into, or updates the current row
    if source and destination are the
    same.  This component extends the
    TExpressionEval component so
    all functionality in that
    component is implemented in this
    component.

  B) TTextFileDataSet- this is a
    component which takes in a number
    of parameters which it uses to load
    a delimited or fixedfieldwidths
    text file as a READ-ONLY dataset.
    This component is derived from
    the TListDataset component,
    which is written by DrBob.

  C) TExpressionEval- An extensible string
    evaluator component.  Use evaluate
    to take in a string whose contents is
    in the following form:
    AString =   'strconstant' |
                #CharNum |
                "["+fieldname+"]" | 
                functionname ( [ AString [, AString ...] ] ) |
                [AString + AString]
    and yield the string result.  The
    functions which was referrenced as
    function name above, is a user
    defined delphi procedure or method,
    which is registered with the
    registerFunction.  These UDFs must be
    of type:

    function(ins: array of string): string;

    where ins are the input paramaters,
    and the resultant string is placed
    in place of the function in the
    expression.  You can also compile the
    expressions for faster repeated
    calling.  See the dataman sources for
    examples on how to use this.

  D) TListDataset- This is a base Dataset
    written by DrBob which can be extended
    to easily make your own datasets.

III. Notes
  	I have never tried this with Delphi3
  or Kylix.  So if you try it on either of
  these platforms and it works then
  tell me.  Or if you get it to work then
  mail me the modifications.  Thanx.

IV. Contact Me
  	Feedback is a good thing.  So mail
  me with comments, feedback, suggestions,
  and, of course, all modifications made to
  this software.

  Thanx,
  Edward Flick (Directrix1@yahoo.com)
  Systems Programmer
  CDF, Inc.