Einzelnen Beitrag anzeigen

Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#4

AW: Mit Button zur Zahl im Label 1 oder mehr addieren und abziehen?

  Alt 31. Aug 2013, 22:48
Halte ich für etwas unglücklich. Ich würde Daten und Darstellung trennen:
Delphi-Quellcode:
type
  TForm4 = class(TForm)
    lbl1: TLabel;
    btn1: TButton;
    procedure FormCreate(Sender: TObject);
    procedure btn1Click(Sender: TObject);
  private
    { Private-Deklarationen }
    MyCounter: Integer;
    procedure MyLableUpdate(TargetLabel: TLabel);
  public
    { Public-Deklarationen }
  end;

var
  Form4: TForm4;

implementation

{$R *.dfm}

procedure TForm4.btn1Click(Sender: TObject);
begin
  Inc(MyCounter);
  MyLableUpdate(lbl1);
end;

procedure TForm4.FormCreate(Sender: TObject);
begin
  MyCounter := 0;
  MyLableUpdate(lbl1);
end;

procedure TForm4.myLableUpdate(TargetLabel: TLabel);
begin
  lbl1.Caption := IntToStr(MyCounter);
end;
Jetzt kann man beliebig viele und unterschiedliche Komponente für die Darstellung nehmen. man muss nur eine entsprechende Prozedur schreiben. Und wenn man will, könnte man auch alles in einer Prozedur abhandeln. Allerdings könnte es dann wieder etwas unübersichtlich werden.

Delphi-Quellcode:
procedure TForm4.UpdateComponent(Target: TComponent);
begin
  if Target is TLabel then
    TLabel(Target).Caption := IntToStr(MyCounter);
  if Target is TEdit then
    TEdit(edt1).Text := IntToStr(MyCounter);
end;
Michael
Ein Teil meines Codes würde euch verunsichern.

Geändert von Luckie (31. Aug 2013 um 22:57 Uhr)
  Mit Zitat antworten Zitat