+----------------------------------------------------------------------------+
|                                                                          |
|                                                                       |
|                                                                      |
|                                                                       |
|                                                                       |
|                                                                    |
|                                                             |
|                                                        |
|                                                      |
|                       Copyright  1996-1997 by:  |
|                                                  |
|                           WHITE ANTS SYSTEMHOUSE BV  |
|                            Geleen 12                  |
|                                  8032 GB Zwolle             |
|                                        Netherlands                |
|                                                               |
|                                         Tel. +31 38 453 86 31      |
|                                              Fax. +31 38 453 41 22      |
|                                                                        |
|                                             www.whiteants.com          |
|                                            support@whiteants.com      |
|                                                                           |
+----------------------------------------------------------------------------+



                S T R E A M S   &   C O N T A I N E R S   1.1
                =============================================



CONTENTS
--------
* History
* Introduction
* Description
* Files
* Install
* White Ants
* Technical Support
* How To Reach Us


HISTORY
-------
Jan 10, 1997 - Release 1.1
               Improved.
               The binary output format for filters remains unchanged.

             - Release 1.0
               Available with beta 1 of ModelMaker 1.5.


INTRODUCTION
------------

Streams & Containers 1.0 is Freeware (more info see Disclaim.txt) and contains
16 bits Delphi 1.0 units CONTAINR and FILTERS which implement and extend BP7.0
style collections and streams.


DESCRIPTION
-----------

TFilter is a TStream descendant which adds the Put / Get object streaming
capabilities to a TStream instance. TFilter does not actually read or write
data but delegates this to an attached stream. This stream can be owned or not.

Filters adhere to the decorator pattern.
Filters can be cascaded:
   Filter1 => Filter2 => Filter3 => TStream. (such as TFileStream)

Some additional filters are included:
- BufferedFilter buffers it's IO
- BufFileFilter is a combination of a TBufferedFilter with a TFileStream
- TCycleFilter is a filter that is able to read and write cyclic object
  structures like: Parent saves children and children save their parent.
- TClipBrdFilter reads and writes is a binary clipboard stream, allowing you
  to stream classes to the clipboard the same way you stream them to a file
- TOffsetFilter which lets you treat a section in an other stream as new
  complete stream, including Position := 0, Size etc.

Utility procedures include
- Reading and writing of PChar and TStrings from/to a TFilter
- Copying a TStreamable instance by first putting it to memory and then getting
  it back.

For classes to be streamable, they HAS TO be a TStreamable descendant AND be
registered as streamable using the RegisterStreamable procedure.

TContainer is an abstract base class which defines an interface for list like
data types. TCollection is a direct descendant which implements a TContainer
using a Delphi 1.0 TList class. TCollection add to TList
- Ownership of items (property OwnesItems)
- Sorting of list (property Sorted / CanSort)
- Duplicate behavior (property Duplicates)
- OnChange notifications
- Streamable behavior (TContainer is a streamable class) allowing you to Put a
  whole container at once on a stream: Filter.Put(List)

This version of FILTERS and CONTAINR fix some bugs and extend the
exiting functionality.


FILES
-----

Main files
- README.TXT    This file
- DISCLAIM.TXT  The file containing the disclaimer for Streams & Containers
- CONTAINR.PAS  Contains TContainer and TCollection classes
- FILTERS.PAS   Contains TFilter classes
- NUMUTILS.PAS  Contains numeric utilities needed by CONTAINR and FILTERS
- STRUTILS.PAS  Contains string utilities needed by CONTAINR

Demo files
- CONTSTRM.EXE  The demo executable
- CONTSTRM.DPR  The demo project
- CONTSTRM.RES  The demo project resource
- EDITFRM.PAS   The demo sample editing dialog form source file
- EDITFRM.DFM   The demo sample editing dialog form resource file
- MAINFRM.PAS   The demo main form source file
- MAINFRM.DFM   The demo main form resource file
- STRMSAMP.PAS  Contains TSampleList and TSample classes which demonstrate
		containers and streaming
- SAMPLE1.SMP   A Sample file containing a streamed TSampleList


INSTALL
-------

- Unzip CONTSTRM.ZIP, for example in directory c:\CONTSTRM
- Open the project file CONTSTRM.DPR and compile the project
- You do NOT need to install any components other than provided by Delphi 1.0


WHITE ANTS
----------

White Ants systemhouse BV is specialised in developing software in Borland
Delphi for all Microsoft Windows platforms.

Our main activities are:

1) Turnkey building of customer specific software.
   Varying from single applications to complex real-time distributed computer
   systems and multi-tier client/server solutions.

2) Tools and components for professional colleague software developers.
   Including the Delphi CASE tool ModelMaker.


Visit our website for information about us and our latest tools and components:

   www.whiteants.com

Or e-mail us at info@whiteants.com


TECHNICAL SUPPORT
-----------------

Please e-mail us at support@whiteants.com if you have any problems or find any
bugs in this code.
We do not offer support on our FREEWARE by telephone, fax or letter.


HOW TO REACH US
---------------

White Ants systemhouse BV
Geleen 12
8032 GB Zwolle
Netherlands

Tel. +31 38 453 86 31
Fax. +31 38 453 41 22

www.whiteants.com
support@whiteants.com


