Seite 1 von 1

DCBROWSE Color als Parameter [ERLEDIGT]

Verfasst: Do, 23. Mai 2019 8:20
von Manfred
Ich hatte in einer Hektik schnell die COLOR Angaben ausgelagert in eine INI Datei. Als ich das dann ausprobierte knallte es. Natürlich, GRA_CLR_FARBE ist ja eine Konstante.
Dann habe ich ein wenig herumexperimentiert, bin aber zu keinem Ergebnis gekommen. Wie muß man sowas denn machen, wenn man die COLOR Angabe als Parameter auslagern will? Ich möchte gerne die Farben der einzelnen Zeilen abhängig von Einträgen ändern, aber das eben so, das man die Farbe nicht fest verdrahtet, sondern als veränderbar möglich macht. Ist es denn hier nur möglich mit KOnstanten zu arbeiten, oder kann man auch in RGB angeben? Das habe ich aber nicht hinbekommen.

Re: DCBROWSE Color als Parameter

Verfasst: Do, 23. Mai 2019 8:59
von Koverhage
@ 3, 0 DCBROWSE oBrowse ALIAS cAlias SIZE nBrowseWidth, lastrow-3 ;
MKCOLOR {|| YES}, {|| sayrfarbe()} ;


static function sayrfarbe
Local aColors := {{GRA_CLR_BLACK,GRA_CLR_RED}, ;
{GRA_CLR_BLACK,GraMakeRGBColor({255,255,153})}, ;
{GRA_CLR_BLACK,GRA_CLR_GREEN}, ;
{GRA_CLR_BLACK,GraMakeRGBColor({255,154,0})}}

return iif(ra->offen > 0, aColors[1], aColors[3])

Re: DCBROWSE Color als Parameter

Verfasst: Do, 23. Mai 2019 9:24
von Manfred
Danke Klaus,
GraMakeRGBColor war das Zauberwort. Hatte ich wieder total vergessen.

Re: DCBROWSE Color als Parameter [ERLEDIGT]

Verfasst: Do, 23. Mai 2019 9:57
von Tom
Man könnte auch die Konstanten beim Laden der INI-Datei parsen und durch die echten Werte ersetzen. Wenn man die GRA.CH hat, ist das ein Zehnzeiler.
Edit: Oder ein Einzeiler. Wenn ich mich recht erinnere, hat Roger irgendwo eine Funktion, die Literale, die irgendwo gespeichert wurden, beim Laden aus der Speicherung durch die referenzierten Konstantenwerte ersetzt. Er macht das ja selbst oft - man kann in DC_Dot() Konstanten verwenden.

Re: DCBROWSE Color als Parameter [ERLEDIGT]

Verfasst: Do, 23. Mai 2019 10:19
von Manfred
Hi Tom,
das wäre was für ein ruhiges Wochenende. Die Lösung von Klaus habe ich jetzt umgesetzt und ergibt genau das, was ich haben wollte. Hat sogar den Vorteil, das ich jetzt wesentlich feiner die Farben einstellen kann.