Jump to content

Problem beim Lesen von Tabellen-Daten


Recommended Posts

Hallo an alle Tabellen-, Listen und Variablen-Experten,

Ich bekomme beim Lesen von Tabellen einfach nicht das gewollte Ergebnis, sondern immer  wieder Fehlermeldungen. Trotz mehrerer Versuche bleibe ich erfolglos und bitte deshalb um Hilfe.

Ausgangssituation: Straßenverkehr - Kreuzung:  Fahrzeug  (Auslöser) soll beim Kontaktbetreten  Objektvariable speichern und Fahrstraße aktivieren. Funktioniert auch .

Da aber die Fahrstraßen-Aktivierung über die Kreuzung den Fahrweg nicht stellt, muss noch, über den definierten Zielkontakt, das Ziel im Fahrzeug  eingetragen werden um auch das Fahrzeug auf  der aktivierte Fahrstraße  auf den richtigen Weg zu bringen. Und das funktioniert bei mir leider nicht und hier bekomme ich einfach keine Lösung hin. Da ich LUA nicht beherrsche, bin ich auf das EV-Konzept angewiesen, was, ganz nebenbei bemerkt, eine hervorragende Methode ist, um indirekt zu programmieren.

Nachstehend jetzt ein paar Screenshots mit dem aktuellen Stand der Dinge.

Kreuzung.jpg.59fef9876311a4aadc8a2000e812303f.jpg

_______________________________________________________________________________________________________________________________________________________________________

Wege-Liste.jpg.d1a00f839dbb369e880f85835d46d81a.jpg1025435438_Fahrstraen.jpg.252a80e8c2580a1abf0f62c30fb5aca3.jpg

_______________________________________________________________________________________________________________________________________________________________________

Wege-Tabelle.jpg.e8c90e7e9a2c4489a7143ec31c592b07.jpg

_______________________________________________________________________________________________________________________________________________________________________

EV-Darstellung.thumb.jpg.803ffad53e0ca159be520e8e95841b02.jpg

_______________________________________________________________________________________________________________________________________________________________________

514103092_EValsLUA-Skript.thumb.jpg.614d78223172d49751b8aa8ee246fa51.jpg

_______________________________________________________________________________________________________________________________________________________________________

979460876_Gehtnicht.thumb.jpg.be0e1ea7c9b2bdffc2f0645d410f360c.jpg

_______________________________________________________________________________________________________________________________________________________________________

Wer kann mir bitte eine Lösung als EV-Schritt nennen oder Vorschläge für einen anderen Weg machen? Vielen Dank im Voraus

Freundliche Grüße Walter

Link to comment
Share on other sites

Hallo Walter,

du benutzt beim Auslesen der Tabelle das Fahrzeug als Index.
Das kann nicht funktionieren.

Index ist der Name eines Tabellenplatzes. Entweder ist das eine Nummer, wie in deiner Tabelle Wege-Liste L
Oder ein String, wie z.B. in deiner Tabelle Wege-Tabelle [L in - O out]
Dein auslösendes Fahrzeug ist weder das eine, noch das andere. Es ist ein Objekt.

Ich habe gerade leider nicht den Kopf frei, um tiefer in dein Vorhaben einzudringen.
Aber mit diesem Hinweise kannst du zumindest einen deiner Denkfehler korrigieren.

Im Übrigen schlage ich vor, dass du die Anlage beiseite legst, dir eine Minianlage baust und dann Stück für Stück darin Tabellen erstellst und ausliest. Erst mit einer Ebene, dann zwei, dann drei. Dein Ding ist viel zu groß und du verfummelst dich nur. Solche Dinge muss man sich Schritt für Schritt erarbeiten. Und zwar unabhängig von der eigentlichen Zielsetzung, damit man sich auf die Mechanismen konzentrieren kann, die man lernen möchte.

Bitte entschuldige.
Ich hatte nicht richtig hingeschaut.
Du benutzt als Index nicht das Fahrzeug, sondern den Inhalt einer Variablen in diesem Fahrzeug. Das ist natürlich okay!

Viele Grüße
Götz

 

Edited by Goetz
Link to comment
Share on other sites

Hallo Götz,

