Einzelnen Beitrag anzeigen

KLS

Registriert seit: 20. Jun 2004
Ort: Berlin
89 Beiträge
 
Delphi 7 Enterprise
 
#7

Re: Digital-Anzeige

  Alt 17. Aug 2005, 07:26
Hiermal die ganze sache mit Arrays. Macht das nen stückchen kürzer

Delphi-Quellcode:
constructor TZiffer.Create(AOwner : TComponent; Parent : TWinControl);
const
  Positionen : array[0..6,0..3] of integer = ((9,33,48,16),(33,9,16,8),(9,33,8,16),(33,9,16,48),(33,9,56,48),(9,33,88,16),(33,9,56,8));
var
  i : Byte;
begin
  vMain := TPanel.Create(AOwner);
  vMain.Parent := Parent;
  vMain.Width := 65;
  vMain.Height := 105;
  for i := 0 to 6 do
  begin
    vPanels[i] := TPanel.Create(AOwner);
    with vPanels[i] do
    begin
      Parent := vMain;
      Height := Positionen[i,0];
      Width := Positionen[i,1];
      Top := Positionen[i,2];
      Left := Positionen[i,3];
    end;
  end;
end;

procedure TZiffer.SetValue(Value : Byte);
const
  Werte : array[0..9,0..6] of byte = ((0,1,1,1,1,1,1),(0,0,0,1,1,0,0),(1,0,1,1,0,1,1),(1,0,1,1,1,1,0),(1,1,0,1,1,0,0),(1,1,1,0,1,1,0),(1,1,1,0,1,1,1),(0,0,1,1,1,0,0),(1,1,1,1,1,1,1),(1,1,1,1,1,1,0));
var
  i : byte;
begin
  for i := 0 to 6 do vPanels[i].Visible := bool(Werte[value,i]);
  vValue := Value;
end;
Thomas H.
  Mit Zitat antworten Zitat