Konverter fürs Namenschema Datenwechsel- & Taktpunktliste

Tragen Sie hier Ihre Wünsche und Anregungen für zukünftige BAHN- und Editorenversionen ein!
Antworten
Romulus
Beiträge: 8
Registriert: Sonntag 18. September 2016, 14:00

Konverter fürs Namenschema Datenwechsel- & Taktpunktliste

Beitrag von Romulus »

Ich 'spiele' mit einem Netz, dass seit 3.20 gewachsen ist. Im Laufe der Zeit wurde das Namenschema für Linienwechsel/Datenwechsel und Taktpunkten geändert. Das Problem ist, wenn ich z.B. fremde Netze in mein Netz kopiere, dann werden die kopierten Namen sowieso über den Haufen geworfen.

Während ich bei den 310 Taktpuntken schon relativ eine Ordnung drin habe, fallen mir noch die 221 Datenwechsel auf - und da geht rund her: z.B. DW_000159, DW_000235_00, DW_00110, LW_0014, LW_0117, LWP13, LWP124.

Ich müsste nun jeden einzelnen aufrufen. Könnte da nicht eine Routine geschrieben werden, die es mir ermöglicht alle Dinge einfach von vornherein neu zu numerieren?
jf007
Beiträge: 133
Registriert: Dienstag 26. September 2006, 03:11
Wohnort: Berlin

Re: Konverter fürs Namenschema Datenwechsel- & Taktpunktlist

Beitrag von jf007 »

Mit einem Texteditor findest du alle Datenwechselpunkte in Reih' und Glied (und je nach gewähltem Editor auch direkt mit Zeilenumbrüchen). Da kannst du dann relativ unaufwändig die Datenwechselpunkte beliebig umnennen.

Das automatisierte Verändern geht mit PHP auch ganz gut, da könntest du sie gleich automatisch neu benennen.
Romulus
Beiträge: 8
Registriert: Sonntag 18. September 2016, 14:00

Re: Konverter fürs Namenschema Datenwechsel- & Taktpunktlist

Beitrag von Romulus »

Also meine Netzdatei ist nicht Text-Formatiert. Ich wollte alle Wechselpunkte, die in meinem Netz vorhanden sind, auf einem Rutsch nach dem neuen Schema benannt haben, und dann mit dem Netz weiter arbeiten.
jf007
Beiträge: 133
Registriert: Dienstag 26. September 2006, 03:11
Wohnort: Berlin

Re: Konverter fürs Namenschema Datenwechsel- & Taktpunktlist

Beitrag von jf007 »

Ganz im Ernst: wenn dir die Umbenennung dieser Wechselpunkte so wichtig ist, konvertierste das Netz einfach in eine aktuelle 3.88 oder 4.00-Version und bastelst das kurz mit nem Texteditor hin. Oder übersehe ich irgendeine sich aufbauende Hürde?
Romulus
Beiträge: 8
Registriert: Sonntag 18. September 2016, 14:00

Re: Konverter fürs Namenschema Datenwechsel- & Taktpunktlist

Beitrag von Romulus »

Wenn das ab 3.88 möglich ist, ist die einzige Hürde, dass ich noch mit der 3.87 arbeite - Jan habe ich vor zwei Tagen wegen Upgrade per Mail angeschrieben. :wink:

Aber bei den Neuerungen zu 3.88 stand ja auch nichts von einem anderen Netz-Format oder ähnlichem.
Romulus
Beiträge: 8
Registriert: Sonntag 18. September 2016, 14:00

Re: Konverter fürs Namenschema Datenwechsel- & Taktpunktlist

Beitrag von Romulus »

Kaum geschrieben, schon kam die Antwort und nun habe ich die 3.88 :wink:
Ja, die Dateien sind ab 3.88 im XML-Format und im Text-Editor änderbar. Mit Reg-Expr. geht das ja auch sehr einfach 8)
Jan Bochmann
Beiträge: 2199
Registriert: Sonntag 16. März 2003, 15:25
Kontaktdaten:

Re: Konverter fürs Namenschema Datenwechsel- & Taktpunktlist

Beitrag von Jan Bochmann »

Guten Tag,
jf007 hat geschrieben:Ganz im Ernst: wenn dir die Umbenennung dieser Wechselpunkte so wichtig ist, konvertierste das Netz einfach in eine aktuelle 3.88 oder 4.00-Version und bastelst das kurz mit nem Texteditor hin. Oder übersehe ich irgendeine sich aufbauende Hürde?
Im Prinzip kann man das so machen. Es sind aber doch ein paar Dinge zu beachten.

0. Eine Sicherungskopie des Netzes anlegen.

1. Der Editor muß mit der Kodierung "UTF-8 ohne BOM" umgehen können. D.h. er muß das korrekt einlesen und auch wieder so speichern. Ich verwende für solche Zwecke den "Notepad++" (Freeware, kann man z.B. vom Heise-Verlag downloaden). Der gewöhnliche Notepad von Windows lädt zwar, scheitert aber beim speichern (jedenfalls unter Win7 fügt er immer die BOM-Kennung an).

2. Das Netz darf keine angehängten Binärdateien haben (nutzerdef. Grafiken, Hintergrundbild). Man sollte es also in BAHN ohne diese Option speichern. Hinterher kann man sie ja wieder setzen. Generell ist diese Option mehr zum Veröffentlichen von Netzen gedacht statt für die regelmäßige Bearbeitung, weil die Netzdateien damit sehr groß werden können.

3. Der Bereich mit den Datenwechselpunkten beginnt mit

Code: Alles auswählen

<DwxPkte
und endet mit

Code: Alles auswählen

</DwxPkte>
. Nach beidem kann man im Editor suchen. Wenn der Bereich fehlt, dann enthält das Netz keinen Datenwechselpunkt. Man sollte auch keinen manuell einfügen, weil dann auch noch an anderen Stellen in der Datei Änderungen nötig wären. Genauso sollte man keinen löschen.

4. Jeder einzelne Datenwechselpunkt beginnt mit

Code: Alles auswählen

<C k3="
, dann folgen die Koordinaten und verschiedene andere Daten. Darunter ist auch der Name mit

Code: Alles auswählen

name=""
. Diesen kann man nahezu beliebig ändern. Dabei ist zu beachten, daß der neue Name formell den Bedingungen von BAHN entspricht (Länge max. 32 Zeichen, keine Leerzeichen usw.), und daß man keinen Namen versehentlich doppelt vergibt. BAHN prüft einiges davon beim Öffnen des Netzes und bricht das Laden mit einem Datenfehler ab, wenn irgendwas nicht stimmt. BAHN prüft aber nicht alles, weil das bei großen Netzen viel zu lange dauern würde. Bei doppelt vergebenen Namen gehen wahrscheinlich die Daten der entsprechenden Punkte verloren.
Man kann hier also auch einigen Schaden anrichten, der sich erst nach längerer Zeit auswirkt, wenn man die Ursache kaum noch finden und korrigieren kann.

Viel Erfolg,
Jan B.

edit: noch etwas ergänzt
Antworten