vielen Dank für Deine Rückmeldung und die nachträgliche Ergänzung. Es tut mir leid, wenn Du gerade den Kopf nicht frei hast und wünsche Dir, dass Du hoffentlich nicht mit schwerwiegenden Problemen kämpfen musst.

Ich habe ja doch leicht geschmunzelt - Woher weißt Du, dass die Anlage, um die es hier geht "zu groß" ist. Ja, zugegeben, es hat eine gewisse Dimension, aber ich arbeite mich von einem zum anderen Thema innerhalb des "Großen-Ganzen" und bin auch überzeugt, nicht den Überblick zu verlieren. Ich werde das Thema "Straßenkreuzung", so wie ich mir den Ablauf wünsche und vorstelle auch erst ganz fertigstellen, bevor andere Abläufe angegangen werden. Trotzdem danke ich Dir für den Ratschlag. Auch gebe ich gerne zu, dass mir bestimmt sehr viel Wissen um das Lesen von Tabellen fehlt. Ich werde daran arbeiten.

Um für mein angesprochenes Problem eine Lösung zu finden ist mir der Weg über den Eintrag einer "erweiterten Variablen" in der Fahrstraße, nämlich den Kontakt als Objekt dort zu hinterlegen zufällig gekommen. Es funktioniert auch, so dass der richtige Fahrweg im Fahrzeug eingetragen wir. Aber leider ist es nicht die Lösung für das Tabellen-Lesen.

Vielleicht hast Du ja in der nächsten Zeit die Möglichkeit doch noch eine Tabellen-/Variablen-Lösung zu finden. Ich würde mich sehr freuen.

Viele Grüße Walter

Ach, noch eine Frage zum Erstellen der Beiträge in diesem Forum: Mir fällt auf, dass Du Zeilen schreibst die Du offensichtlich mit der Return-Taste beendest, aber keinen zweizeiligen Abstand damit erzeugst. Bei mir ist immer eine ungewollte zusätzliche Leerzeile dazwischen. Was muss ich wo ein-oder verstellen. Danke für Deine Unterstützung.

Link to comment
Share on other sites

Hallo Walter,

