Seite 1 von 1

BAHN4 beta4 Fahrwegelemente: Löschen von Funktionen

Verfasst: Samstag 16. Mai 2015, 15:00
von Rolf R
Ich hab's gerade wieder erlebt: Ich wollte einen Schalt um ein paar Fahrstraßen ergänzen und habe aus Versehen auf den "Funktion Löschen"-Button geklickt :oops: . Ok - eigene Blödheit, die bestraft wurde.
Glücklicherweise ließ sich das Element recht schnell wieder herstellen, weil nur eine Fahrstraße und eine Signalanlage eingetragen waren. In sofern denke ich
"Glück gehabt!". :D

Frage in die Runde: Was würdet Ihr davon halten, wenn es nach dem Betätigen der "Funktion löschen"-Taste eine Sicherheitsabfrage gäbe, die man vor dem Löschen noch einmal bestätigen müsste - ähnlich wie beispielsweise beim Löschen von Weichen oder Signalanlagen?

Frage an Jan B.: Wäre das mit akzeptablen Arbeitsaufwand programmierbar?

LG
Rolf

Re: BAHN4 beta4 Fahrwegelemente: Löschen von Funktionen

Verfasst: Samstag 16. Mai 2015, 19:56
von tom_s_du
Hallo Rolf,

ich denke, das ist eine gute Idee! Versehentliches Löschen ist mir auch schon ein paar Mal passiert und war jedesmal ärgerlich...
Jan, ist das einfach machbar?

Liebe Grüße,
Tom

Re: BAHN4 beta4 Fahrwegelemente: Löschen von Funktionen

Verfasst: Montag 18. Mai 2015, 18:15
von gUFO
Mojn Mojn!

Wenn diese SUPERIDEE schon hier aufgeworfen wird, möchte ich sie gleich um eine "General"-Funktion ergänzt sehen:
Rückgängig.
Es wäre auch prima, wenn man im Edit-Menü wenigstens den letzten Schritt rückgängig machen könnte. Egal, was es war. Ob man nun eine Strecke von Punkt a nach Punkt b hat automatisch bauen lassen oder eine Weiche, einen Taktpunkt oder eine Signalanlage gesetzt oder versehentlich gelöscht hat.
Vielleicht sogar, wie in vielen Windows-Programmen, mittels Rechtsklick (wie hier, wenn man mit rechts in den Text klickt). Bei Texteingaben in Bahn (Schaltlisten, Zeiten usw. geht das ja - windowsseitig).

Herzliche Grüße aus Neuenhagen bei Berlin,
Gunther

Re: BAHN4 beta4 Fahrwegelemente: Löschen von Funktionen

Verfasst: Dienstag 19. Mai 2015, 21:37
von Jan Bochmann
Guten Abend,
Rolf R hat geschrieben:Ich hab's gerade wieder erlebt: Ich wollte einen Schalt um ein paar Fahrstraßen ergänzen und habe aus Versehen auf den "Funktion Löschen"-Button geklickt..

Frage in die Runde: Was würdet Ihr davon halten, wenn es nach dem Betätigen der "Funktion löschen"-Taste eine Sicherheitsabfrage gäbe, die man vor dem Löschen noch einmal bestätigen müsste - ähnlich wie beispielsweise beim Löschen von Weichen oder Signalanlagen?

Frage an Jan B.: Wäre das mit akzeptablen Arbeitsaufwand programmierbar?
Ich denke ja. Es ist mir übrigens auch schon passiert.

LG
Jan B.

Re: BAHN4 beta4 Fahrwegelemente: Löschen von Funktionen

Verfasst: Dienstag 19. Mai 2015, 21:46
von Jan Bochmann
Guten Abend,
gUFO hat geschrieben:Mojn Mojn!

Wenn diese SUPERIDEE schon hier aufgeworfen wird, möchte ich sie gleich um eine "General"-Funktion ergänzt sehen:
Rückgängig.
Es wäre auch prima, wenn man im Edit-Menü wenigstens den letzten Schritt rückgängig machen könnte. Egal, was es war. Ob man nun eine Strecke von Punkt a nach Punkt b hat automatisch bauen lassen oder eine Weiche, einen Taktpunkt oder eine Signalanlage gesetzt oder versehentlich gelöscht hat...
Das ist nun keine ganz neue Idee und auch nicht einfach. Siehe dazu z.B. diese Diskussion über 3 Seiten:
http://www.das-bahn-forum.de/bahnforum/ ... hilit=undo

Leider ist das Layout der alten Beiträge nicht mehr gut zu lesen und auch nicht editierbar, daher hier mal eine Kopie meines Beitrages aus dieser Diskussion:
Guten Abend,
Wie soll denn eurer Meinung nach eine Rückgängig-Funktion arbeiten?
Dazu müsste BAHN ja alle Schritte, die gemacht werden (also Symbole bauen/überbauen, Texte schreiben/ändern/löschen, Infotexte schreiben/ändern/löschen, alle möglichen Dateneingaben/-änderungen/-löschungen z.B. an Takt- oder Rangierpunkten usw. usf.) aufzeichnen.
Ganz genau so stelle ich mir das vor.

