Was ist an diesem Code falsch?
Code: Alles auswählen
Procedure DirScan(DirectoryID.l, DirectoryName.s)
If ExamineDirectory(DirectoryID, DirectoryName, "*.*")
Repeat
entry.l = NextDirectoryEntry(DirectoryID)
entry2.l = DirectoryEntryType(DirectoryID)
If entry2 =#PB_DirectoryEntry_File ;Datei gefunden
filename.s = DirectoryEntryName(DirectoryID)
AddGadgetItem(#Tree_View, -1, filename,0,DirectoryID.l)
AddElement(files())
files() = DirectoryName+filename
ElseIf entry2 = #PB_DirectoryEntry_Directory ;Ordner gefunden
name.s = DirectoryEntryName(DirectoryID)
If name <> "." And name <> ".."
AddGadgetItem(#Tree_View, -1, name, 0, DirectoryID.l)
AddElement(files())
files() = DirectoryName+name
DirScan(DirectoryID+1, DirectoryName+name+"\")
EndIf
EndIf
Until entry = 0
EndIf
EndProcedure
//edit
Hab den fehler gefunden
So geht es
Code: Alles auswählen
Procedure DirScan(DirectoryID.l, DirectoryName.s)
If ExamineDirectory(DirectoryID, DirectoryName, "*.*")
Repeat
entry.l = NextDirectoryEntry(DirectoryID)
entry2.l = DirectoryEntryType(DirectoryID)
If entry2 =#PB_DirectoryEntry_File And entry<>0 ;Datei gefunden
filename.s = DirectoryEntryName(DirectoryID)
AddGadgetItem(#Tree_View, -1, filename,0,DirectoryID.l)
AddElement(files())
files() = DirectoryName+filename
ElseIf entry2 = #PB_DirectoryEntry_Directory And entry<>0 ;Ordner gefunden
name.s = DirectoryEntryName(DirectoryID)
If name <> "." And name <> ".."
AddGadgetItem(#Tree_View, -1, name, 0, DirectoryID.l)
AddElement(files())
files() = DirectoryName+name
DirScan(DirectoryID+1, DirectoryName+name+"\")
EndIf
EndIf
Until entry = 0
EndIf
EndProcedure