ich habe es nicht ausprobiert, aber nach meiner Ansicht liegt die Fehlerursache darin, dass du den ersten Index in dem problematischen Block mit dem Fahrweg (Weg) des Fahrzeugs versorgst. Dies ist aber eine Fahrstraße. Der Index müsste ein String sein. Versuch es mal mit der Eigenschaft Name (Also: Auslöser (Fahrzeug) -> Variable Weg -> Eigenschaft Name.

Ansonsten kann ich (trocken) keinen Fehler erkennen.

Viele Grüße, Wolfgang

 

Link to comment
Share on other sites

vor 44 Minuten schrieb WalterW:

dass Du hoffentlich nicht mit schwerwiegenden Problemen kämpfen musst.

Danke, Walter.
Es ist nichts schwerwiegendes. Nur etwas, das meine Aufmerksamkeit erfordert / mich beschäftigt.

vor 46 Minuten schrieb WalterW:

Bei mir ist immer eine ungewollte zusätzliche Leerzeile dazwischen.

Wenn ich gleichzeitig die Shift und die Return Taste drücke, bekomme ich den einfachen Zeilenumbruch. Klappt leider nicht mit z.B. dem Handy. Ich brauche dafür eine richtige Tastatur.

Viele Grüße
Götz

Link to comment
Share on other sites

46 minutes ago, WalterW said:

...Oh, one more question about creating the posts in this forum: I notice that you write lines that you obviously end with the return key, but you don't create a two-line spacing with it. I always have an unwanted additional blank line in between. What do I have to set or adjust where? Thanks for your support.

Use 'Shift-Enter' for a new line, without the double spacing. This is 'Enter'...

This is 'Shift-Enter'...
There, no double line spacing. Hope this helps.

Verwenden Sie 'Shift-Enter' für eine neue Zeile, ohne den doppelten Abstand. Das ist 'Eingabe'...

Das ist 'Shift-Enter'...
Dort kein doppelter Zeilenabstand. Hoffe das hilft.

Link to comment
Share on other sites

Hallo Prinz,

vielen Dank für Deinen Gedankenansatz. Ich glaube mittlerweile auch, das der Datentyp "Fahrstrasse" etwas mit dem Problem zu tun hat.
Für mich stellt sich dann aber die Frage: Es gibt den Typ "Num" also nummerisch, Zahl oder Ziffer usw. und den Typ "String" also alphanummerische Zeichen außer besonderer Sonderzeichen. Soweit ok. Was ist dann aber der Typ "Fahrstrasse" ? Für mich sieht die "erweiterte Variable" - "Weg" im Objekt Fahrzeug nicht abweichend von einem String aus.
Ist aber offensichtlich doch so. Und wenn ich mir die Tabelle "Wege-Liste L" anschaue, dann sind die Variablen darin halt "Fahrstrassen". Muss man/frau halt wissen und entsprechend handeln (aber denkt jeder beim nächsten mal auch daran? Ich für mich bezweifle das).
Trotzdem würde mich interessieren, ob eine Lesen über den Weg einer Tabelle möglich ist. Der Hintergrundgedanke ist, dass ich so wenig wie möglich in Objekten sondern mehr in Modul-Variablen möchte, weil beim kopieren von Ereignissen damit auch mehr Variable kopiert werden.

Danke nochmals für Deine Antwort. Es war sehr hilfreich.
Freundliche Grüße Walter

Link to comment
Share on other sites

Hallo Götz,

ich danke Dir für Deine Antwort. Zum Glück ist es für Dich offensichtlich "nur" eine Aufgabe des täglichen Handelns. 
Vielleicht hast Du ja doch irgendwann mal einen "Blitz"-Gedanken, der meiner Frage nach dem Lesen aus einer Tabelle mit dem "Variablen-Typ" - "Fahrstrasse" näher kommt.
Siehe hierzu die Antwort von "Prinz" an mich und meine Antwort darauf an ihn.
Danke auch noch mal für den Hinweis mit dem Zeilen-Umbruch ohne ungewollte Leerzeile. Funktioniert prima.

Freundliche Grüße
Walter

Link to comment
Share on other sites

Hallo Walter,

wenn Du Deine Anlage zur Verfügung stellst, kann ich das gerne überprüfen. Es müsste so sein, wie ich geschrieben habe: Mit der Fahrstrasse wird kein gültiger Eintrag gefunden (ist ja dort ein anderer Typ: String) und dann läuft die nächste Adressierung auf ein leeres Element (Nil).

Liebe Grüße, Wolfgang

Link to comment
Share on other sites

Hallo Götz und hallo Wolfgang,

euch beiden ein Dankeschön für den wohl richtigen Gedankenansatz, dass die Verwendung einer "Fahrstraße" zur Indizierung einer Tabelle nicht funktionieren kann, weil, und so habe ich es mittlerweile herausgefunden, eine "Fahrstraße" offensichtlich dem Typ "Objekt" zugeordnet werden muss. Hierfür spricht, dass einer "Fahrstraße" erweiterte Variablen zugeordnet werden können, was bei einer reinen Variablen nicht möglich ist. Dagegen spricht, dass eine Selektionsanzeige mit der Taste F3 zwar Objekte, aber keine Fahrstraßen anzeigt. Deswegen ist zur Anzeige von Fahrstraßen offensichtlich ein zusätzliches "Ansichten-Fenster" entwickelt worden.
Also für mich persönlich treffe ich folgende Definitionsentscheidung: Fahrstraßen, wenn sie angelegt sind, sind "existierende aber nicht direkt sichtbare Objekte".
Und damit ist bewiesen, dass eure Gedanken für meine Problem der richtige Ansatz waren: Mit einem Objekt lässt sich keine Tabelle indizieren (was logisch ist).

Aus dieser Erkenntnis heraus betrachte ich meine Problemfrage als erledigt und danke allen, die mir geholfen haben.
Es tut gut, solchen Gedankenaustausch betreiben zu können. (y)

Liebe Grüße
Walter

Link to comment
Share on other sites

Hallo Walter,

vor 2 Minuten schrieb WalterW:

sind "existierende aber nicht direkt sichtbare Objekte"

aus Sicht einer Programmiersprache sind Fahrstraßen zwar Objekte, im Kontext der Ereignisverwaltung wird als Objekt aber nur ein 3D-Modell verstanden. Fahrstraßen und Ereignisse sind eigene Typen, die mit dem 3D-Modell-Typ nichts gemeinsam haben.

Viele Grüße,

Neo

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...