Roherter, trotzdem vielen Dank für deine Hilfe!
Ich habe das Problem gelöst!
@stbi: Dein zweiter Tipp mit dem Directory am Anfang sichern und am Ende wiederherzustellen, war Gold wert, aber wie soll das gehen, wenn ich
#PB_any verwende?
Deshalb arbeite ich immer noch mir der Variablen
dir, die ja bis 3 Mrd. geht, so habe ich das jetzt auf die schnelle im Kopf.
@ Kiffi: Deine Anregung habe ich auch übernommen, nämlich das ich die
DirevtoryEntryName() namens "." und ".." rausfiltere.
Für alle, die es interessiert oder es vielleicht sogar selbst brauchen, hier der funktionierende Code:
Code: Alles auswählen
Procedure scan(path.s)
old_dir=dir
Repeat
If ExamineDirectory(dir, path, "")
Repeat
Select NextDirectoryEntry()
Case 2
If DirectoryEntryName() <> ".." And DirectoryEntryName() <> "."; And FileSize(DirectoryEntryName()) = -2
dir+1
scan(path+DirectoryEntryName()+"\")
UseDirectory(old_dir)
EndIf
Case 1
If DirectoryEntryName() <> ".." And DirectoryEntryName() <> "."
dateien+1
SetGadgetText(#anz_dateien, "Dateien: "+Str(dateien))
SetGadgetText(#datei, path+DirectoryEntryName())
EndIf
Default
skip=1
Quit=1
EndSelect
Until skip
EndIf
Delay(1)
Until Quit
ProcedureReturn 1
EndProcedure