Fehlende Zeichenüberprüfung bei Wochentagen

Es gibt Probleme mit BAHN und Co.? Dann einfach hier posten!
Antworten
Benutzeravatar
GNock
Beiträge: 433
Registriert: Mittwoch 25. März 2009, 02:55
Wohnort: Hamburg
Kontaktdaten:

Fehlende Zeichenüberprüfung bei Wochentagen

Beitrag von GNock »

Hallo, es ist mal wieder ein guter Tag zum Schreiben.

Ich gehöre zu den Hinterhinkenden, die noch mit der 3.84 ihr 3.83-Netz überarbeiten, daher weiß ich nicht, ob dieser Fehler in der 3.85 schon behoben wurde (mein Laptop muckscht gerade, deshalb kann ich es nicht selbst überprüfen). Und ich beginne jetzt vereinzelt, Wochentage zu nutzen, im vorliegenden Fall in der Eingabezeile eines Schaltkontaktes.

Code: Alles auswählen

Originalzeile alt:     S2(z=15:33-16:17 +16:43-16:47)
[/size]
Nun soll das freitags nicht
gelten; ich gebe also
FALSCH, nämlich mit Komma
ein:

Code: Alles auswählen

Eingabe:               S2(z=sa-do,15:33-16:17 +16:43-16:47)
Ergebnis:              S2(z=Mo-Do+Sa+So:0:00-15:33 +16:43-16:47)
[/size]
M.a.W., BAHN erwartet nach dem letzten Wochentag entweder "+" oder ":". Das Komma wurde interpretiert als Zeitangabe (0:00 Uhr), das "bis"-Zeichen wurde gar nicht erwartet und die VON-Zeit als BIS-Zeit übernommen. Danach erfolgte nur noch eine Überprüfung auf Ausdruckende ")" oder nächster Ausdruck"+".

Ich denke, eine Fehlermeldung hier ist sehr hilfreich.
------------------------------------------------------


Nun will ich nicht in der Wunschrubrik einen neuen Thread aufmachen, deshalb hänge ich meine Gedanken gleich hier an: Die Eingabe soll für beide Zeiträume gelten:

S2(z=Mo-Do+Sa+So:15:33-16:17 +Mo-Do+Sa+So:16:43-16:47)

Nun sind Klammern eine wunderbare Sache, wie wir schon bei den logischen Operatoren gesehen haben. Ist es zukünftlich möglich, die Eingabe verkürzt (und m.E. übersichtlicher) gestalten zu können:
:idea:
S2(z=Mo-Do+Sa+So:(15:33-16:17 +16:43-16:47))

Derzeit erhält man Fehler Nr. 356: Zeitangabe erwartet


Ein schönes Wochenende
Gerd
Benutzeravatar
micha88
Beiträge: 1989
Registriert: Freitag 18. Februar 2005, 12:50
Wohnort: Marbach am Neckar
Kontaktdaten:

Re: Fehlende Zeichenüberprüfung bei Wochentagen

Beitrag von micha88 »

GNock hat geschrieben:Nun soll das freitags nicht
gelten; ich gebe also
FALSCH, nämlich mit Komma
ein:

Code: Alles auswählen

Eingabe:               S2(z=sa-do,15:33-16:17 +16:43-16:47)
Ergebnis:              S2(z=Mo-Do+Sa+So:0:00-15:33 +16:43-16:47)
[/size]
M.a.W., BAHN erwartet nach dem letzten Wochentag entweder "+" oder ":". Das Komma wurde interpretiert als Zeitangabe (0:00 Uhr), das "bis"-Zeichen wurde gar nicht erwartet und die VON-Zeit als BIS-Zeit übernommen. Danach erfolgte nur noch eine Überprüfung auf Ausdruckende ")" oder nächster Ausdruck"+".

Ich denke, eine Fehlermeldung hier ist sehr hilfreich.
In BAHN 3.85 erscheint mit diesem Datenwechsel-Eintrag:
Fehler 852: Datenwechsel unvollständig.
Bild
Benutzeravatar
GNock
Beiträge: 433
Registriert: Mittwoch 25. März 2009, 02:55
Wohnort: Hamburg
Kontaktdaten:

Re: Fehlende Zeichenüberprüfung bei Wochentagen

Beitrag von GNock »

micha88 hat geschrieben:In BAHN 3.85 erscheint mit diesem Datenwechsel-Eintrag:
Fehler 852: Datenwechsel unvollständig.
Hm, kopfkratz, kopfkratz, es gibt ja Dinge, die lassen einem keine Ruhe, selbst wenn man den Klapprechner über die Tastatur steuern muss.

Also, wie aus der Grafik ersichtlich, habe ich die 3.85 - werde sie noch heute auf meinen PC überspielen. Weiters wurde die Eingabezeile genau so ausgewertet, wie ich es beschrieben hatte - ohne Fehlermeldung:
S2(z=Mo-Do+Sa+So:0:00-15:33 +16:43-16:47)
Wochentag.gif
Dabei macht es keinen Unterschied, ob ich zuerst nur eine zeitliche Beschränkung für alle Wochentage habe und diese dann mit der fehlerhaften Eingabe erweitere oder ob ich die fehlerhafte Eingabe als Ganzes in eine jungfräuliche Eingabezeile schreibe. Stellt sich also die Frage: Wieso kriegst du eine Fehlermeldung und ich nicht? :cry:
Sie haben keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Benutzeravatar
micha88
Beiträge: 1989
Registriert: Freitag 18. Februar 2005, 12:50
Wohnort: Marbach am Neckar
Kontaktdaten:

