FastReport Farb-Konstanten: Unterschied zwischen den Versionen
K (→Beispiel) |
(→Beispiel) |
||
Zeile 111: | Zeile 111: | ||
|...wird die Schriftfarbe auf die Standard-Schriftfarbe gesetzt, im Regelfall schwarz (man könnte auch '''clBlack''' verwenden). | |...wird die Schriftfarbe auf die Standard-Schriftfarbe gesetzt, im Regelfall schwarz (man könnte auch '''clBlack''' verwenden). | ||
|} | |} | ||
+ | |||
+ | === Man beachte die Klammern === | ||
+ | |||
+ | in diesem Code! Die sind wichtig! | ||
+ | |||
+ | if '''('''<Positionen."Alternativ_0_1"> = 1''')''' and '''('''<Positionen."PosNr"> > 0 ''')''' then | ||
+ | |||
+ | In einer '''if'''-Anfrage mit '''and ''' oder '''or''' wird jede Abfrage darauf geprüft, ob die Antwort '''wahr''' (true) oder '''falsch''' (false) ist. In diesem Fall muss also diese Teil der Abfrage | ||
+ | |||
+ | if '''(<Positionen."Alternativ_0_1"> = 1)''' and (<Positionen."PosNr"> > 0 ) | ||
+ | |||
+ | '''wahr''' ergeben '''und''' dieser Teil: | ||
+ | |||
+ | if (<Positionen."Alternativ_0_1"> = 1) and '''(<Positionen."PosNr"> > 0 )''' | ||
+ | |||
+ | Jeder dieser beiden Abfragen sind sozusagen ein Block für sich, der ein logischen Ergebnis '''Wahr''' oder '''Falsch''' ergibt. Und solch ein Block muss halt in Klammern stehen, so ist das festgelegt! Diese Festlegung entspricht der Vorgehensweise in den meisten üblichen Programmiersprachen. | ||
== Links == | == Links == |
Version vom 16. September 2015, 22:16 Uhr
Inhaltsverzeichnis
1 Allgemeines
Allen sichtbaren Objekte eines Report können Sie eine Farbe zuweise, entweder fest im Objekt-Inspektor oder über einen Code.
- Bitte beachten Sie
- Die Eigenschaft Objekt.Color gibt die Hintergrundfarbe an! Wenn Sie die Schriftfarbe ändern wollen, so müssen Sie die Eigenschaft Objekt.Font.Color setzen!
2 Konstanten
Diese Farb-Konstanten gibt es:
Die wichtigsten Farben sind:
Konstante | Farbe |
---|---|
clNone | Keine Farbe, das Objekt ist durchsichtig. Dies ist die Standardfarbe für Felder. |
clBlack | Schwarz |
clWhite | Weiß |
clRed | Rot |
clYellow | Gelb |
clGreen | Dunkles Grün |
clLime | Helles grün |
clNavy | Dunkles Blau |
clGray | Dunkles Grau |
clSilver | Helles Grau |
3 Farbwerte über Hexadezimale Zahl
Alternativ zu den Konstanten kann man eine Farbe auch über eine hexadezimale Zahl festlegen.
Dabei geben die drei niederwertigen Bytes die RGB-Farbintensität für Blau, Grün und Rot an.
$00FF0000 Blau mit voller Intensität $0000FF00 Grün $000000FF Rot $00000000 Schwarz $00FFFFFF Weiß
Es sind alle denkbaren Kombinationen möglich.
Das höchstwertige Byte steuert die Annäherung an die Systenfarbe
$00 Farbe ist der in der Systempalette am ähnlichsten $01 ergibt eine Farbe, die derjenigen in der aktiven Palette am ähnlichsten ist. $02 ergibt eine möglichst ähnlichste Farbe in der logischen Palette des aktuellen Gerätekontexts.
Normalerweise verwendet man "$00".
- Tipp
- Wenn Sie eine bestimmte Farbe wollen, so setzen Sie die Farbe eine beliebigen Objekts im Objektinspektor, kopieren die Hexa-Zahl in Zwischenablage und fügen Sie diese in den Code ein.
4 Beispiel
In einem Angebot soll das Feld GesamtBetrag (PositionenGesBetrag) grau dargestellt werden, wenn es eine Alternativ-Position ist. Dazu wählt man das Feld und wählt im Objekt-Inspektor unter Ereignisse aus:
Mit einem Doppelklick darauf kommt man in den Code-Editor und gibt diesen Code ein:
if (<Positionen."Alternativ_0_1"> = 1) and (<Positionen."PosNr"> > 0 ) then PositionenGesBetrag.Font.Color := clWindowFrame else PositionenGesBetrag.Font.Color := clWindowText;
Code | Bedeutung |
---|---|
if (<Positionen."Alternativ_0_1"> = 1) | Wenn das Alternativ-Kennzeichen der Position eingeschaltet ist ( = 1)... |
and (<Positionen."PosNr"> > 0 ) | ...und wenn es kein Kapitel ist (<Positionen."PosNr"> > 0 ) |
then | dann... |
PositionenGesBetrag.Font.Color := clWindowFrame | ...wird die Schriftfarbe auf mittelgrau gesetzt... |
else | ansonsten... |
PositionenGesBetrag.Font.Color := clWindowText | ...wird die Schriftfarbe auf die Standard-Schriftfarbe gesetzt, im Regelfall schwarz (man könnte auch clBlack verwenden). |
4.1 Man beachte die Klammern
in diesem Code! Die sind wichtig!
if (<Positionen."Alternativ_0_1"> = 1) and (<Positionen."PosNr"> > 0 ) then
In einer if-Anfrage mit and oder or wird jede Abfrage darauf geprüft, ob die Antwort wahr (true) oder falsch (false) ist. In diesem Fall muss also diese Teil der Abfrage
if (<Positionen."Alternativ_0_1"> = 1) and (<Positionen."PosNr"> > 0 )
wahr ergeben und dieser Teil:
if (<Positionen."Alternativ_0_1"> = 1) and (<Positionen."PosNr"> > 0 )
Jeder dieser beiden Abfragen sind sozusagen ein Block für sich, der ein logischen Ergebnis Wahr oder Falsch ergibt. Und solch ein Block muss halt in Klammern stehen, so ist das festgelegt! Diese Festlegung entspricht der Vorgehensweise in den meisten üblichen Programmiersprachen.