• Система автоматизации с открытым исходным кодом на базе esp8266/esp32 микроконтроллеров и приложения IoT Manager. Наша группа в Telegram

Возможно ли шагать назад по файлам, обратный метод от Dir::next();

Junkie

Member
Собственно вопрос в шапке, метод next позволяет шагать вперед по объекту Dir, есть ли трюк чтоб вернуться к предыдущему файлу?
 

Сергей_Ф

Moderator
Команда форума
может я не понимаю что-то. Но next это обращение к элементу который ещё не обработан. Подразумевается что предыдущие уже обработаны.
В dir такого точно нет, да и не зачем. Но самому можно реализовать, но опять таки не за чем.
 

Junkie

Member
например листать картинки на дисплее, сейчас я просто считаю количество файлов при старте прошивки, потом при каждом next прибавляю переменную на 1, а когда надо назад вызываю next кучу раз пока индекс опять не совпадет, в итоге вперед листаешь быстро а назад ждать по две секунды. Подскажите как реализовать?
 

Junkie

Member
использую littleFS, в исходниках нашел метод
C:
    bool next() override {
        const int n = _pattern.length();
        bool match;
        do {
            _dirent.name[0] = 0;
            int rc = lfs_dir_read(_fs->getFS(), _getDir(), &_dirent);
            _valid = (rc == 1);
            match = (!n || !strncmp((const char*) _dirent.name, _pattern.c_str(), n));
        } while (_valid && !match);
        return _valid;
    }
пока не понял как он листает вперед, может легко можно и листать назад?
 
Сверху Снизу