Inhaltsverzeichnis
Cockpit.SlotID
Einleitung
Cockpit.Slot (Slot = Steckplatz) ist das zentrale Objekt in der AddOn-Programmierung.
Unter Steckplatz versteht Cockpit eine Zeile aus der Fahrer-/Fahrzeugliste im StartCenter. Die Reihenfogle ist fortlaufend und beginnt in der obersten Zeile mit dem Wert 1.
Die in der Zeile stehenden Informationen sind Unterelemente von Cockpit.Slot. Verdeutlich man sich diesen Umstand, wird auch klar, warum in vielen AddOn-Codezeilen dieses im Beispiel zu sehende Konstrukt zu finden ist.
Ohne die Abfrage von Cockpit.Slot und dem Einstellen als aktives Objekt, mit dem weitere Bearbeitung erfolgt, gibt es keinen Zugriff auf Cockpit.FahrerName, Cockpit.SlotID, etc.
Gerade in den Anfangszeiten, als die AddOn-Implementierung noch sehr frisch war, funktionierten viele AddOns nur, wenn die Regler-ID = Cockpit.Slot war. Erst als dieser Zusammenhang deutlich wurde, wurden die AddOns so umgeschrieben, dass sie auch mit ungleichen Paaren von Cockpit.Slot und Cockpit.SlotID funktionierten.
Syntax
| Befehl | Cockpit.SlotID |
|---|---|
| Funktion | Stellt den Zahlenwert für die Spur (analog) oder die Regler-ID (digital) bereit, die Cockpit.Slot zugeordnet ist. |
| Typ | Integer |
Codebeispiel
var
slot : Integer;
msg : String;
sFahrer : String;
sFahrzeug : String;
id : Integer;
tankstand : Extended;
begin
// Variable initialisieren
msg := '';
// Auslösenden Slot in Variable speichern
slot := Cockpit.Slot;
// Jetzt diesen Slot für weitere Befehle einstellen
Cockpit.Slot := slot;
// den Fahrernamen speichern
sFahrer := Cockpit.FahrerName;
// Den Namen des Fahrzeugs speichern
sFahrzeug := Cockpit.FahrzeugName;
// Spur (analog) oder Regler-ID (digital) speichern
id := Cockpit.SlotID;
// Tankinhalt speichern
tankstand := Cockpit.TankStand;
// Meldung zusammenstellen
msg := msg + 'Slot (Zeile): ' + IntToStr(slot);
msg := msg + Chr(13) + Chr(10);
msg := msg + 'Fahrername: ' + sFahrer;
msg := msg + Chr(13) + Chr(10);
msg := msg + 'Fahrzeugname: ' + sFahrzeug;
msg := msg + Chr(13) + Chr(10);
msg := msg + 'Spur/Regler-ID: ' + IntToStr(id);
msg := msg + Chr(13) + Chr(10);
msg := msg + 'Tankinhalt: ' + FormatFloat('##0.0', tankstand) + '%';
msg := msg + Chr(13) + Chr(10);
// Meldung anzeigen
cpShowMessage(msg);
end.
Dieser Code zeigt die folgende Meldung und enthält Unterelemente von Cockpit.Slot. Es gibt noch weitere, die allerdings nicht im StartCenter zu finden sind.
Im StartCenter sind Slotnummer und Regler-ID unterschiedlich konfiguriert. Das zeigt die Meldung entsprechend an.
Und hier ein Bild aus dem StartCenter passend zu dem oben gezeigten Ergebnis.
