ReadDir() Proc ist fertig
Verfasst: 07.02.2006 21:28
So hab jetzt mal die ReadDirs() Function von HeX0R hier aus dem Forum
überarbeitet. Statt nur der Fileanzahl liest die Routine jetzt wieder den
kompletten inhalt eines Directorys ein. Die originale 3.94 variante von
NicTheQuick lief ja leider nicht mehr unter PB4.0.
Die Routine kann sicherlich noch weiter optimiert oder ausgebaut werden,
aber hauptsache wir haben erstmal wieder was das unter PB4.0 läuft.
überarbeitet. Statt nur der Fileanzahl liest die Routine jetzt wieder den
kompletten inhalt eines Directorys ein. Die originale 3.94 variante von
NicTheQuick lief ja leider nicht mehr unter PB4.0.
Code: Alles auswählen
Procedure.l ReadDirs(Source$)
Protected Num.l
Num=0
If Right(Source$,1)<>"\":Source$+"\":EndIf
Dir.l=ExamineDirectory(#PB_Any,Source$,"")
If Dir
While NextDirectoryEntry(Dir)
Select DirectoryEntryType(Dir)
Case 1
Num + 1
name$=DirectoryEntryName(Dir)
AddGadgetItem(0, -1, source$+name$)
Case 2
name$=DirectoryEntryName(Dir)
If name$<>"." And name$<>".."
Num + ReadDirs(Source$+DirectoryEntryName(Dir))
EndIf
EndSelect
Wend
FinishDirectory(Dir)
EndIf
ProcedureReturn Num
EndProcedure
If OpenWindow(0, 0, 0, 300, 395, #PB_Window_SystemMenu | #PB_Window_TitleBar | #PB_Window_ScreenCentered , "ReadDirs Example!")
If CreateGadgetList(WindowID(0))
ListViewGadget(0, 0, 0, 300, 395)
EndIf
EndIf
files=ReadDirs("c:\windows\")
AddGadgetItem(0, -1,"Anzahl Files: "+Str(files))
Repeat
Until WaitWindowEvent() = #PB_Event_CloseWindowaber hauptsache wir haben erstmal wieder was das unter PB4.0 läuft.