Inhaltsverzeichnis
cpGetRBSColor
Mit diesem Befehl ist es möglich, den Farbton der Schrift einer beliebigen Rennbildschirmvariable aus einem AddOn heraus abzufragen.
Rennbildschirmvariable steht in diesem Fall für Text-Variablen.
Grafische Elemente, wie eine Box oder Fortschrittsanzeigen erfordern eine andere Art der Verarbeitung. Es gibt dafür eigene Befehle.
Dazu muss im Feld AddOn-Variablenname der Rennbildschirmvariable ein eindeutiger Name eingetragen sein. Im folgenden Beispiel sind das sFahrerKurzName1 und sFahrerKurzName2.
Neben dem Variablennamen erwartet der Befehl die Angabe der Farbnummer, die ausgelesen werden soll. Die sichtbare Farbe auf dem Rennbildschirm hat die Nummer 1, wenn als Option Wie gewählte Farbe eingestellt ist.
Kommen die Farben über Slot Schrift Farbe oder Slot Hintergrund Farbe muss der Befehl cpGetSlotIDColor verwendet werden. Anderenfalls erhält man immer 0 = schwarz als Farbton.
Farbnummer 1 = aktiv eingestellte Farbe
Farbnummer 2 = Font-Farbe
Farbnummer 3 = Font-Farbe Slot (Default)
Farbnummer 4 = Font-Farbe 2
Syntax
| Befehl | cpGetRBSColor(sVariablenName:String, ColorNummer:Integer); |
|---|---|
| Funktion | Liest die gewählte Farbnummer einer Rennbildschirmvariable aus und liefert den Farbton als Ganzzahl |
| Typ | Integer |
Codebeispiel
var
slot : Integer;
msg : String;
color : Integer;
FontColor : Integer;
begin
// Slots 1 und 2 durchlaufen
for slot := 1 to 2 do
begin
// Slot einstellen
Cockpit.Slot := slot;
// Meldung zusammenstellen
msg := msg + 'Slot :' + IntToStr(slot);
msg := msg + Chr(13) + Chr(10);
msg := msg + '------------------------';
// für alle 4 Colornummern durchlaufen
for color := 1 to 4 do
begin
// Farbton holen und in Variable speichern
FontColor := cpGetRBSColor('sFahrerKurzName'+IntToStr(slot), color);
// Meldung erweitern
msg := msg + Chr(13) + Chr(10);
msg := msg + 'Farbe ' + IntToStr(color) + ': ';
msg := msg + IntToStr(FontColor);
end;
// Meldung nach allen Colornummern erweitern
msg := msg + Chr(13) + Chr(10);
msg := msg + Chr(13) + Chr(10);
end;
// Meldung anzeigen
cpShowMessage(msg);
// Farben blau und rot für Kurznamen vertauschen
cpSetRBSColor('sFahrerKurzName1', 1, 16744448);
cpSetRBSColor('sFahrerKurzName2', 1, 4210943);
end.
Der Code liest im ersten Schritt alle eingestellten Farben mit Werten aus. Gut zu sehen, dass Farbnummer 1+2 gleiche Werte enthalten. Nach Anzeigen der Meldung vertauschen die beiden zeilen die Farbe für die Fahrerkurznamen gegenüber der eigentlichen Einstellung.

Wichtiger Hinweis:
Nutzt man mehr als einen Monitor, muss man vorher mit dem Befehl cpSetMonitor(n); den gewünschten Monitor einstellen, auf dem sich die zu manipulierende Variable befindet. „n“ ist dabei eine Ziffer von
- 0 = Hauptmonitor
- 1-8 = Zusatzmonitor 1-8
Gibt es nur einen Monitor, kann man den Befehl auch weglassen.
