it works well, but in directories with many files and folders, it crashes at some point saying that:
[21:38:41] [ERROR] Line: 19
[21:38:41] [ERROR] The specified #Directory is not initialised.
[21:38:43] The Program was killed.
Can someone help me to improve it without this problem occurring?
screenshot : https://prnt.sc/ryyr6JviuIR1
code below :
Code: Select all
Procedure ReadDirectory()
tmpDir = Random(9999,1)
While IsDirectory(tmpDir) = #True
tmpDir = Random(9999,1)
FinishDirectory(tmpDir)
Wend
Directory$ = GetHomeDirectory()
If ExamineDirectory(tmpDir, Directory$, "*.*")
While NextDirectoryEntry(tmpDir)
If DirectoryEntryType(tmpDir) = #PB_DirectoryEntry_File
arquivosLidos = arquivosLidos + 1
Debug arquivosLidos
Type$ = "[File] "
; Size$ = " (Size: " + DirectoryEntrySize(tmpDir) + ")"
; Debug Type$ + DirectoryEntryName(tmpDir) + " Pasta : "+RemoveString(Directory$,Dir$)
Debug "PathPart: " + ReplaceString(ReplaceString(RemoveString(Directory$,Dir$),"\","/"),"//","/")+"/"+DirectoryEntryName(tmpDir)
Else
If (DirectoryEntryName(tmpDir) <> ".") And (DirectoryEntryName(tmpDir) <> "..")
Type$ = "[Directory] "
; Size$ = "" ; A directory doesn't have a size
; Debug pasta$+"\"+DirectoryEntryName(tmpDir)
ReadDirectory(pasta$+"\/"+DirectoryEntryName(tmpDir))
; Debug Type$ + DirectoryEntryName(tmpDir); + Size$
EndIf
EndIf
;Debug Type$ + DirectoryEntryName(tmpDir) + Size$
Wend
FinishDirectory(tmpDir)
EndIf
EndProcedure
ReadDirectory()