Fahrscheindrucker Skript auslesen von Daten aus der .hof

Willkommen in der OMSI-WebDisk!
Als Gast kannst du nur Inhalte in deiner ausgewählten Sprache sehen. Registrierte Nutzer können die Sichtbarkeit anderer Sprachen in ihrem Kontrollzentrum aktivieren, weitere Infos hier.
Alle Themen sind in den Foren mit einer Sprachflagge gekennzeichnet: = Englisch [EN], = Deutsch [DE], = Französisch [FR]. Wenn du die angegebene Sprache nicht beherrschst, schreibe auf Englisch!
  • Hallo,


    ich möchte gerne mein IVU Fahrscheindrucker Skript um ein paar Funktionen erweitern.

    Hierzu will ich ein Fahrtenauswahlmenü erstellen.

    Funktionen soll es so, dass ich eine Linie eingebe und dann alle Routen mit der dazugehörigen End- & Starthaltestelle erscheinen, die für diese Linie in der Hofdatei eingetragen wurden.

    Zur bildlichen Darstellung, habe ich noch ein Bild aus dem Internet angehangen.

    Das Skript, um die Linie einzugeben besteht bereits. Auch die Oberfläche für das Fahrtenauswahlmenü, jedoch hier ohne Funktionen, da mir nicht bekannt ist, wie ich die notwendigen Informationen aus der Hofdatei entnehmen kann.


    Ich hoffe ich habe mein Problem verständlich dargestellt und würde mich sehr über eine helfende Antwort freuen.


    Grüße

    Simon

  • Eingegebene Liniennummer*100+Routencode (hier Fahrtnummer) = in der Hofdatei hinterlegter Routencode.

    Davon holst du dir den Routenindex. Dann holst du dir von der ersten Haltestelle in der Route (Index 0) den Busstop-Index und und damit dann den darzustellenden String (der IBIS2-String sollte ausreichen). Für die letzte Haltestelle holst du dir den Busstop-Index der letzten Haltestelle in der Route (Index = Anzahl der Haltestellen-1) und damit wieder den darzustellenden String.

  • Vielen Dank für die Hilfe, ich habe nun versucht es einzupflegen und habe Parallel dazu noch ein Problem gefunden.

    Ich wollte die Ankunftszeiten der momentanen Haltestelle auslesen.

    Dazu habe ich folgendes Skript geschrieben


    Nun gibt es jedoch ein Problem, wenn auf dem FareMaster Drucker die letzte Haltestelle Krankenhaus (Bild 1) kommt sieht es auf der Test Anzeige so aus (Bild 2). Auch bei der Rücktour gibt es dann wieder Probleme. Wenn ich bei der Rücktour wieder Nordspitze Bauernhof bin (Bild 3), ist die Test Anzeige noch bei den letzten 3 Haltestellen (Bild 4).

    Gibt es dort eine Möglichkeit diese Fehler zu beheben?

    Grüße
    Simon

  • (L.L.IBIS_busstop) 0 (M.V.GetTTBusstopCount) <=

    Da ist auf jeden Fall die 0 zu viel.


    (M.V.GeTTBusstopCount) gibt die Anzahl der Haltestellen im Fahrplan zurück, IBIS_busstop ist aber der Index der Routen-Haltestelle (also nullbasiert). Heißt in der jetzigen Variante hast du da einen Logikfehler drinnen: Wenn im Fahrplan 43 Haltestellen vorhanden sind, kann IBIS_busstop nur bis 42 gehen, weil bei Wert 43 die 44. Haltestelle der Route gewählt werden würde, die es ja nicht gibt. Das gleiche hast du bei (M.V.GetTTBusstopArr). Der Index für das Makro ist ebenfalls nullbasiert und könnte in dem Beispiel auch nur bis 42 gehen. Alles darüber fragt Daten ab, die nicht vorhanden sind. Richtig wäre also (ohne Gewähr):