Rekursiv...aber nicht vollständig..?
Verfasst: 23.12.2005 12:39
Hey!
Ich habe hier nen rekursiven Aufruf meiner Procedure vom letzten mal...
Aber irgendwie geht die nicht ALLE Ordner einmal durch.Sondern fängt ab 2Ordnern einfach an, die Unterordner zu ignorieren...
WTF?
Bin auf alle Lösungsansätze gespannt...
Ich habe hier nen rekursiven Aufruf meiner Procedure vom letzten mal...
Aber irgendwie geht die nicht ALLE Ordner einmal durch.Sondern fängt ab 2Ordnern einfach an, die Unterordner zu ignorieren...
WTF?
Code: Alles auswählen
newlist alledateien.s()
Procedure Fill_List(Directory.s)
Ordner = ExamineDirectory(#PB_Any,Directory,"*.*") ;Alle Dateien Durchsuchen
Repeat ;wird wiederholt, bis das Ende des Ordners erreicht ist
Test = NextDirectoryEntry() ;Test enspricht hiernach 1 oder 2-d.H., dass man daran erkent ob es ne Datei oder n Ordner ist.
If Test = 1
If UCase(GetExtensionPart(DirectoryEntryName())) = "MP3" Or UCase(GetExtensionPart(DirectoryEntryName())) = "WMA" ;nur zur Liste hinzufügen, wenn die Dtei eine mp3 ist.
AddElement(alledateien())
alledateien() = Str(Ordner) + ";" + "MP3" + ";" + Directory + "\" + DirectoryEntryName() + ";" + DirectoryEntryName() + ";" + Str(DirectoryEntrySize())
EndIf
EndIf
If Test = 2 And DirectoryEntryName() <> "." And DirectoryEntryName() <> ".."
AddElement(alledateien())
alledateien() = Str(Ordner) + ";" + "DIR" + ";" + Directory + "\" + DirectoryEntryName() + ";" + DirectoryEntryName() + ";" + Str(DirectoryEntrySize())
NewDirectory.s = Directory + DirectoryEntryName()
Fill_List(NewDirectory)
UseDirectory(Ordner)
EndIf
Until Test = 0
EndProcedure
Fill_List(C:\)
Foreach alledateien()
debug alledateien()
Next