Inhaltsverzeichnis

cpGetRacingStatus()

Syntax

Befehl cpGetRacingStatus()
Funktion Liefert den Status der aktuellen Session. 'R'=Run(läuft), 'S'=Stopped(Beendet,Abbruch), 'P'=Paused(Chaos).
Typ String

Codebeispiel

{ Pascal Script Engine }
{ Event: ChangeRealTimeStatus }
{ Parameter: Cockpit.Parameter = <RennStatus> }

const
  CrLf = Chr(13) + Chr(10);
  
var
  racingMode   : String;
  racingStatus : String;
  m : String;
  s : String;
  p : String;
  realTimeStatus : Integer;

begin

  // Variablen Werte zuweisen
  racingMode := cpGetRacingMode();
  racingStatus := cpGetRacingStatus();
  realTimeStatus := Cockpit.Parameter;
  
  // String für cpGetRacingMode() zusammensetzen
  case racingMode of
    'Q' :  m := 'Qualifikation ('+racingMode+')';
    'R' :  m := 'Rennen ('+racingMode+')';
    'T' :  m := 'Training ('+racingMode+')';
  end;
  
  // String für cpGetRacingStatus() zusammensetzen
  case racingStatus of
    'P' :  s := 'Pause ('+racingStatus+')';
    'R' :  s := 'Läuft ('+racingStatus+')';
    'S' :  s := 'Gestoppt ('+racingStatus+')';
  end;
  
  // String für Cockpit.Parameter zusammensetzen
  case realTimeStatus of
    0 :  p := 'Vor Session Start. ('+IntToStr(realTimeStatus)+'). ' +
              'Nächster Parameter: (1).';
    1 :  p := 'Session läuft ('+IntToStr(realTimeStatus)+'). ' + 
              'Nach Pause nur (1).';
    2 :  p := 'Start mit Ampel. Sequenz ('+IntToStr(realTimeStatus)+') ' +
              ' -> (0) -> (1).';
    3 :  p := 'Sieger ist im Ziel ('+IntToStr(realTimeStatus)+').';
    4 :  p := 'Session beendet ('+IntToStr(realTimeStatus)+').';
    5 :  p := 'Nicht verwendet.';
    6 :  p := 'Chaos ('+IntToStr(realTimeStatus)+').';
    7 :  p := 'Chaos mit Nachlaufzeit ('+IntToStr(realTimeStatus)+').';
    8 :  p := 'Nicht verwendet.';
    9 :  p := 'Session abgebrochen ('+IntToStr(realTimeStatus)+').';
  end;
  
  // Strings in Datei protokollieren
  Cockpit.WriteLog := '-----  Code-Beispiel RacingMode, RacingStatus ' +
                      'und ChangeRealTimeStatus  -----';
  Cockpit.WriteLog := 'Rennmodus            (cpGetRacingMode)  : ' + m;
  Cockpit.WriteLog := 'Rennstatus           (cpGetRacingStatus): ' + s;
  Cockpit.WriteLog := 'ChangeRealTimeStatus (Cockpit.Parameter): ' + p;
  Cockpit.WriteLog := '------------------------------------------------' +
                      '-----------------------------';
  
  // Strings als Meldung anzeigen
  cpShowMessage('RennModus: ' + m + CrLf +
                'RennStatus: ' + s + CrLf +
                'Cockpit.Parameter: ' + p );

end.


Dieser Code schreibt den aktuellen Rennstatus in die String-Variable RennStatus.
Somit kann man gezielt vor allem im ChangeRealTime Event je nach Status weitere Aktivitäten programmieren wie z.B wenn Chaos ausgelöst wurde dann ermittle Chaosauslöser, wenn Session zu Ende dann resete alle Variablen, wenn Quali zu Ende dann blende Strataufstellung ein etc.

Screenshot 1 - Statusabfolge Ampelstart

Screenshot 2 - Status Rennen pausiert (Chaos)

Screenshot 3 - Status nach Aufruf eines Rennbildschirms



Start - FAQ - Glossar - Sitemap - Impressum