+----------------------------------------------------------------------------+
|                                                                          |
|                                                                       |
|                                                                      |
|                                                                       |
|                                                                       |
|                                                                    |
|                                                             |
|                                                        |
|                                                      |
|                       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      |
|                                                                           |
+----------------------------------------------------------------------------+



                        P R O G R E S S O R   1.0
                        =========================



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


HISTORY
-------
Jan 10, 1997 - Initial Release 1.0


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

Progressor 1.0 is Freeware (more info see Disclaim.txt) and contains a helpful
16 bit Delphi component TProgressObserver which co-operates with a TProgressor
class. These classes let you detach low level progress status and change
notifications from the GUI. Note that this is NOT a visual component such as
TGauge, but rather an GUI detached interface for starting, running, aborting
and finishing lengthy operations. A demo project PROGDEMO is included which
demonstrates the use of the TProgressObserver.


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

The TProgressor and TPorgressObserver classes let you decouple the status of
lengthy operations from the GUI. This is achived by use of an GUI-Clean
TProgressor class and an Observer pattern (TProgressObserver).

TProgressor is a singleton class which can be accessed only by it's Instance
class function. (e.g. TProgressor.Instance). You will never to create or free
an instance this class, it's all done for you as soon as you access it.

TProgressor has four progress controlling main properties:
- Progress (usually percentage completed)
- Description (about what's going on)
- The Aborted state of an operation (including the Application.Terminated:
  Aborted returns True if the user has terminated the application or set abort
  True)
- BusyCursor, which is passed on to the Screen.Cursor. Any other value than
  crDefault will change the cursor to this value for the whole screen.

There are some methods which control the multi level progress status:
- StartProgress, (or StartProgressDef)
- EndProgress use these methods in pairs to start and end a (sub)level of
  progress
- Abort (sets Aborted True)

TProgressor has no events of it's own, but uses TProgressObserver instances
to dispatch events. TProgressObserver automatically registers and unregisters
itself with the TProgressor.

The dispatched events are:
- OnDescriptionChange, you can e.g. handle this event to update some label
  telling the user what's going on
- OnProgressChange, you can e.g. handle this event to update the status of the
  progress of an operation, e.g. update a gauge
- OnStart,
- OnFinish, you can use these events to reflect the busy status, e.g. make the
  progress gauge visible / invisible.

TProgressObserver wraps the status properties and methods from TProgressor
(therefore all observers do have the same value for BusyCursor etc.)

Each TProgressObserver instance has it's own accuracy property which defines at
which rate (0..50) you'll get the OnProgressChange events. Set this to 1 to get
notified about each change.


FILES
-----

Main files
- README.TXT    This file
- DISCLAIM.TXT  The file containing the disclaimer for Progressor
- PROGRESS.PAS  contains TProgressor and TProgressObserver classes
- PROGRESS.DCR  contains Delphi Component Resource File for TProgressObserver
- INTLISTS.PAS  contains TIntList, a dynamic array of LongInts used by PROGRESS
- NUMUTILS.PAS  contains numeric utilities used by PROGRESS
- STRUTILS.PAS  contains string utilities used by PROGRESS

Demo
- PROGDEMO.DPR  Delphi project file
- PROGDEMO.RES  Delphi project resource file
- MAINFRM.PAS   Main form unit file
- MAINFRM.DFM   Main form resource
- DEMOOPS.PAS   Contains a LengthyOperation procedure which simulates activity


INSTALL
-------

- Unzip PROGRESS.ZIP, for example in directory c:\PROGRESS
- BEFORE you open the project file PROGDEMO.DPR you must install the unit
  Progress.pas in the component palette.
  (Delphi 1.0: Options|Install Components|Add...)
- Open the project file PROGDEMO.DPR and compile the project


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
