• Уважаемые посетители сайта esp8266.ru!
    Мы отказались от размещения рекламы на страницах форума для большего комфорта пользователей.
    Вы можете оказать посильную поддержку администрации форума. Данные средства пойдут на оплату услуг облачных провайдеров для сайта esp8266.ru
  • Система автоматизации с открытым исходным кодом на базе 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;
    }
пока не понял как он листает вперед, может легко можно и листать назад?
 
Сверху Снизу