AmiBlitz³
dos.include : dos_ScanDir - Druckversion

+- AmiBlitz³ (https://amiblitz.de/community)
+-- Forum: AmiBlitz³ (https://amiblitz.de/community/forum-3.html)
+--- Forum: Includes (https://amiblitz.de/community/forum-18.html)
+--- Thema: dos.include : dos_ScanDir (/thread-33.html)



dos.include : dos_ScanDir - Blackbird - 19.11.2013

ich weis, wir hatten das Thema schonmal im alten Forum, aber ich muß da nochmal nachfragen.

und zwar bringt mir das Dosdemo keine Ausgaben für einzelne Dateien.

ich bekomme beim Abschnitt
[ab3]NPrint "All Files..."
Repeat
name.s = dos_ScanDir{"Sys:","#?",#dos_scan_files}
NPrint name
Until name=""[/ab3]

Nur die Infofiles


All Files...
Sys:System.info
Sys:Utilities.info
Sys:MUI.info
SysBig Grinocumentation.info
SysTonguerefs.info
Sys:Emulation.info
SysBig Grinisk.info
Sys:Storage.info
Sys:Internet.info
SysBig Grinevs.info

wenn ich den Parameter weglasse, habe ich nur zusätzlich zu den Infoangaben die Dirs


All Files...
Sys:C
Sys:Classes
SysBig Grinevs
SysBig Grinocumentation
Sys:Emulation
Sys:Fonts
Sys:Internet
Sys:Kickstart
Sys:L
Sys:Libs
Sys:Locale
Sys:MUI
SysTonguerefs
Sys:S
Sys:SObjs
Sys:Storage
Sys:System
Sys:Utilities
SysBig Grinevs.info
SysBig Grinisk.info
SysBig Grinocumentation.info
Sys:Emulation.info
Sys:Internet.info
Sys:MUI.info
SysTonguerefs.info
Sys:Storage.info
Sys:System.info
Sys:Utilities.info

lasse ich zusätzlich auch noch den Patternparameter weg, habe ich nur die Dirs

All Files...
Sys:C
Sys:Classes
SysBig Grinevs
SysBig Grinocumentation
Sys:Emulation
Sys:Fonts
Sys:Internet
Sys:Kickstart
Sys:L
Sys:Libs
Sys:Locale
Sys:MUI
SysTonguerefs
Sys:S
Sys:SObjs
Sys:Storage
Sys:System
Sys:Utilities

da passt doch was nicht....


Re: dos.include : dos_ScanDir - Der Wanderer - 19.11.2013

Resultat 1:
ich schaetze mal du hast keine Files in Sys: ausser Icons.

Resultat 2:
Jau, weil du jetzt alle Files (#?) und alle Dirs anzeigst.

Resultat 3:
Dazu muss man wissen, dass der Default pattern nicht #? sondern ~(.info) ist, d.h. alles ausser icons. Das Verhalten ist also korrekt.


Re: dos.include : dos_ScanDir - Blackbird - 19.11.2013

1. Das stimmt 8-)

2. ja

3. aha...ändert aber nichts am Ergebnis wenn ich [ab3]name.s = dos_ScanDir{"Sys:","~(.info)"}[/ab3] ändere ,das ich trotzdem keine Dateien auch in den Unterverzeichnissen sehe, oder geht das nicht ?

Ich habe mir schon überlegt im Listview den selectierten Eintrag erneut ans Listview zu übergeben zum einlesen...Aber da hab ich ja schon den Ansatz für einen Dateimanager Wink


Re: dos.include : dos_ScanDir - Der Wanderer - 20.11.2013

Der ListView kann momentan keine Baumansicht. Das ist was du versucht zu implementieren?

Also dos_ScanDir() scannt ein Verzeichnis flach, nicht rekursiv. Du willst auch mit sicherheit nicht deine Komplette Szstem Partition einlesen, nur um die oberste Schicht anzuzeigen.
Wenn du irgendwo tiefer gehen willst, hast du drei Moeglichkeiten:

1. Du macht ntui_ClearListView und fuellst das nur mit dem aktuellen Verzeichnis Inhalt. Dazu bietest du einen Parent Knopf an (Amiga Style) oder machst ein ".." Eintrag mit rein (MS DOS Style),

2. Du expandierst den ListView und fuegst die Elemente ein, dabei musst du die Baumstrukturverwaltung erstmal selbst machen, da der ListView das nicht direkt unterstuetzt.

3. Du wartest, bis der ListView Baumstrukturen unterstuetzt und eine FileView Variante bietet.


Re: dos.include : dos_ScanDir - Blackbird - 20.11.2013

Ok,genau so dachte ich mir das....

Ich probier mal selbst rum wie ich das am besten löse...

immer nur warten, warten Wink Big Grin 8-)