BR 218 - Stundenzeiger läuft rückwärts

Hier bitte zu Führerstandsprojekten (Grafik, Konfiguration) diskutieren.
Nachricht
Autor
Benutzeravatar
Holger Maaß
Beiträge: 1037
Registriert: 18.07.2016 16:56:45
Aktuelle Projekte: TriFan/ZusiOSBridge
ZusiMeter 2021
ZusiStart
ZusiObjektAlbum
nette Tools für nette Zusianer
Wohnort: Berlin

Re: BR 218 - Stundenzeiger läuft rückwärts

#21 Beitrag von Holger Maaß »

Oh je, dieser Ordner hat sich vor mir bisher versteckt - vermutlich falsche Brille ;).

Ja, natürlich schreibe ich alle Attribute wieder zurück, aber in den .ftd-Dateien auf meiner Festplatte ist dieses eine Attribut (bezieht sich auf die PN) schlicht und ergreifend nicht vorhanden. Und so wird nicht zurück geschrieben, was vorher nicht gelesen wurde ;D .

So, von Programmierer zu Programmierer:

Code: Alles auswählen

    protected List<Attribute> _attributes = new List<Attribute>();
    protected List<ZusiObject> _objects = new List<ZusiObject>();

    ...

    // aus dem c'tor, x wird als 'XElement x' an den c'tor übergeben

    foreach (XAttribute xa in x.Attributes())
    {
        _attributes.Add(new Attribute() { Name = xa.Name.LocalName, Value = xa.Value });
    }

    foreach (XElement xc in x.Elements())
    {
        ZusiObject obj = Fabric(xc);
        if (obj != null)
        {
            _objects.Add(obj);
        }
    }
Fabric gibt für bekannte Elemente die entsprechende Klasseninstanz zurück, sonst ein ZusiGenericObject. Da fällt nichts unter den Tisch ;)

Wenn Bedarf besteht, kann ich ja mal das eine oder andere XML-Schema kreieren.

Gruß
Holger
Zuletzt geändert von Holger Maaß am 24.07.2017 20:11:41, insgesamt 1-mal geändert.
If you can't fix it with a hammer, it might be an electrical problem ...
Wenn es auch das nicht ist, schreibe an service ät zusi-tools punkt org.

Benutzeravatar
F. Schn.
Beiträge: 6629
Registriert: 24.10.2011 18:58:26

Re: BR 218 - Stundenzeiger läuft rückwärts

#22 Beitrag von F. Schn. »

Ich glaube Johannes meint was anderes: Der XML-Serializer bietet das System.Xml.Serialization.XmlAnyAttributeAttribute. Mit dem Member kann man im XML-Serializer sich alle Attribute merken und zurückschreiben, auch die, die man noch nicht kennt. (Wie man das analog unter Linq macht, soll jemand erklären, der da mehr Erfahrung hat als ich...)
Diese Signatur möchte folgendes bekannter machen: ZusiWiki · ZusiSK: Streckenprojekte · YouTube: Objektbau für Zusi · euirc: Zusi-Chat

Benutzeravatar
Holger Maaß
Beiträge: 1037
Registriert: 18.07.2016 16:56:45
Aktuelle Projekte: TriFan/ZusiOSBridge
ZusiMeter 2021
ZusiStart
ZusiObjektAlbum
nette Tools für nette Zusianer
Wohnort: Berlin

Re: BR 218 - Stundenzeiger läuft rückwärts

#23 Beitrag von Holger Maaß »

Mit Linq würde man so was in der Art wie

Code: Alles auswählen

List<AnyAttribute> attrs = xml.Select().ToList();
... und später ...

Code: Alles auswählen

attrs.ForEach(a => a.Write(xmlWriter));
schreiben. Allerdings sind die Linq-Funktionen nicht immer die schnellsten und besten. Die foreach-Schleife da oben IST schneller!

Gruß
Holger
If you can't fix it with a hammer, it might be an electrical problem ...
Wenn es auch das nicht ist, schreibe an service ät zusi-tools punkt org.

Benutzeravatar
Zimmer
Beiträge: 1001
Registriert: 20.12.2003 01:45:59
Aktuelle Projekte: Selbst + ständig = selbständig. :D
Wohnort: Kaiserslautern

Führerstand DL V218 - Gruppenschalter

#24 Beitrag von Zimmer »

Moin,

mir ist aufgefallen, daß der Gruppenschalter II immer in der Taststellung "ab" angezeigt wird. Wenn nicht DT, dann sollte er aber in der Raststellung "aus" stehen. Ist nur eine minimale Sache, die aber doch 3-4 je Fahrt für kurze innere Unruhe sorgt.

Zusatzwunsch: Bei DT Gruppenschalter II in an :)

Grüße

Johannes

Antworten