TIntOnChange is a like Integer Variable that has BeforeChange and 
AfterChange events.  

The BeforeChange event has the following paramaters: 
1. DeltaValue    -> Difference between CurrentValue and NewValue
2. CurrentValue  -> The value currently stored
3. NewValue      -> The new value to replae CurrentValue
4. var Accept    -> A flag to control whether the NewValue is accepted.
You can use the var Accept paramater to control the range of values that
are valid and stored.

The AfterChange event is the same as for BeforeChange except there is
no Accept paramater allowing the change to be cancelled.

Use the WriteValue(NewValue: integer) procedure to change the value and
trigger the BeforeChange, AfterChange events.

function ReadValue: integer can be used to read the current value at any time.

Other public Variables and Procedures are:
  MinValue,MaxValue,SumValue,CountValue: LongInt;
  procedure ResetStats; 
  StatsStartTime: TdateTime;

MinValue,MaxValue,SumValue,CountValue keep track of the described value
progresively as the Value changes.

procedure ResetStats Clears all the MinValue,MaxValue, etc values and
sets the StatsStartTime to now.

