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.
Befehl | Cockpit.Slot |
---|---|
Funktion | Stellt den Zahlenwert für den Slot bereit, der ein Ereignis ausgelöst hat. |
Typ | Integer |
- 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.