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".