Walking Through File Directory |
Top Previous Next |
Discussed in this topic: fd.resetdirpointer, fd.getnextdirmember, fd.getnumfiles.
At times it is necessary to get the list of all files stored on the flash disk. Most operating systems provide this feature in the form of a DIR command. The fd. object offers two methods -- fd.resetdirpointer and fd.getnextdirmember -- that allow you to get the names of all stored files one by one.
An imaginary "directory pointer" walks through the file record table (FRT) of the flash disk. The fd.resetdirpointer method resets the directory pointer to 0, i.e. to the very first directory record. The fd.getnextdirmember returns the next file name and advances the pointer. Only file names are returned, attributes are excluded.
Calling the fd.getnextdirmember repeatedly will get you all the file names. When there are no more names left to go through, the method will return an empty string. You can use this to end your directory walk:
'walk through the file directory -- method #1 Dim s As String
fd.resetdirpointer Do s=fd.getnextdirmember If fd.laststatus<>PL_FD_STATUS_OK Then 'some problem End If ... 'process the file name in s Loop While s<>"" 'we exit on empty string
|
Alternatively, you can use a for-next cycle, since the number of currently stored files can be checked through the fd.getnumfiles method:
'walk through the file directory -- method #2 Dim s As String Dim f As Byte
fd.resetdirpointer For f=1 To fd.getnumfiles s=fd.getnextdirmember If fd.laststatus<>PL_FD_STATUS_OK Then 'some problem End If ... 'process the file name in s Next f
|