Beiträge von nuts

    Also suchst du schon die Funktionen oder?

    Hi Leute,



    ist mir zwar etwas peinlich aber mir raucht der Kopf und daher dieser Thread. :(

    Gesucht ist ein RepExp Pattern für folgenden String:


    Code
    xyz123-xyz123-Suchstring\xyz123


    xyz123 steht dabei für eine beliebige Anzahl von Buchstaben und Ziffern, konstant im Aufbau sind die Sonderzeichen "-" und "\".

    Gesucht ist alles ( aka "Suchstring" = beliebig viele Buchstaben und Ziffern) was zwischen dem zweiten "-" (von links) und dem ersten "\" steht.



    Gruß & danke


    Nuts

    Falls es jemand mal brauchen kann und die Variante von alpines wie ich nicht so richtig versteht hier noch meine Lösung:



    Damit sollten die Redims minimiert werden. Besonders schnell ist bei grossen INI's (gefühlt) trotzdem nicht, aber ich mache auch keine Anwendungen bei denen die Geschwindigkeit eine besonderere Rolle spielt. ;)

    Sehr cool und danke fürs teilen.

    Mit den Listeview Gruppen kämpfe ich auch von Zeit zu Zeit und da ist dein Beispiel sicher mal hilfreich. :)


    P.S.

    Hast du ne Ahnung ob man auch leere Gruppen ohne Items erstellen und anzeigen kann? Ich verwende die Listview Gruppen für einen Editor für INI Dateien und sobald das letzte Key/Value Paar gelöscht wird muss die ganze Gruppe gelöscht werden.

    Ja also jedes mal "Redimmen" will ich auf jeden Fall nicht, aber du hast recht da ist ein Denkfehler drin. Wie kann ich denn zählen wieoft ich "Redimmen" muss? Die Information liegt mir doch erst vor wenn ich alle Sektionen durch habe?

    Neuer Versuch:


    Hab das jetzt mal umgesetzt. :)


    Vielleicht kann jemand nochmal drüber schauen? Weil mir raucht grad der Kopf vor lauter 3D Array ...


    Code
    P:S. _ArrayTree im Anhang entspricht bis auf den o.a. Fix der verlinkten Funktion und wurde nur bezüglich der weiteren Verwendung von mir umbenannt. 

    Gefunden: https://www.autoitscript.com/f…/51621-_arraydisplaytree/

    Allerdings muss in der Array.au3 eine Anpassung vorgenommen werden:

    Code
    _GUICtrlTreeViewInsertItem 

    wird zu:

    Code
    _GUICtrlTreeView_InsertItem


    edit\ Ich habe mal eine lauffähige Version angehängt und das Beispiel für meine Zwecke erweitert.

    So muss die 3D Array Struktur für meine .ini dann aussehen oder?


    Hallo zusammen,



    ich habe hier ein kleines Problem beim Konzept meines Skriptes.

    Der Benutzer kann in einer festgelegten .ini Datei bestimmte Abläufe definieren.

    D.h. die .ini sieht ca. so aus, wobei dem Skript weder die Sektionen (Namen und Anzahl) noch der Inhalt der Sektionen vorher bekannt sind (da editierbar durch Benutzer):

    Code
    [Wartung]
    key=value
    ....
    
    [Backup]
    key=value
    ....


    Nun bekommt der Benutzer die Namen der Sektionen grafisch zur Auswahl angeboten um die als Key/Value definierten Abläufe in Gang zu bringen.


    Ich würde jetzt gern die .ini am Start des Skript in einem Rutsch einlesen und dann je nach Usereingabe gleich die erforderlichen Daten (key/value Paare der gewählten Sektion) als 2D Array vorliegen haben.

    Nur wie geht das? :/

    Man könnte für jede Sektion ein eigenes 2D Array erstellen, aber dann hat man im Skript eine dynamische Anzahl an 2D Arrays, da auch die Anzahl der Sektionen im Vorfeld unbekannt ist.

    Eigentlich würde ich das gerne vermeiden, da das (zumindest für mich) schwer lesbaren Code ergibt.


    Alternativ würde mir noch einfallen die .ini in ein "großes" 2D einzulesen, welches alle Sektionen und die jeweiligen key/value Paare enthält.

    Dabei stellt sich für mich dann die Frage: Wie finde ich aufgrund der Benutzerauswahl die passenden Einträge in diesem Array? Über _Arraysearch?


    Vielleicht habt ihr ja eine pfiffige Idee? Die Datenstruktur muss auch nicht unbedingt ein Array sein sollte sich eine andere Form als geeigneter herausstellen.



    Gruß und danke schonmal


    nuts


    P.S. Ich benötige kein funktionierendes Skript, sondern eher ein Hinweis wie man sowas sinnvoll im Code organisiert.

    Hi Oscar,



    super Skript.
    Du hast nicht zufällig so ein Beispiel mit "echtem Datenbank-Unterbau (SQLite oder sowas) rumliegen?



    Gruß und vielen Dank fürs Teilen! :)


    nuts

    Das entspricht ca. meiner Lösung um die Items für eine bestimmte Gruppe zu bestimmen.
    Funktioniert gut. :)


    Wie man am besten alle Gruppen und zugehörige Items eines Listviews auf einen Schlag ermittelt bin ich noch am grübeln. 3D Array ist wohl besser, aber dazu muss ich die Array Tutorials nochmal wiederholen. :D

    Danke für deine Mühen.


    Irgendwie scheint mir ein 2D Array für ein ganzes Listview mit Gruppen ungeeignet zu sein.
    Ein Listview mit mehreren Spalten passt super zum 2D Array, kommen Gruppen hinzu fehlt eine Dimension.



    P.S. Wenn der Thread auf erledigt steht motiviert es nicht gerade sich den Thread anzuschauen ...

    Also wirklich zufrieden bin ich mit meiner Lösung noch nicht ... was soll die Eile?


    Und die zweite Geschichte mit 2D Array erfordert ein Redim bei jedem verarbeiteten Item?
    Da bin ich auch noch etwas am probieren.