Re: Fehlende Zeichenüberprüfung bei Wochentagen

Beitrag von micha88 »

:oops: ich nehme alles zurück und behaupte das Gegenteil. Die von mir beschriebene Fehlermeldung kam aus einem ganz anderen Grund. Ich habe den Ausdruck in einem Datenwechselpunkt probiert, wo es natürlich ohne weitere Parameter, die etwas ändern (bzw. Daten wechseln), quatsch ist.
Zum Beispiel an einer Weiche passiert bei mir genau das gleiche wie bei dir.

Nun wieder zum eigentlichen Problem - Vermutlich fehlt da eine Kontrolle in BAHN die diesen Syntaxfehler ausschließt... das Ergebnis sieht ja dann auch recht undefiniert aus.
Bild
Benutzeravatar
GNock
Beiträge: 433
Registriert: Mittwoch 25. März 2009, 02:55
Wohnort: Hamburg
Kontaktdaten:

Re: Fehlende Zeichenüberprüfung bei Wochentagen

Beitrag von GNock »

Jo, schame dir :wink:

Und damit es nicht vergessen wird, bevor JanBo hier antwortet:

Aus
S2(z=Mo-Do+Sa+So:15:33-16:17 +Mo-Do+Sa+So:16:43-16:47)

könnte mit Klammern verkürzt werden:
S2(z=Mo-Do+Sa+So:(15:33-16:17 +16:43-16:47))

Und nu ist's Zeit für dinner
Ich spielte bei offenem Fenster mit BAHN, und da habe ich ein wenig Zug abgekriegt...
Rolf R
Beiträge: 2190
Registriert: Donnerstag 20. November 2003, 20:41
Wohnort: Erfurt

Re: Fehlende Zeichenüberprüfung bei Wochentagen

Beitrag von Rolf R »

Hilfreich wäre hier, eine "Negativ-Vorgabe",
z.B. Statt Mo-Do+Sa+So z.B. -Fr bzw. -(Fr+Sa) für alle Tage außer Fr und Sa. Das würde die Eingabe
deutlich einfacher machen.
Stellt natürlich die Frage, die eigentlich aber nur Jan B. beantworten kann, ob dies möglich ist und wenn
ja, mit welchen Aufwand.
In der Tat hat Gerd Recht, wenn er für eine "außer Fr"-Geschichte an jedem DW,TP etc. jedesmal die
ganze Litanei eingeben muss, ist das fast eine Lebensaufgabe :wink: .
Im Moment hilft aber nur Selbsthilfe: zur Not eine 2. Linie "S2Fr", dann wird der Schreibaufwand auf jeden
Fall geringer.

Viel Spaß noch wünscht
Rolf
Mein Link-Tipp zu BAHN: http://www.gerdinoack.de. Dort findet Ihr Filme und Grafiken zu BAHN von Gerd (Username gnock) und mein neues Fahrzeugarchiv, das auch unter dem neuen Direktlink www.gerdinoack.de/Fahrzeugarchiv_385/ zu erreichen ist.
Benutzeravatar
micha88
Beiträge: 1989
Registriert: Freitag 18. Februar 2005, 12:50
Wohnort: Marbach am Neckar
Kontaktdaten:

Re: Fehlende Zeichenüberprüfung bei Wochentagen

Beitrag von micha88 »

Rolf R hat geschrieben:Hilfreich wäre hier, eine "Negativ-Vorgabe",
z.B. Statt Mo-Do+Sa+So z.B. -Fr bzw. -(Fr+Sa) für alle Tage außer Fr und Sa. Das würde die Eingabe deutlich einfacher machen. Stellt natürlich die Frage, die eigentlich aber nur Jan B. beantworten kann, ob dies möglich ist und wenn ja, mit welchen Aufwand. In der Tat hat Gerd Recht, wenn er für eine "außer Fr"-Geschichte an jedem DW,TP etc. jedesmal die ganze Litanei eingeben muss, ist das fast eine Lebensaufgabe :wink: .
Im Moment hilft aber nur Selbsthilfe: zur Not eine 2. Linie "S2Fr", dann wird der Schreibaufwand auf jeden Fall geringer.
Wieso? Die einfache und kurze Eingabe Sa-Do wird von BAHN durchaus korrekt verstanden, wenn man nicht ausversehen dort ein Komma statt einem Doppelpunkt schreibt. BAHN macht daraus dann lediglich Mo-Do+Sa+So. Genauso werden z.B. auch Angaben wie Mo+Di+Mi+Do+Sa+So automatisch zu Mo-Do+Sa+So. Hat einfach den Vorteil, dass es für eine Datumsangabe auch immer nur genau eine eindeutige Schreibweise gibt. Außer Freitags und Sonnabends kannst du einfach mit So-Do eingeben, was sogar kürzer als -(Fr+Sa) ist.

