Blitz3D+ Command Reference

CloseDir dir

Parameters

dir - directory handle returned by ReadDir

Description

Closes a directory opened with ReadDir.

Once you have finished pulling entries out with NextFile$, close the directory to release its handle. The handle is invalid afterwards - using it again raises a runtime error.

Directories left open are cleaned up when the program ends, but closing them as soon as you are done is good practice, especially in tools that scan lots of folders.

See also: ReadDir, NextFile, FileType.

Example

; CloseDir Example
; ----------------

; Build a small folder tree owned by this example
CreateDir "demo_files"
CreateDir "demo_files\saves"
file=WriteFile("demo_files\readme.txt")
WriteLine file,"Demo file one"
CloseFile file
file=WriteFile("demo_files\config.txt")
WriteLine file,"Demo file two"
CloseFile file

; Open the folder for reading and list what is inside
dir=ReadDir("demo_files")

Print "Listing of demo_files:"

; NextFile$ returns each entry in turn - "" means no more
Repeat
    entry$=NextFile$(dir)
    If entry$="" Then Exit
    ; FileType tells folders (2) from files (1)
    If FileType("demo_files\"+entry$)=2 Then
        Print "  <DIR>  "+entry$
    Else
        Print "  file   "+entry$
    EndIf
Forever

; CloseDir releases the folder handle opened by ReadDir.
; Close every folder you open - good programming practice!
CloseDir dir
Print ""
Print "Folder handle closed with CloseDir"

; Clean up everything the example created
DeleteFile "demo_files\readme.txt"
DeleteFile "demo_files\config.txt"
DeleteDir "demo_files\saves"
DeleteDir "demo_files"
Print "Cleaned up demo_files"

Print ""
Print "Press any key to close the example"
WaitKey

End

Index