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.



Start - FAQ - Glossar - Sitemap - Impressum