
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@6770 8e941d3f-bd1b-0410-a28a-d453659cc2b4
67 lines
1.2 KiB
ObjectPascal
67 lines
1.2 KiB
ObjectPascal
unit main;
|
|
|
|
{$mode objfpc}{$H+}
|
|
|
|
interface
|
|
|
|
uses
|
|
Classes, SysUtils, Forms, Controls, Graphics, Dialogs, StdCtrls, MKnob,
|
|
switches, A3nalogGauge;
|
|
|
|
type
|
|
|
|
{ TMainForm }
|
|
|
|
TMainForm = class(TForm)
|
|
AnalogGauge: TA3nalogGauge;
|
|
Edit: TEdit;
|
|
Knob: TmKnob;
|
|
OnOffSwitch: TOnOffSwitch;
|
|
procedure EditEditingDone(Sender: TObject);
|
|
procedure FormCreate(Sender: TObject);
|
|
procedure KnobChange(Sender: TObject; AValue: Longint);
|
|
procedure OnOffSwitchChange(Sender: TObject);
|
|
private
|
|
|
|
public
|
|
|
|
end;
|
|
|
|
var
|
|
MainForm: TMainForm;
|
|
|
|
implementation
|
|
|
|
{$R *.lfm}
|
|
|
|
{ TMainForm }
|
|
|
|
procedure TMainForm.EditEditingDone(Sender: TObject);
|
|
var
|
|
s: String;
|
|
begin
|
|
s := Edit.Text;
|
|
while (s <> '') and not (s[Length(s)] in ['0'..'9']) do
|
|
SetLength(s, Length(s)-1);
|
|
Knob.Position := StrToInt(s);
|
|
end;
|
|
|
|
procedure TMainForm.FormCreate(Sender: TObject);
|
|
begin
|
|
Knob.Position := 40;
|
|
end;
|
|
|
|
procedure TMainForm.KnobChange(Sender: TObject; AValue: Longint);
|
|
begin
|
|
AnalogGauge.Position := Knob.Position;
|
|
Edit.Text := IntToStr(Knob.Position) + ' V';
|
|
end;
|
|
|
|
procedure TMainForm.OnOffSwitchChange(Sender: TObject);
|
|
begin
|
|
Knob.AllowUserDrag := OnOffSwitch.Checked
|
|
end;
|
|
|
|
end.
|
|
|