Autor Beitrag
josefkoller
Hält's aus hier
Beiträge: 10



BeitragVerfasst: Mi 22.02.12 12:46 
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:
ausblenden 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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Administrator
Beiträge: 10184
Erhaltene Danke: 1256

W10ent
TP3 .. D7pro .. D10.2CE
BeitragVerfasst: 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:
ausblenden 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

_________________
There are 10 types of people - those who understand binary and those who don´t.
josefkoller Threadstarter
Hält's aus hier
Beiträge: 10



BeitragVerfasst: 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