Files and Folder

  • Vorweg: Ja, ich weiß, dass es in wNim einen Filedialog gibt! :)

    Es ging mir darum, etwas zu lernen. Und zwar über Treeviews, Listviews, ImageList und das einlesen von Verzeichnissen/Dateien.

    Beim darstellen der Verzeichnisstruktur in einem Treeview gibt es ja immer das Problem, dass man alle Verzeichnisse rekursiv durchsuchen muss, was entsprechend lange dauert, weil Festplatten und Co. dafür nunmal einige Zeit brauchen.

    Diese Zeit kann man erheblich verkürzen, indem man immer nur 2 Rekursionen ausführt und diese darstellt. Erst beim anklicken/aufklappen eines Zweiges/Items vom Treeview liest man die nächste Rekursionsstufe ein.

    Das habe ich hier auch so umgesetzt.

    Außerdem habe ich bei Dateien/Verzeichnissen mit den Dateiattributen "s" = System, "h" = Hidden, und "p" = Reparsepoint/Link die Icons als Overlay-Icons erstellt. Bei den "System"-Dateien wird ein Ausrufezeichen eingeblendet. Die "Hidden"-Dateien sind "gedimmt" dargestellt und die "Reparsepoints" haben unten links den kleinen Pfeil.

    Den Code habe ich wieder ausführlich kommentiert: