Inhaltsverzeichnis
Cockpit.Slot
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.Slot |
---|---|
Funktion | Stellt den Zahlenwert für den Slot bereit, der ein Ereignis ausgelöst hat. |
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 Bild sind Slotnummer und Regler-ID unterschiedlich konfiguriert.
Und hier ein Bild aus dem StartCenter passend zu dem oben gezeigten Ergebnis.