Der Speicherbedarf wäre allerdings nicht zu verachten.
Es hat dabei nicht viel Sinn, die jeweilige Änderungs-Aktion zu speichern, sondern nur eine Kopie der jeweils vorher vorhandenen Daten.

Beispiel: Weiche wird gelöscht und stattdessen eine Gerade darauf gebaut.
Die Aktion ist "löschen" + "bauen", aber diese Info alleine nützt wenig.
man zeichnet z.B. nur die letzten 20 oder 50 oder 100 Schritte auf (so wie bei "so ziemlich jedem Programm", welches eine Rückgängig-Funktion besitzt,
Kein Programm mit einer Rückgängig-Funktion verfolgt Änderungen beliebig weit in die Vergangenheit.)
Die letzten N Schritte aufzuzeichnen, reicht wohl, wenn N nur genügend groß gewählt ist.
N=10 oder N=100 wären für BAHN m.E. viel zu wenig, also unbrauchbar.
Bei komplexen Aktionen (Fläche löschen, Strecke bauen usw.) kann man auch nichts anderes machen als jeden Teilschritt einzeln zu speichern (d.h. das, was dort vorher war).
Daher müßte wohl mindestens N=10000 oder mehr sein...

Und es ist auch nicht einfach ein Array anzuwenden.
Das geht nur für simple Symbole ohne Funktion, wie Landschaft oder einfache Fahrwege.
Bei Elementen mit einer Funktion (Weichen, Taktpunkte etc.) müssen die Daten auch irgendwohin, ansonsten wäre das Ganze wohl kaum zu gebrauchen.
Nächstes Problem: Müsste, wenn x Aktionen rückgängig gemacht werden, sich nicht eigentlich auch die sim-Zeit zurückstellen?
Das ist ein interessantes Argument!
Das ist sogar das entscheidende Argument.
Im Gegensatz zu Text- oder Grafikprogrammen, mit denen hier verglichen wird, läuft in BAHN eine Simulation ab.
D.h. das Netz ändert sich auch ohne Einwirkung des Nutzers ständig.

Eine zuverlässige UnDo-Operation müßte alles rückgängig machen, d.h. auch die Uhr und alle fahrenden Züge, alle Schaltungen von Signalanlagen usw.
Ansonsten entsteht ein völliges Chaos, wenn z.B. inzwischen ein Zug in die neu gebaute Strecke gefahren ist und diese nun wieder gelöscht werden soll.

Um das zu realisieren, müßte also alles mitprotokolliert werden. Die Aktionen des Nutzers sind dabei der kleinste Teil
(und müßten alle mit exakter Zeitangabe protokolliert werden).
Da würde der Speicher allerdings schon nach wenigen Minuten restlos alle, ganz abgesehen davon, daß die Simulationsgeschwindigkeit kräftig einbrechen würde.

MfG
Jan B.
Herzliche Grüße,
Jan B.

Re: BAHN4 beta4 Fahrwegelemente: Löschen von Funktionen

Verfasst: Dienstag 19. Mai 2015, 22:36
von gUFO
Mojn Mojn!

Ja gut Jan, das ist natürlich doch schon reichlich problematisch mit einer "Rückgängig"-Funktion. Eigentlich unmöglich.
Aber der Wunsch nach der "Wollen sie wirklich löschen?"-Abfrage wäre mit Sicherheit sehr hilfreich. Vielleicht kann man ggf. in den Optionen einstellbar (per Haken) machen, ob man die Sicherheitsabfrage haben möchte oder nicht.
Im Übrigen ist mir das auch schon mit versehentlichem Ändern von Taktpunktdaten durch versehentliches Enter-Drücken während der Eingabe in einer Zeile passiert. In solchen Fällen kann es auch schon mal schwierig sein, den Ursprungszustand wiederherzustellen. Von daher wäre vielleicht auch dort eine "Speichern / Abbrechen"-Funktion nicht unpraktisch.

Herzliche Grüße aus Neuenhagen bei Berlin,
Gunther

Re: BAHN4 beta4 Fahrwegelemente: Löschen von Funktionen

Verfasst: Mittwoch 20. Mai 2015, 13:30
von Rolf R
Hallo Zusammen,

natürlich wäre eine "Undo"-Funktion das Non-Plus-Ultra. Aber man kann die Einwände von Jan gegen die Funktion durchaus nachvollziehen und auch verstehen.

Derzeit lässt sich ein Fehler wie oben von Gunther beschrieben nur mittels eines Speicherns des Netzes im Vorhinein einigermaßen rückgängig machen. BAHN sichert ja beim Speichern die vorherige Version des Netzes als nt2-Datei. Allerdings sind beim Neuladen alle Änderungen seit dem letzten Abspeichern weg und müssten wiederholt werden.
Und wenn man gerade im Bauwahn steckt, denkt man nicht immer an das regelmäßige Speichern.

Frage in die Runde und auch an Jan Bochmann: Könntet Ihr Euch eine Variante vorstellen, in der das Abspeichern/Sichern automatisch geschieht?

