home *** CD-ROM | disk | FTP | other *** search
- unit MetersU;
-
- interface
-
- uses
- Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
- OleCtrls, RTMETERX;
-
- type
- TForm1 = class(TForm)
- RTMETERXCtrl1: TRTMETERXCtrl;
- RTMETERXCtrl2: TRTMETERXCtrl;
- RTMETERXCtrl3: TRTMETERXCtrl;
- procedure FormCreate(Sender: TObject);
- procedure RTMETERXCtrl1OnInternalTimer(Sender: TObject);
- procedure RTMETERXCtrl2OnInternalTimer(Sender: TObject);
- procedure RTMETERXCtrl3OnInternalTimer(Sender: TObject);
- private
- procedure BuildGraph1;
- procedure BuildGraph2;
- procedure BuildGraph3;
- { Private declarations }
- public
- { Public declarations }
- end;
-
- var
- Form1: TForm1;
-
- implementation
- uses ctwxdef;
- {$R *.DFM}
- var
- rData1: Array[0..1] of double;
- rData2, rData3: double;
-
- procedure TForm1.FormCreate(Sender: TObject);
- begin
- BuildGraph1;
- BuildGraph2;
- BuildGraph3;
- end;
-
-
- procedure TForm1.BuildGraph1;
- begin
-
- RTMETERXCtrl1.MeterType := RTMETER_NEEDLE;
- RTMETERXCtrl1.MeterNumChannels := 2;
-
- //CENTER AND DIAMETER
- RTMETERXCtrl1.MeterCenterX := 0.5;
- RTMETERXCtrl1.MeterCenterY := 0.4;
- RTMETERXCtrl1.MeterDiameter := 0.5;
-
- //ARC
- RTMETERXCtrl1.MeterStartArc := 135;
- RTMETERXCtrl1.MeterStopArc := 45;
-
-
- //NEEDLE
- RTMETERXCtrl1.MeterNeedleStyle := NEEDLE_SHORTF;
-
- //COLORS
- RTMETERXCtrl1.PlotBackgroundColor := RGB_BLACK;
- RTMETERXCtrl1.WindowBackgroundColor := RGB_BLACK;
-
- //SCALING
- RTMETERXCtrl1.MeterScaleMin := 2.0;
- RTMETERXCtrl1.MeterScaleMax := 5.0;
-
- // starting data values
- rData1[0] := 3.5;
- rData1[1] := 4.0;
-
- //ALARM ARCS
- RTMETERXCtrl1.MeterLowAlarmStop := 2.6;
- RTMETERXCtrl1.MeterHighAlarmStart := 4.8;
-
- //arc line
- RTMETERXCtrl1.MeterArcEnable := FALSE;
- RTMETERXCtrl1.MeterLineColor := RGB_WHITE;
-
-
- //tick attributes
- RTMETERXCtrl1.MeterTickStep := 0.5;
- RTMETERXCtrl1.MeterMinorTicks := 4;
- RTMETERXCtrl1.MeterTickPosition := POS_OUTSIDE;
- RTMETERXCtrl1.MeterTickLabelsPrecision := 1;
- RTMETERXCtrl1.MeterTickLabelsPosition := POS_OUTSIDE;
- RTMETERXCtrl1.MeterTickLabelsColor := RGB_WHITE;
-
- //channel colors
- RTMETERXCtrl1.MeterChannelColor[0] := RGB_WHITE;
- RTMETERXCtrl1.MeterChannelColor[1] := RGB_LIGHTRED;
-
- //ALARMS
- RTMETERXCtrl1.MeterNormalAlarmColor := RGB_BLACK;
- RTMETERXCtrl1.MeterAlarmArcThickness := RTMETERXCtrl1.MeterAlarmArcThickness / 4.0;
-
- //timer
- RTMETERXCtrl1.EnableInternalTimer := TRUE;
-
- end;
-
- procedure TForm1.BuildGraph2;
- begin
- RTMETERXCtrl2.MeterType := RTMETER_ARC;
-
- //arcs
- RTMETERXCtrl2.MeterStartArc := 270;
- RTMETERXCtrl2.MeterStopArc := 90;
-
- //title
- RTMETERXCtrl2.TitleString[ TITLE1] := 'Pie Meter';
-
- //timer
- RTMETERXCtrl2.EnableInternalTimer := TRUE;
-
- //size and position
- RTMETERXCtrl2.MeterDiameter := 0.6;
- RTMETERXCtrl2.MeterCenterX := 0.2;
-
- //tick marks
- RTMETERXCtrl2.MeterTickPosition := POS_OUTSIDE;
-
- //arc colors
- RTMETERXCtrl2.MeterNormalAlarmColor := RGB_WHITE;
- RTMETERXCtrl2.MeterLowAlarmColor := RGB_LIGHTBLUE;
- RTMETERXCtrl2.MeterHighAlarmColor := RGB_MAGENTA;
-
- rData2 := 5;
- end;
-
- procedure TForm1.BuildGraph3;
- begin
- RTMETERXCtrl3.MeterType := RTMETER_PIE;
- RTMETERXCtrl3.MeterStartArc := 0;
- RTMETERXCtrl3.MeterStopArc := 345;
-
- RTMETERXCtrl3.MeterScaleMin := 0.0;
- RTMETERXCtrl3.MeterScaleMax := 100.0;
- RTMETERXCtrl3.MeterTickStep := 25.0;
-
- rData3 := 50.0;
-
- //title
- RTMETERXCtrl3.TitleString[ TITLE1] := 'Arc Meter';
- RTMETERXCtrl3.TitleFontSize[TITLE1] := 10;
- RTMETERXCtrl3.TitleColor[ TITLE1] := RGB_RED;
- RTMETERXCtrl3.TitleFontStyle [TITLE1] := TEXT_BOLD OR TEXT_ITAL;
-
- //timer
- RTMETERXCtrl3.EnableInternalTimer := TRUE;
-
- //diameter
- RTMETERXCtrl3.MeterDiameter := + 0.6;
-
- //channel colors
- RTMETERXCtrl3.MeterChannelColor[0] := RGB_WHITE;
- RTMETERXCtrl3.MeterChannelColor[1] := RGB_CYAN;
-
- //arc limits
- RTMETERXCtrl3.MeterLowAlarmStart := 0.0;
- RTMETERXCtrl3.MeterLowAlarmStop := 10.0;
- RTMETERXCtrl3.MeterHighAlarmStart := 90.0;
- RTMETERXCtrl3.MeterHighAlarmStop := 100.0;
- end;
-
- procedure TForm1.RTMETERXCtrl1OnInternalTimer(Sender: TObject);
- begin
- rData1[0] := rData1[0] + 0.5 * (0.5 - random);
- rData1[1] := rData1[1] + 0.5 * (0.5 - random);
- RTMETERXCtrl1.UpdateDynData(rData1[0]);
- end;
-
- procedure TForm1.RTMETERXCtrl2OnInternalTimer(Sender: TObject);
- begin
- rData2 := rData2 + (0.5 - random);
- RTMETERXCtrl2.UpdateDynData(rData2);
- end;
-
- procedure TForm1.RTMETERXCtrl3OnInternalTimer(Sender: TObject);
- begin
- rData3 := rData3 + 5 * (0.5 - random);
- RTMETERXCtrl3.UpdateDynData(rData3);
- end;
-
- end.
-