21 / 21 / 6
Регистрация: 27.07.2011
Сообщений: 323
1

Поиск файлов некорректно работает

11.09.2023, 22:40. Показов 5835. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Доброго времени!
Использую следующий код для поиска файлов с расширением ".car" на устройстве:
C++ (Qt)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
DownloadPath  = System::Ioutils::TPath::GetSharedDownloadsPath();
TSearchRec sr;
FindFirst( DownloadPath + "/*.car", faAnyFile, sr);
        {
            do
                {
                    if ( sr.Name=="." || sr.Name==".." ) {}
                    else if ( (sr.Attr & faDirectory) == faDirectory ) {}
                    else {
                     FindBox1->RowCount ++;
                     FindBox1->Cells[0][i] = sr.Name;
                     i++;
                    }
                }
            while ( !FindNext(sr) );
            FindClose(sr);
        }
Принцип работы таков, что из приложения сохраняется файл в данную директорию, а затем его нужно подгрузить. На старом Андроиде 7 все работает как надо, в StringGrid падают названия файлов с нужным расширением, но на версии 13 проблема заключается в следующем: если создать файл из этой копии приложения, а затем попытаться его найти то он видится и без проблем загружается его содержимое, но если переустановить приложение (тупо снести и заново поставить), в этом случае приложение просто перестает видит какие либо файлы. Пусто. И опять если создать новый файл, то приложение видит только свежий файл(ранее созданные не отображает, хотя в проводнике я их вижу). В User permission есть права на Read / Write external storage, правда в телефоне они видятся как "Доступ к видео и фото" и Доступ к музыке и аудио". Что может быть ? заморочка последних версий Андроида ?

Добавлено через 12 минут
Или может кто то поделится рабочим способом поиска файлов ? Буду очень признателен
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
11.09.2023, 22:40
Ответы с готовыми решениями:

Некорректно работает поиск по папке.
Ищу в папке все файлы с расширением jpg и png, после чего копирую их в другую папку. Проблема в...

Некорректно работает поиск
Здравствуйте. Столкнулся с такой проблемой клиенты жалуются что не могут найти нужный товар. При...

Поиск работает некорректно
Здравствуйте, пришло обновление 10ки, всегда искал "программы и..." и находил, а теперь поиск не...

Код с использованием файлов работает некорректно
Столкнулся с проблемой. Код вроде работает правильно но вот афишировать не хочет то что надо....

Некорректно работает поиск в Excel
Добрый-здрасти! Пишу парсинг цен с яндекс маркета. Программа get'ом заходит на страницу с нужной...

3
Модератор
9401 / 6167 / 2406
Регистрация: 21.01.2014
Сообщений: 26,291
Записей в блоге: 3
12.09.2023, 04:47 2
Цитата Сообщение от S0lexV Посмотреть сообщение
может кто то поделится рабочим способом поиска файлов ?
ну, вот так как-то...
C++
1
2
3
4
5
6
#include <System.IOUtils.hpp>
...
TStringDynArray A = TDirectory::GetFiles(TPath::GetSharedDownloadsPath(), "*.car", TSearchOption::soTopDirectoryOnly);
FindBox1->RowCount = A.Length;
for(int i = 0; i < A.Length; i++)
  FindBox1->Cells[0][i] = A[i];
Добавлено через 3 минуты
Хотя я не знаком с поведением этого кода на Android. Но - попробуйте, хуже-то не будет...
0
21 / 21 / 6
Регистрация: 27.07.2011
Сообщений: 323
19.09.2023, 22:39  [ТС] 3
Аналогично... Может на проблему влияет способ сохранения файла ?

C++
1
2
3
TStringList *ts1=new TStringList;
String DownloadPath = System::Ioutils::TPath::GetSharedDownloadsPath();
ts1->SaveToFile(DownloadPath+PathDelim+file,TEncoding::ANSI);
Добавлено через 2 минуты
Уже поставил последний Билдер с последними SDK/NDK.
Создал новый пустой проект, прикрутил туда только экспорт -импорт - проблема осталась...
0
21 / 21 / 6
Регистрация: 27.07.2011
Сообщений: 323
27.02.2024, 22:35  [ТС] 4
Пожалуй апну тему.... Проблема в том что в одной из последних SDK, в Андроид добавлено "android:requestLegacyExternalStorage" Это не просто запрос на запись во внутреннее хранилище, а супер -пупер запрос. (Видимо обычного WRITE_EXTERNAL_STORAGE_DEVICE уже не хватает). Он создает что то вроде песочницы, и приложение без этого запроса не будет видеть файлы других приложений дальше своего каталога. Со мной поделились куском кода, но к сожалению мне не удалось его интерпретировать под реалии FMX C++. Может быть кто то уже работал с данной проблемой и есть решение ? Собственно вот тема на соседнем тематическом форуме , из которой мне не удалось победить до конца эту вредную штуку: https://fire-monkey.ru/topic/8... %BE%D0%B2/.
0
27.02.2024, 22:35
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
27.02.2024, 22:35
Помогаю со студенческими работами здесь

Некорректно работает поиск в Outlook
Outlook 2016. Почта сохраняется в файл pst. Не находятся последние письма, только более старые....

Интерполяционный поиск с++, работает некорректно
int InterpolSearch(int A,int left,int right, int key){ for(int i = 0; i &lt; ARRAY_SIZE; i++) { ...

Некорректно работает поиск в ширину
Граф задается так ),(&quot;2&quot;,),(&quot;3&quot;,)], первый элемент тьюпла вершина, второй - список связанных с ней....

Поиск экстремума работает некорректно
Есть некая функция M(N). Функция M(N) кусочная. Фактически ДО разрыва есть максимальное значение и...

В некоторых случаях некорректно работает поиск
При вводе в поиске трёх символов предлагается множество товаров но при нажатии кнопки поиск,...

Некорректно работает поиск mysqli php
Приветствую всех. Ребята подскажите в чем ошибка. Реализовал на странице поиск. Только, если в поле...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru