TBzInterMeter is a visual component,
which can display graphically information about throughinput/throughoutput during internet
session. You may adjust its appearance using following published (Design Time)
properties (navy text is to express new ones
versus old (now cancelled) TInterMeter component; and symbol
'*' is marking new ones
in version 3.1 vs version 3.0):
- Active - True if
internal timer with interval 1sec activated;
- Align - as usual for panels;
- AutoScale - default: True; If Speed is unknown (NT) and SpeedLimit is not set, AutoScale always is True;
- BevelInner
- BevelOuter
- BevelWidth
- BorderWidth
- *BorderColor
- color of border. Also is used as a base color for bevels.
- Cursor - as usual;
- DesignActive - set
True if You want it to work in designing mode (slow!!!);
- DisplayColor -
color of diagram background (default is clButtonFace);
- Height
- HelpContext
- Hint
- InColor - color
for representation of 'bytes received' (default is clGreen);
- InLight - color for highlighting of "IN" pulses (default is clLime);
- InShadow - color
for shadowing of "IN" pulses (default is dark-green)
- Left
- Name
- OutColor - color
for representing of 'bytes transferred(sent)' (default is clBlue);
- OutLight - color for highlighting of "OUT" pulses (default is clAqua);
- OutShadow - color for shadowing of "OUT" pulses (derfault is clNavy);
- Pulse3D - default: True; highlighting and shadowing of pulses with InLight/OutLight
and InShadow/OutShadow colors (has no effect if PulseWidth < 3);
- PulseSpace : Integer; width of space between pulses;
- PulseWidth : Integer; width of pulses;
- SpeedLimit - default 0; set it to use as minimum of maximal speed achieved when autoscaling
of pulses is on. Also it is used so if connect Speed is unknown (WindowsNT).
- Tag
- TimeOut - time in
seconds to determine Stable situation if during that time no bytes received (and also no
bytes sent if property UseSentToDetermineStable is set to True)
- Top
- * Transparent - set it to
True to make visible only pulses and border (with bevels). This will also hide parent form
too, so if it has StayOnTop style, then You obtain partially transparent diagram on
screen, which does not resist to see browser (and other) windows content on screen.
- UseSentToDetermineConnect - default is False.
- UseSentToDetermineStable - default: False (look above);
- Visible
- Width
With read only run-time
properties Sent, Received
and Speed it is possible to get know about
number of bytes sent and received from the start of last connection (or from restart of
computer - under Windows95/98) and connection speed. Under WinNT the last of those, Speed is unknown and is 0. Property Display
: TBitmap can be used to paint additional elements over display without flickering.
Property Region : HRgn can be used (in event
OnRegion) to add areas of form to be shown in Transparent mode.
Creating event handlers for events
OnConnect, OnDisconnect,
OnStable, OnScan,
OnRegion and OnDisplay
it is possible to add special behaviour for Your application. Also standard events are
available: OnClick, OnDblClick, OnKeyDown,
OnKeyPress, OnKeyUp, OnOnMouseMove, OnMouseDown,
OnMouseUp.
TBzInterInfo is a poor pascal object,
which incapsulates the main functionality of this package. With properties BytesRecvd, BytesXmit
and ConnectSpeed it is possible to obtain
correspondent information about current state of connection after calling method Refresh. This last method is called automatically each
time when values of first three properties is reading if property AutoRefresh
is set to True. This object does not use graphics, timers and so on. You may use
it along to create small modem statistics and monitoring applications.
TBzPerformanceInfo
is a poor pascal object, which is intended to obtain performance statistics information
from Windows NT registry. It does not work under Windows 95/98 but this does not stop
application from loading. Just You have to verify OS version before using it at run time. Properties:
- LookObject - default is Global_Object.
This mean that procedure Refresh will get performance information about all objects. Set
it to certain object to reduce processor and memory usage when data are scanned in Refresh procedure. At all 33 different objects are available (Processor,
Memory and others).
- Precision - default is precision_100;
defines precision of counters returned by function GetCounter. This does not affect
counters of type RAW_COUNTER (simple additive counters, which values do not require in
interval to be beasured).
- Titles[ Idx ] - [Run-Time, Read Only]
- either titles of counters of current looking object or titles of objects if LookObject is Global_Object.
- TitlesCount - number of TitlesCount[] available.
Methods:
- Refresh; - call it to get new values of
counters of current LookObject (or all counters if LookObject is Global_Object). Some of counters
need to call Refresh at least twice to be measured (%-based,
units/sec speed-based).
- GetTitleIndex( Title : String ) : Integer;
- scans the titles database and returns index for given title of counter or object. It is
sufficient to call this function once and store index in a variable to pass it later to GetCounter for obtaining value of correspondent counter.
- GetCounter( Indx : Integer ) : Integer; -
returnes value of certain counter. Pass the index of title obtained by calling GetTitleIndex as a parameter. Some of counters need at least two
sequential calls to be measured (as % or units/sec), so after first call such counters are
0. Also interval-based counters are returned multiplied by Precision
to increase its accuracy.
REGISTRATION
This set of
components and objects is commercial. You can try it by downloading this
demo-version with restricted functionality (it can work only under Delphi running). To purchase functional version of
TBzInterMeter component, TBzInterInfo and TBzPerformanceInfo object ($30),
You may use on-line registration service.
If You want to purchase the source (for $89),
You may use on-line
registration service.
And do not forget to visit my home page to get more from Bonanzas! |