lazarus-ccr/components/industrialstuff/Example/LEDNumberDemo/main.pas
wp_xxyyzz 3b1972ff82 industrial: New demo for TLEDNumber
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@7307 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2020-01-20 16:04:03 +00:00

84 lines
1.4 KiB
ObjectPascal

unit main;
{$mode objfpc}{$H+}
interface
uses
Classes, SysUtils, Forms, Controls, Graphics, Dialogs, ExtCtrls, StdCtrls,
LedNumber;
type
{ TForm1 }
TForm1 = class(TForm)
Bevel1: TBevel;
cbZeroToO: TCheckBox;
cbSlanted: TCheckBox;
edCaption: TEdit;
lblSize: TLabel;
lblCaption: TLabel;
LEDNumber1: TLEDNumber;
Panel1: TPanel;
sbSize: TScrollBar;
procedure cbSlantedChange(Sender: TObject);
procedure cbZeroToOChange(Sender: TObject);
procedure edCaptionChange(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure sbSizeChange(Sender: TObject);
private
procedure UpdateLED;
public
end;
var
Form1: TForm1;
implementation
{$R *.lfm}
{ TForm1 }
procedure TForm1.cbSlantedChange(Sender: TObject);
begin
LEDNumber1.Slanted := cbSlanted.Checked;
end;
procedure TForm1.cbZeroToOChange(Sender: TObject);
begin
LEDNumber1.ZeroToO := cbZeroToO.Checked;
end;
procedure TForm1.edCaptionChange(Sender: TObject);
begin
UpdateLED;
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
UpdateLED;
end;
procedure TForm1.sbSizeChange(Sender: TObject);
begin
LEDNumber1.Size := sbSize.Position;
end;
procedure TForm1.UpdateLED;
var
i, n: Integer;
begin
n := 0;
for i := 1 to Length(edCaption.Text) do
if not (edCaption.Text[i] in ['.', ',']) then inc(n);
LEDNumber1.Columns := n;
LEDNumber1.Caption := edCaption.Text;
end;
end.