Перейти к содержанию
Fire Monkey от А до Я

Delpher-X

Пользователи
  • Постов

    94
  • Зарегистрирован

  • Посещение

Весь контент Delpher-X

  1. Есть код для копирования файлов: procedure TForm1.Timer2Timer(Sender: TObject); var FileIndex, FileName : String; I : Integer; begin randomize; FileIndex := IntToStr(random(5000)); for I := 0 to ListBox1.Items.Count-1 do begin FileIndex := IntToStr(StrToInt(FileIndex) + 1); FileName := FileIndex + Exp; TFile.Copy(ListBox1.Items[I], FileName); end; Timer2.Enabled := False; end; Когда я его запускаю, все работает, однако постоянно выскакивает сообщение об ошибке: specified file already exists, то есть копируемый файл уже существует. То есть, программа пытается каждый файл скопировать дважды. Вопрос: почему? С чем это связано и как от этого избавиться?
  2. А как разрешения записать в манифест? Или, это делается как-то автоматически?
  3. Толку от этого манифеста, коль скоро нужно запрашивать доступ отдельно и через программный код.
  4. Тут немного не понял. В вашем коде в uses добавлены только System.Permissions, Androidapi.Helpers, Androidapi.JNI.Os
  5. Да, еще вопрос. Тот код, который вы запостили вот в этом сообщении, он подходит для запроса любых разрешений для приложения - или только для возможности создавать и изменять файлы и каталоги?
  6. Все, разобрался. Только один баг не могу пофиксить. В коде: procedure(const APermissions: TArray<string>; const AGrantResults: TArray<TPermissionStatus>) begin if (Length(AGrantResults) = 1) and (AGrantResults[0] = TPermissionStatus.Granted) then ShowMessage('Write to File') end; end; почему-то подчеркнут красным. Пробовал ставить перед предыдущей строкой ставить точку с запятой, убирать, помещать в отдельный блок begin end; - все бесполезно.
  7. Попробовал. В результате теперь там все полыхает красным подчеркиванием.
  8. А, так это строковый тип. Так бы сразу и сказали, а то непонятно. Только что посмотрел - и вправду есть. Но почему же тогда все же разрешения для приложения никак не отображаются при установке? Спасибо, уже сам нашел.
  9. И кстати, Код который изображен на картинке - нерабочий. В том смысле, что он вообще не компилируется. var и := в самом начале, подчеркиваются красным. Также подчеркивается красным запятая в выражении RequestPermissions([WriteStorage], и Granted в (AGrantResults[0] = TPermissionStatus.Granted)
  10. Я посмотрел. У меня там стоит галочка True и в пункте Read eternal storage и в Write eternal storage. Кстати, если этот манифест нужно распространять вместе с приложением - то как? Все приложения которые я видел, распространялись исключительно как установочные APK-файлы, никаких XML-файлов к ним не прилагалось. Или, для Android тоже нужны программы для создания установочных файлов, как и для Windows? Где можно почитать про нее?
  11. А как сделать этот манифест? Аналогичный вопрос. Нельзя ли поподробнее? Что за System.IOUtils
  12. Здравствуйте. У меня такая проблема. Пытаюсь скачать файл: var S : TMemoryStream; begin S := TMemoryStream.Create(); IdHTTP1.Get('http://sitename.com/7UlmBU7IXHA.jpg', S); S.SaveToFile('/storage/emulated/0/ImageFile.jpg'); S.Free; end; Проблема возникает на последней стадии - при сохранении файла. Android пишет, Cannot create file: '/storage/emulated/0/ImageFile.jpg'. Permission denied, то есть доступ запрещен. Но как его разрешить? Когда я устанавливаю приложение, система пишет, что никаких разрешений данная программа не требует.
  13. Вот пожалуйста, пишу код: if FileExists ('/documents/7.doc') then Label1.Text := 'Файл на месте'; Запускаю на своем устройстве, результат - ноль реакции.
  14. Там немножко не то. Меня интересует, как например обратиться к корневому каталогу - где лежат каталоги Documents, Downloads и прочие.
  15. Здравствуйте. Как указываются пути к каталогам и файлам в Android? Скажем, в Windows я указываю такой путь: C:/Windows/Folder, а как это делается в Android? Особенно меня интересует, как обратиться к корневому каталогу, для создания там новой папки или файла, в Windows это C:/, или D:/ а тут как?
×
×
  • Создать...