Die von dir vorgeschlagene Negativ-Schreibweise wäre sehr problematisch, da ja das Minus in Zeitangaben schon verwendet wird - wenn man es konsequent auf die kompletten bisherigen Möglichkeiten der Zeitangabe anwenden würde, müssten dann z.B. auch solche Angaben zulässig sein: 4:00-23:00-6:00-8:00-14:00-16:00 (4 Uhr bis 23 Uhr, außer HVZ 6 Uhr bis 8 Uhr, außer 14 Uhr bis 16 Uhr --> effektiv gültig 4:00-6:00+8:00-14:00+16:00-23:00)
Letztenendes sehe ich bei der Schreibweise keine Vereinfachung der Eingabe von Zeitangaben, aber dafür große Chancen, sich zu verschreiben und aufgrund der komplexen Syntax doch etwas formal gültiges (aber ungewolltes) zu produzieren.
Die von Gerd vorgeschlagene Klammer-Schreibweise scheint mir da noch sinnvoller, wenngleich u.U. auch recht komplex.
Bild
Jan Bochmann
Beiträge: 2211
Registriert: Sonntag 16. März 2003, 15:25
Kontaktdaten:

Re: Fehlende Zeichenüberprüfung bei Wochentagen

Beitrag von Jan Bochmann »

Guten Tag,
GNock hat geschrieben:Hallo, es ist mal wieder ein guter Tag zum Schreiben.

Ich gehöre zu den Hinterhinkenden, die noch mit der 3.84 ihr 3.83-Netz überarbeiten, daher weiß ich nicht, ob dieser Fehler in der 3.85 schon behoben wurde (mein Laptop muckscht gerade, deshalb kann ich es nicht selbst überprüfen). Und ich beginne jetzt vereinzelt, Wochentage zu nutzen, im vorliegenden Fall in der Eingabezeile eines Schaltkontaktes.

Code: Alles auswählen

Originalzeile alt:     S2(z=15:33-16:17 +16:43-16:47)
[/size]
Nun soll das freitags nicht
gelten; ich gebe also FALSCH, nämlich mit Komma ein:

Code: Alles auswählen

Eingabe:               S2(z=sa-do,15:33-16:17 +16:43-16:47)
Ergebnis:              S2(z=Mo-Do+Sa+So:0:00-15:33 +16:43-16:47)
[/size]
M.a.W., BAHN erwartet nach dem letzten Wochentag entweder "+" oder ":". Das Komma wurde interpretiert als Zeitangabe (0:00 Uhr), das "bis"-Zeichen wurde gar nicht erwartet und die VON-Zeit als BIS-Zeit übernommen. Danach erfolgte nur noch eine Überprüfung auf Ausdruckende ")" oder nächster Ausdruck"+".

Ich denke, eine Fehlermeldung hier ist sehr hilfreich.
------------------------------------------------------
Die Interpretation des Kommas ist erstmal durchaus richtig, weil es auch die gültige Kurzschreibweise Wochentag(e) ohne Zeit gibt.

Beispiel an einer Weiche:

Code: Alles auswählen

S2(z=mo-fr)
[/size]
bedeutet gültig für S2 an Mo-Fr jeweils von 0:00 bis 24:00.

Entsprechend an einem Datenwechsel:

Code: Alles auswählen

S2(z=mo-fr, L=S1)
[/size]
bedeutet Wechsel von S2 auf S1 an Mo-Fr jeweils von 0:00 bis 24:00.

Daher setzen ein Komma oder eine schließende Klammer nach Wochentagen die Zeit auf 0:00 und ergänzen im Fall von Zeitabschnitten als zweite Zeit 24:00 bzw. genaugenommen den nächsten Wochentag:0:00. Zum Fehler führt hier daher nicht das versehentlich geschriebene Komma, sondern die darauf folgende und gar nicht erwartete Zeitangabe. Allerdings funktioniert die Interpretation der Kurzschreibweise im Moment ohnehin nicht immer, z.B. nicht bei ausgeschalteter Trennung von Zeitangaben mittels Doppelpunkt. Deshalb wird das Ganze ohnehin noch etwas korrigiert. Danke für den Hinweis.
GNock hat geschrieben: Nun will ich nicht in der Wunschrubrik einen neuen Thread aufmachen, deshalb hänge ich meine Gedanken gleich hier an: Die Eingabe soll für beide Zeiträume gelten:

S2(z=Mo-Do+Sa+So:15:33-16:17 +Mo-Do+Sa+So:16:43-16:47)

Nun sind Klammern eine wunderbare Sache, wie wir schon bei den logischen Operatoren gesehen haben. Ist es zukünftig möglich, die Eingabe verkürzt (und m.E. übersichtlicher) gestalten zu können:
:idea:
S2(z=Mo-Do+Sa+So:(15:33-16:17 +16:43-16:47))
So etwas ist derzeit nicht vorgesehen.

Grüße
Jan B.
Antworten