Zeilen inklusive Inhalt in einer .Data mit Programm tauschen.

  • Hallo zusammen,

    ich habe hier ein Programm mit dem ich meine .data Dateien bearbeiten kann, zb. Zeilen einfügen, umbenennen, befüllen usw.
    Nun möchte ich dieses gern um eine Funktion (sofern möglich) erweitern, aber weiss leider nicht wie und wollte euch daher um Hilfe bitten.

    Programm:

    Spoiler anzeigen

    Die Data hat sagen wir ein Ober Menü welches mir sagt was ich für Daten einfügen soll.
    Das Menü in der angehangenen Data hat jetzt 37 Zeilen.
    Wie soll das Verschieben nun funktionieren?

    Schritt eins:
    Im Programm Menü gibt es unter Bearbeiten einen Menüpunkt Namens Zeile Verschieben. Wenn ich diesen betätige soll eine MsgBox mit eingabefenster aufgehen mich fragen (Welche Zeile möchtest du verschieben) mit der Angabe (in diesem Fall Zeile 1 - 37) und ich dann in dem Eingabefeld die Nummer der Zeile eingebe und mit OK bestätige.
    Das heisst das die Funktion auch die Zeilenanzahl auslesen und in der MsgBox nach dem Text mit angeben muss. Siehe Bearbeiten - Ersetzen als Bsp.

    Schritt zwei:
    Nach Bestätigen des Schritt eins mittels OK, soll sich die MSGBox schließen und eine neue mit eingabefenster öffnen, in welcher dann steht (Mit welcher Zeile möchtest du tauschen) wieder mit der Angabe
    (in diesem Fall Zeile 1 - 37) und ich dann in dem Eingabefeld die Nummer der Zeile eingebe mit welcher Zeile getauscht werden soll und mit OK bestätige.
    Das heisst das die Funktion auch die Zeilenanzahl auslesen und in der MsgBox nach dem Text mit angeben muss. Siehe Bearbeiten - Ersetzen als Bsp.

    Schritt Drei:
    Nach bestätigen der zweiten MsgBox via OK soll sich nun der Zeilen Name samt seines Inhaltes (dieser Zeile) aller sich in der Data befindlichen Einträge auf die in Schritt eins festgelegte Position bewegen und der Zeilen Name samt Inhalt (dieser Zeile) aus Schritt 1 sich an die Stelle aus Schritt zwei verschieben, quasi ein Austausch der Namen samt Inhalt von einer zur anderen Stelle.

    Das ähnliche Prinzip nur ohne verschieben könnt ihr zb. Unter Bearbeiten - Ersetzen ansehen. Einen Menüpunkt Habe ich bereits unter Bearbeiten mit dem Namen "Zeile Verschieben" eingefügt.

    Um Sichtbar etwas zu sehen, würde ich vorschlagen Zeile 9 mit dem Namen Putzi (Text = Zeile Tauschen mit Verschieben) mit Zeile 16 mit Namen Einfach (Text=Verschieben) zum test zu verschieben.

    Warum möchte ich das gern?
    In dieser angehangenen Test Probe neu.data sind nur Zwei Einträge, aber im Schnitt handelt es sich um 100 und mehr Einträge, und die immer alle mit der Hand und zb. notepad++ zu bearbeiten ist ganz schön viel.

    So, nun erstmal genug geschrieben. Ich hoffe ihr wisst wie ich das meine und ich verständlich geschrieben habe. Ich hoffe ihr könnt mir dabei Helfen.

    Mit Freundlichen Grüßen Ghostleader

  • Hi,
    Was hälst du von folgender Variante:

    Statt diverser "Msgboxen" würde ich eine GUI mit 2 nebeneinander stehenden EDIT/LIST-Feldern erstellen, Text1 im ersten Editfeld(Box1), Text2 im 2. Editfeld(Box2)
    Mausklick auf Zeile in erstem Editfeld markiert diese Zeile, Mausklick auf Zeile im 2. Editfeld markiert diese Zeile .
    Button "Zeilen tauschen" drücken, die beiden markierten Zeilen werden in den Boxen vertauscht angezeigt, Buttontext ändert sich in "Zeilen tauschen übernehmen", klick drauf speichert die beiden Box-Inhalte.
    Damit sparst du dir die Zahleneingeberei und die "Messageboxen".

  • Hallo Andy,

    Ich gebe zu das diese Variante interessant klingt, zumal man da wenn ich dich richtig verstehe bevor man den letztendlichen Schritt aus führt, sogar das Ergebnis sieht und es gegebenenfalls, falls man die falsche Zeile erwischt hat nochmal korrigieren kann.
    Allerdings muss ich auch da sagen, das ich jetzt nicht so recht weis wie ich das machen kann das die markierten Zeilen auch dann angezeigt und nach Button klick getauscht werden, noch die tausch Funktion also das eigentliche vorgehen erstellen muss, aber die Idee finde ich super. Vielleicht kannst du mir dabei ja bitte behilflich sein, was echt super wäre.
    Liebe Grüße Ghostleader