- Offizieller Beitrag
In diesem Thread hatte ich ein Lösungsvariante basierend auf meiner UDF zum Speichern/Wiederherstellen von Treeview-Inhalten verwendet.
Jetzt habe ich das zusammengedampft und eine Lösung zum direkten Speichern von Ordnungsstrukturen eines Root-Pfades und der Umkehraktion: Ordnerstruktur in einem Ziel-Pfad aus einer Strukturdatei anlegen.
Das ist z.B. nützlich, wenn ich auf mehreren PC dieselbe Verwaltungsstruktur haben möchte, sodass jeder User Daten auf Anhieb im vertrauten Ordner findet. Problemlos ist, wenn im Zielpfad bereits gleichnamige Ordner vorhanden sind - diese bleiben erhalten.
Strukturdatei per Hand
Eine Strukturdatei kann durchaus auch von Hand erstellt werden, d.h. ich muß nicht zwingend zuerst im Explorer alle Ordner mit Unterordnern erstellen um daraus die Strukturdatei zu erstellen. Dabei ist aber zwingend deren Aufbau zu beachten.
In jeder Zeile steht:
Orderstring<TRENNER>Ordnername
Orderstring:
ein Zähler je Anzahl Ordner in einer Pfadtiefe wird zu einem String gebildet
..Root\A = "1"
..Root\A\1 = "1.1"
..Root\B = "2"
..Root\B\1 = "2.2" !! erster Ordner unter B - ABER der 2. in dieser Pfadtiefe
..Root\B\1\1 = "2.2.1"
..Root\B\1\2 = "2.2.2"
..Root\B\1\3 = "2.2.3"
..Root\C = "3"
..Root\C\1 = "3.3"
..Root\C\1\1 = "3.3.4"
..Root\C\1\2 = "3.3.5"
<TRENNER>:
Das Zeichen von Opt("GUIDataSeparatorChar") - Standard "|"
Ordnername:
Der Name des Ordners
Die resultierende Strukturdatei müsste also lauten:
1|A
1.1|1
2|B
2.2|1
2.2.1|1
2.2.2|2
2.2.3|3
3|C
3.3|1
3.3.4|1
3.3.5|2
Funktionen:
_FolderStruct_WriteToFile
Gets the structure of folders from a given root path and write this to an file
_FolderStruct_CreateFromFile
Creates folder in the same structure like the given structure file in a given target path
_FolderStruct_PathDepth
Sets a new value for the maximum possible path depth or gets the current one.
Details s. Funktionsheader