unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls;
type
TPanelDigital = (pTop,pTopLeft,pTopRight,pCenter,Pbottom,pBottomRight,pBottomLeft);
TPanelesDigitales = Set of TPanelDigital;
TDigitos = Array[0..9] of TPanelesDigitales;
TForm1 = class(TForm)
Button1: TButton;
Panel1: TPanel;
Panel2: TPanel;
Panel3: TPanel;
Panel4: TPanel;
Panel5: TPanel;
Panel6: TPanel;
Panel7: TPanel;
Edit1: TEdit;
Button2: TButton;
Panel8: TPanel;
Panel9: TPanel;
Panel10: TPanel;
Panel11: TPanel;
Panel12: TPanel;
Panel13: TPanel;
Panel14: TPanel;
Timer1: TTimer;
Label1: TLabel;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Timer1Timer(Sender: TObject);
private
procedure DibujaDisplay(Digito,Digito2 : TPanelesDigitales);
{ Private declarations }
public
Digitos : TDigitos;
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
Procedure Tform1.DibujaDisplay( Digito,Digito2 : TPanelesDigitales);
Begin
Panel1.Visible := ptop in Digito;
Panel2.Visible := pTopRight in digito;
Panel3.Visible := pTopLeft in Digito;
Panel4.Visible := pCenter in digito;
Panel5.Visible := pBottomRight in Digito;
Panel6.Visible := pBottomLeft in digito;
Panel7.Visible := pBottom in Digito;
Panel8.Visible := ptop in Digito2;
Panel9.Visible := pTopRight in digito2;
Panel10.Visible := pTopLeft in Digito2;
Panel11.Visible := pCenter in digito2;
Panel12.Visible := pBottomRight in Digito2;
Panel13.Visible := pBottomLeft in digito2;
Panel14.Visible := pBottom in Digito2;
End;
procedure TForm1.Button1Click(Sender: TObject);
var
Panelx : TPanelesDigitales;
begin
PanelX := [pTop,pTopLeft,pTopRight,pCenter,Pbottom,pBottomRight,pBottomLeft];
Digitos [0] := Panelx - [pcenter];
Digitos [1] := [pTopRight,pBottomRight];
Digitos [2] := Panelx - [pTopLeft,pBottomRight];
Digitos [3] := Panelx - [pTopLeft,pBottomLeft];
Digitos [4] := Panelx - [pTop,pBottom,pBottomLeft];
Digitos [5] := Panelx - [pBottomLeft,pTopRight];
{ Digitos [5] := Panelx - [pcenter];
Digitos [6] := Panelx - [pcenter];
Digitos [7] := Panelx - [pcenter];
Digitos [8] := Panelx - [pcenter];
Digitos [9] := Panelx - [pcenter];
}
Exclude(Panelx,pCenter);
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
DibujaDisplay( Digitos[ StrToIntDef(Edit1.Text[1],0) ],
Digitos[ StrToIntDef(Edit1.Text[2],0) ] );
end;
procedure TForm1.Timer1Timer(Sender: TObject);
begin
Label1.Caption := TimeToStr(Now);
end;