Просмотр каталога файлов

В этом разделе рассматривается: 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
Исходный материал Tibbo обновлён 28 июля 2022Оригинал на docs.tibbo.com · Сообщить об ошибке