You've already forked lazarus-ccr
Industrial: Add demo for TAnalogSensor
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@8776 8e941d3f-bd1b-0410-a28a-d453659cc2b4
This commit is contained in:
@ -0,0 +1,143 @@
|
||||
unit AnalogSensor_Unit;
|
||||
|
||||
{$mode objfpc}{$H+}
|
||||
|
||||
interface
|
||||
|
||||
uses
|
||||
Classes, SysUtils, Forms, Controls, Graphics, Dialogs, ExtCtrls, StdCtrls,
|
||||
Sensors;
|
||||
|
||||
type
|
||||
|
||||
{ TForm1 }
|
||||
|
||||
TForm1 = class(TForm)
|
||||
AnalogSensor1: TAnalogSensor;
|
||||
cbAnalogKind: TComboBox;
|
||||
cbShowText: TCheckBox;
|
||||
cbShowLevel: TCheckBox;
|
||||
clbValueFore: TColorButton;
|
||||
clbValueYellow: TColorButton;
|
||||
clbValueRed: TColorButton;
|
||||
clbBack: TColorButton;
|
||||
edCaption: TEdit;
|
||||
GroupBox1: TGroupBox;
|
||||
lblAnalogKind: TLabel;
|
||||
lblCaption: TLabel;
|
||||
SettingsPanel: TPanel;
|
||||
sbValue: TScrollBar;
|
||||
sbValueYellow: TScrollBar;
|
||||
sbValueRed: TScrollBar;
|
||||
procedure cbAnalogKindChange(Sender: TObject);
|
||||
procedure cbShowLevelChange(Sender: TObject);
|
||||
procedure cbShowTextChange(Sender: TObject);
|
||||
procedure clbValueForeColorChanged(Sender: TObject);
|
||||
procedure clbValueRedColorChanged(Sender: TObject);
|
||||
procedure clbValueYellowColorChanged(Sender: TObject);
|
||||
procedure clbBackClick(Sender: TObject);
|
||||
procedure edCaptionChange(Sender: TObject);
|
||||
procedure FormCreate(Sender: TObject);
|
||||
procedure sbValueYellowChange(Sender: TObject);
|
||||
procedure sbValueChange(Sender: TObject);
|
||||
procedure sbValueRedChange(Sender: TObject);
|
||||
private
|
||||
procedure UpdateColorState;
|
||||
|
||||
public
|
||||
|
||||
end;
|
||||
|
||||
var
|
||||
Form1: TForm1;
|
||||
|
||||
implementation
|
||||
|
||||
{$R *.lfm}
|
||||
|
||||
{ TForm1 }
|
||||
|
||||
procedure TForm1.cbAnalogKindChange(Sender: TObject);
|
||||
const
|
||||
lWIDTH: array[TAnalogKind] of Integer = (250, 250, 60);
|
||||
lHEIGHT: array[TAnalogKind] of Integer = (150, 70, 250);
|
||||
begin
|
||||
AnalogSensor1.AnalogKind := TAnalogKind(cbAnalogKind.ItemIndex);
|
||||
AnalogSensor1.Width := lWIDTH[AnalogSensor1.AnalogKind];
|
||||
AnalogSensor1.Height := lHEIGHT[AnalogSensor1.AnalogKind];
|
||||
end;
|
||||
|
||||
procedure TForm1.cbShowLevelChange(Sender: TObject);
|
||||
begin
|
||||
AnalogSensor1.ShowLevel := cbShowLevel.Checked;
|
||||
end;
|
||||
|
||||
procedure TForm1.cbShowTextChange(Sender: TObject);
|
||||
begin
|
||||
AnalogSensor1.ShowText := cbShowText.Checked;
|
||||
end;
|
||||
|
||||
procedure TForm1.clbBackClick(Sender: TObject);
|
||||
begin
|
||||
AnalogSensor1.ColorBack := clbBack.ButtonColor;
|
||||
end;
|
||||
|
||||
procedure TForm1.clbValueForeColorChanged(Sender: TObject);
|
||||
begin
|
||||
AnalogSensor1.ColorFore := clbValueFore.ButtonColor;
|
||||
UpdateColorState;
|
||||
end;
|
||||
|
||||
procedure TForm1.clbValueRedColorChanged(Sender: TObject);
|
||||
begin
|
||||
AnalogSensor1.ColorRed := clbValueRed.ButtonColor;
|
||||
UpdateColorState;
|
||||
end;
|
||||
|
||||
procedure TForm1.clbValueYellowColorChanged(Sender: TObject);
|
||||
begin
|
||||
AnalogSensor1.ColorYellow := clbValueYellow.ButtonColor;
|
||||
UpdateColorState;
|
||||
end;
|
||||
|
||||
procedure TForm1.edCaptionChange(Sender: TObject);
|
||||
begin
|
||||
AnalogSensor1.Caption := edCaption.Text;
|
||||
UpdateColorState;
|
||||
end;
|
||||
|
||||
procedure TForm1.FormCreate(Sender: TObject);
|
||||
begin
|
||||
UpdateColorState;
|
||||
end;
|
||||
|
||||
procedure TForm1.sbValueChange(Sender: TObject);
|
||||
begin
|
||||
AnalogSensor1.Value := sbValue.Position;
|
||||
UpdateColorState;
|
||||
end;
|
||||
|
||||
procedure TForm1.sbValueRedChange(Sender: TObject);
|
||||
begin
|
||||
AnalogSensor1.ValueRed := sbValueRed.Position;
|
||||
UpdateColorState;
|
||||
end;
|
||||
|
||||
procedure TForm1.sbValueYellowChange(Sender: TObject);
|
||||
begin
|
||||
AnalogSensor1.ValueYellow := sbValueYellow.Position;
|
||||
UpdateColorState;
|
||||
end;
|
||||
|
||||
procedure TForm1.UpdateColorState;
|
||||
begin
|
||||
if AnalogSensor1.Value < AnalogSensor1.ValueRed then
|
||||
AnalogSensor1.SetColorState(slRED)
|
||||
else if AnalogSensor1.Value > AnalogSensor1.ValueYellow then
|
||||
AnalogSensor1.SetColorState(slYELLOW)
|
||||
else
|
||||
AnalogSensor1.SetColorState(slUNKNOWN);
|
||||
end;
|
||||
|
||||
end.
|
||||
|
Reference in New Issue
Block a user