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.