Entwickler-Ecke

Grafische Benutzeroberflächen (VCL & FireMonkey) - farben zuweisen


josefkoller - Mi 22.02.12 12:46
Titel: farben zuweisen
Hallo,

kann mir jemand bei folgendem Problem helfen:

mit einer while-Schleife durchlaufe ich eine Tabelle.

Der Text eines bestimmten Feldes soll farblich markiert in einem JvTimeLine Item (Caption und Color) ausgegeben werden.
Es sollen 5 Farben für color verwendet werden (weiß, gelb, grün, rot, blau).

Nach jedem 5. Datensatz soll bei den Farben wieder von vorne begonnen werden.

So ungefähr:

Delphi-Quelltext
1:
2:
3:
4:
5:
While not dmzucht.zqkalender.eof do begin
  jvTimeLine1.Items.Add.Caption:= dmzucht.zqkalender.......asString;
  jvTimeLine1.Items.Add.Color:= clwhite;// (beim ersten), clyellow (beim zweiten).... dann beim 6. Datensatz wieder clyellow, usw.
dmzucht.zqkalender.next;
end;

Weiß nicht recht, wie ich diesen 5-er Schritt bei den Farbe umsetzen soll?

Danke.

Josef

Moderiert von user profile iconNarses: Delphi-Tags hinzugefügt


Narses - Mi 22.02.12 13:18

Moin und :welcome: in der EE!

Mach dir ein Array mit den Farben, dann brauchst du eine lokale Index-Variable, die du nach jedem Zuweisen um 1 erhöhst und zum Zugriff in das Farb-Array verwendest. :idea:

Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
const
  MeineFarben: array[0..4of TColor = (clWhite, clBlack, clBlue, clGreen, clYellow); // was du willst halt

var
  ColorIndex: Integer;
begin
  //.. Eintrag gefunden
  Irgendwas.Color := MeineFarben[ColorIndex];
  ColorIndex := (ColorIndex +1mod 5// nur 0..4 zulassen
cu
Narses


josefkoller - Mi 22.02.12 15:13

Hallo Narses,

Ich hatte es von der Anzahl der Datensätze mit mod probiert. Da kam ich auf keinen grünen Zweig.

Vielen Dank für Deinen Hinweis.

Josef