Ordnerstruktur aus Parent/ID generieren

  • VB.NET
  • .NET 4.5

Es gibt 2 Antworten in diesem Thema. Der letzte Beitrag () ist von dive26.

    Ordnerstruktur aus Parent/ID generieren

    Hallo Leute,

    ich weiß momentan nicht weiter oder habe mich irgendwie in die falsche Richtung verbohrt.

    Ich habe eine JSON Datei mit einer Liste an Dokumenten und Ordnern.
    Die Dokumente interessieren mich momentan nicht.

    Die Ordner haben jeweils einen Namen NAME eine ID ID und ein Parent-ID PARENTID.

    Die vorliegenden Daten (Beispiel):

    NAME ="Namen", PARENTID="" / ID="12345"
    NAME ="Orte", PARENTID="" / ID="23213"
    NAME ="Vornamen", PARENTID="12345" / ID="678"
    NAME ="Nachnamen", PARENTID="12345" / ID="333"
    NAME ="A-L", PARENTID="678" / ID="477"
    NAME ="M-Z", PARENTID="678" / ID="555"
    NAME ="Dinge", PARENTID="" / ID="888"
    NAME ="Grosse Dinge", PARENTID="888" / ID="999"
    NAME ="Kleine Dinge", PARENTID="888" / ID="000"


    Diese Daten stellen eigentlich eine Baumstruktur dar:

    Root (ParentID="")
    - Namen
    - Vornamen
    -- A-L
    -- M-Z
    - Nachnamen
    - Orte
    - Dinge
    -- Grosse Dinge
    -- Kleine Dinge


    Nun ist es so, dass die Ordner beliebig tief verschachtelt sein können.
    PARTENTID stellt immer den übergeordneten Ordner dar. Nur der Root-Ordner hat "" als PARENTID.

    Wie bekomme ich aus den Daten der Liste eine geordnete Ordnerstruktur.
    Ich möchte dann in einem Windows Ordner exakt diese Ordnerstruktur erzeugen (mit CreateDirectory).

    Wie gehe ich das an?
    Ich wäre über Hilfe sehr dankbar.
    Liebe Grüße
    Roland Berghöfer

    Meine aktuellen und kostenlos verwendbaren Tools (mit VB.NET erstellt): bocomponent.com | freeremarkabletools.com
    Tja, das wäre wohl eine weitere Variante zu den 4 Ansätzen, die ich hier veröffentlichtete: Tree-Übungen
    Würde ich dann wohl Relational Model nennen, weil Datensätze, die via Id aufeinander verweisen folgen der GrundIdee relationaler Datenmodellierung.
    Kann mich ja mal beizeiten ranmachen.
    Wie bekomme ich aus den Daten der Liste eine geordnete Ordnerstruktur.
    Erstma garnet - weil die Daten enthalten ja nicht das Root-Directory, wo man eine Ordnerstruktur drinne anlegen könnte.
    Schreib also erstmal eine Methode, der man ein RootDirektory übergibt, und deine Datensätze.
    Die Methode kann solch dann machen, aber den Rumpf musste erstmal formulieren.
    ... eine geordnete Ordnerstruktur.
    Ich möchte dann in einem Windows Ordner exakt diese Ordnerstruktur erzeugen (mit CreateDirectory).
    Tja, was ist bei dir eine "geordnete OrdnerStruktur"?
    Also die Methode die mir vorschwebte hätte den Ordner eben angelegt.
    Aber beim zweiten lesen soll sie wohl eine "geordnete OrdnerStruktur" zurückgeben - ja, was verstehst du darunter?
    Eine List(Of String), mit den Pfaden? Ja - schreib den Methoden-Rumpf, dann kann man das basteln.

    Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von „ErfinderDesRades“ ()

    @ErfinderDesRades

    Vielen Dank für Deine Vorschläge. Irgendwie war mir das alles zu umständlich und ich bin bis nach eins in der Früh daran gesessen.
    Dann habe ichs einfach genau so gelöst wie das Device (reMarkable) selbst es macht.

    Die Ordern die direkt am Root-Ordner ("MyFiles") liegen, werden direkt angezeigt.
    Wo Unterordner existieren (wurde vorher ermittelt), da wird ein + ins Ordnersymbol gezeichnet.
    Klickt man auf einen der Ordner, dann werden alle Unterordner angezeigt und hier ebenfalls die markiert die weiter haben - usw.

    Mit klick auf "MyFiles" ist man wieder im Root oder mit Klick auf den übergeordneten Ordner eine Stufe höher.

    Eine echte Ordnerstrucktur die ich 1:1 als Windows-Ordnerstrucktur anlegen hätte können gibtst damit leider nicht.
    Aber das wäre nur ein Bonus gewesen.
    Bilder
    • 12012021123204.jpg

      105,06 kB, 360×573, 9 mal angesehen
    • 12012021123224.jpg

      129,14 kB, 650×525, 9 mal angesehen
    • 12012021123244.jpg

      75,87 kB, 254×481, 9 mal angesehen
    Liebe Grüße
    Roland Berghöfer

    Meine aktuellen und kostenlos verwendbaren Tools (mit VB.NET erstellt): bocomponent.com | freeremarkabletools.com