Ich könnte mir das so vorstellen: Der User bekommt eine Auswahl, ob BAHN sein Netz automatisch sichern soll oder nicht - ggf. mit "nein" als Vorgabe.
Wenn er doch möchte, dann mit der Auswahl, ob BAHN dieses Speichern in bestimmten zeitlichen Abständen vornehmen soll und evt. wo groß diese sein sollen.
Und als als letztes die Frage, ob man diese Zeit an die BAHN-Uhr anhängen soll oder an die Computer-Uhr (z.B. WIN), um die unterschiedlichen Baustile der Autoren zu berücksichtigen (bei während des Betriebes oder bei betrieblichem Stillstand).

Ich weiß - es ist Theorie und ich hab auch keine Ahnung, wie umfangreich eine derartige Funktion in punkto Programmierung, Speicherbedarf etc. ist. Aber sie ist ja zum größten bereits in BAHN vorhanden. Und sie könnte vielen Anwendern aus dem Schlamassel helfen, die sich ihr aktuelles BAHN-Netz durch unbedachtes oder auch unabsichtliches Drücken eines falschen Knopfes zerschossen haben.

LG
Rolf

Re: BAHN4 beta4 Fahrwegelemente: Löschen von Funktionen

Verfasst: Mittwoch 20. Mai 2015, 20:32
von Seb144
Rolf R hat geschrieben: Frage in die Runde und auch an Jan Bochmann: Könntet Ihr Euch eine Variante vorstellen, in der das Abspeichern/Sichern automatisch geschieht?

Ich könnte mir das so vorstellen: Der User bekommt eine Auswahl, ob BAHN sein Netz automatisch sichern soll oder nicht - ggf. mit "nein" als Vorgabe.
Wenn er doch möchte, dann mit der Auswahl, ob BAHN dieses Speichern in bestimmten zeitlichen Abständen vornehmen soll und evt. wo groß diese sein sollen.
Und als als letztes die Frage, ob man diese Zeit an die BAHN-Uhr anhängen soll oder an die Computer-Uhr (z.B. WIN), um die unterschiedlichen Baustile der Autoren zu berücksichtigen (bei während des Betriebes oder bei betrieblichem Stillstand).
LG
Rolf
Hallo Rolf,

das ist doch genau das, was es unter Optionen - Dateioptionen als automatisches Speichern von Netzdateien bereits gibt oder nicht? Wird von mir gerne genutzt...

Viele Grüße,

Sebastian
_________________
Berlin und Umgebung im Jahr 1989

http://www.bahn1989.berlin

Re: BAHN4 beta4 Fahrwegelemente: Löschen von Funktionen

Verfasst: Mittwoch 20. Mai 2015, 21:29
von gUFO
Mojn Mojn!

Da wundere ich mich auch gleich gerade etwas, wo Rolf mit dem Gedanken jetzt hinwollte.
Automatisches Speichern haben wir doch schon. Und man kann sogar festlegen, in welchen Zeitintervallen das gespeichert werden soll und ob die Zeit generell gilt oder nach Bahn-Zeit gemessen wird.
Bei letzterm wird dann allerdings wohl nicht gespeichert, wenn das Netz angehalten wurde und recht häufig, wenn das Netz in z.B. 19-facher Geschindigkeit läuft.

Rolf, Du kannst also jetzt schon in z.B. 10 Sekundenabständen oder jede Minute oder alle 5 oder 10 Minuten oder jede Stunde oder wann und wie immer Du es magst automatisch speichern lassen.

Bei größeren Netzen, wo viel gespeichert werden muss, kann das dann allerdings oft ganz schön nervig sein. Wenn ich mit meinem Lenovo S10 arbeite, dann wird nix automatisch gespeichert, weil jeder Speichervorgang meines Netzes da ca. 15 - 25 dauert.

Herzliche Grüße aus Neuenhagen bei Berlin,
Gunther

Re: BAHN4 beta4 Fahrwegelemente: Löschen von Funktionen

Verfasst: Donnerstag 21. Mai 2015, 18:31
von Rolf R
oooooooooh sorry! :oops:

Bitte entschuldigt, diese Funktion hab ich völlig übersehen und (bis jetzt ...) nicht gekannt. Natürlich muss man das Rad nicht ein zweites Mal erfinden.
Ich nehme alles zurück und behaupte das Gegenteil. Wieder was gelernt. :)

@Gunther&Sebastian: Danke ...

LG
Rolf

Re: BAHN4 beta4 Fahrwegelemente: Löschen von Funktionen

Verfasst: Mittwoch 15. Juli 2015, 12:38
von Rolf R
Noch eine Neuigkeit in BAHN 4.00 beta 4c:

Es gibt jetzt auch die Sicherheitsabfrage beim Löschen der Funktionen für die Gleiselemente. Also wenn man den "Löschen"-Schalter drückt fragt BAHN, ob man das wirklich will.

Auch hierfür ein ganz herzliches Danke Schön, Jan! :)

LG
Rolf