Einzelnen Beitrag anzeigen

Blup

Registriert seit: 7. Aug 2008
Ort: Brandenburg
1.439 Beiträge
 
Delphi 10.4 Sydney
 
#14

AW: Array aus Labeln mit Events

  Alt 4. Nov 2013, 08:23
Zitat:
@Sir Rufo : Ich hatte schon versucht, die besagte Methode zu implementieren (Im Quelltext steht sie, als Kommentar wegen Fehlermeldung).
Der auskommentierte Quelltext ist eine Deklaration. Was fehlt ist die Implementation, das bemängelt auch der Compiler.
Bitte informiere dich über die Bedeutung dieser Schlüsselwörter, diese gehören zu den Grundlagen für das Verständnis von Programmiersprachen.
Zitat:
Der Zyklus soll für jedes Label einzeln gelten, wenn es angelickt wird.
Wenn jedes Label einen eigenen unabhängigen Zyklus hat, braucht jedes Label doch auch seinen eigenen Zähler.
Da es eine feste Reihenfolge der Farben gibt und die Farben darin eindeutig sind, kann man aber beim Click von der aktuellen Farbe auf die nächste schliessen.
Delphi-Quellcode:
implementation
{hier drunter steht, was die Methoden tun sollen}

procedure TForm1.LabelClick(Sender: TObject);
const
  CLabelColors : array[0..5] of TColor = (clRed, clYellow, clLime, clAqua, clBlue, clFuchsia);
var
  i, n: Integer;
begin
  {Index der aktuellen Farbe des Labels bestimmen}
  n := -1;
  for i := 0 to High(CLabelColors) do
  begin
    if TLabel(Sender).Color = CLabelColors[i] then
    begin
      n := i;
      Break;
    end;
  end;
  {Index der nächsten Farbe die das Label bekommt}
  n := (n + 1) mod Count(CLabelColors);
  TLabel(Sender).Color := CLabelColors[n];
end;
Dem Event-Property der einzelnen Labels musst du natürlich "LabelClick" zuweisen, nicht "labels.Click".
  Mit Zitat antworten Zitat