Просмотр каталога файлов
В этом разделе рассматривается: fd.resetdirpointer, fd.getnextdirmember, fd.getnumfiles.
Иногда нужно получить список всех файлов, хранящихся на флеш-диске. Большинство операционных систем предоставляют такую возможность в виде команды DIR. Объект fd. предлагает два метода - fd.resetdirpointer и fd.getnextdirmember - которые позволяют получить имена всех сохранённых файлов по одному.
Воображаемый «указатель каталога» проходит по таблице файловых записей (FRT) флеш-диска. Метод fd.resetdirpointer сбрасывает указатель каталога в 0 (то есть на самую первую запись каталога). Метод fd.getnextdirmember возвращает следующее имя файла и сдвигает указатель. Возвращаются только имена файлов, без атрибутов.
Повторные вызовы fd.getnextdirmember позволяют получить все имена файлов. Когда имён не остаётся, метод возвращает пустую строку. По ней можно завершить обход каталога:
'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
Как вариант, можно использовать цикл for-next, поскольку текущее число сохранённых файлов можно узнать методом fd.getnumfiles:
'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