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

Letter

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

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

  • Посещение

Сообщения, опубликованные Letter

  1. В 28.06.2023 в 10:26, Dmitry_4501 сказал:
    procedure DeleteAllCheckedFiles();
    begin
      if ListBox1.Count < 1 then Exit; // Если количество элементов меньше 1, то выходим из процедуры
      for var I: Integer := 0 to ListBox1.Count - 1 do
        if ListBox1.ListItems[I].IsChecked then // Проверяем свойство IsChecked (т.е отмечен ли элемент)
          TFile.Delete(ListBox1.ListItems[I].Text); // Удаляем файл (только в том случае, если в тексте элемента записан путь до файла, иначе придется переделать эту строчку под свои нужды)
    end;

    Спасибо еще раз! А не могли бы Вы подсказать как удалить записи?  То есть из текстового файла загружаю список. И нужно так же , какие отмечены чикетом, то те удалить записи. Пробовал ListBox1.Items.Delete(r);  Но не получается.

  2. Создал файл Delphi 10.4 , Release откомпилировал, начал загружать на rustore , ошибка "Это дебаг-сборка. Загрузите сборку для обычных пользователей" 

    Вот фотки компиляции и загрузки, подскажите что не так?

     

    1686307434521.jpg

    1686307434516.jpg

  3. TDialogservice.InputQuery('первое заполнение', ['второе заполнение'], [''],
        procedure(const AResult: TModalResult; const AValues: array of string)
          begin
            case AResult of
              mrOk:
                 DIALOG:=StrToint(AValues[0]);
              mrCancel:
                 DIALOG:=0;
            end;
          end
        );

    Использую такой код для диалога, но проблема в том, что если ни чего ни ввести в окно диалога, и нажать "OK", то программа закрывается. Подскажите в чем проблема, как исправить.

  4. Подскажите, нужно поделиться файлом, например текстовым, путь до файла известен. Нужно открыть вкладку "Поделиться" , и отправить файл выбрав каким способом. У меня на самсунге называется" поделиться" как на фото

     

    Screenshot_20210830-095208_Android System.jpg

  5. Написал программу на delphi 10.4 под андроид, в программе есть запрос на доступ к файлам чтения и записи, вот такой:

    procedure TForm1.Button1Click(Sender: TObject);
    begin
    //запрашиваем и узнаем что дал права
    PermissionsService.RequestPermissions([FPermissionWrite, FPermissionRead], PermissionRequestResult, ExplainReason);
    end;
    
    procedure TForm1.FormCreate(Sender: TObject);
    begin
    //заносим значения при открытии
     FPermissionWrite := JStringToString(TJManifest_permission.JavaClass.WRITE_EXTERNAL_STORAGE); //Значение на запись
      FPermissionRead := JStringToString(TJManifest_permission.JavaClass.READ_EXTERNAL_STORAGE); //Значение на чтение
    end;
    
    procedure TForm1.FormShow(Sender: TObject);
    begin
    //запрашиваем и узнаем что дал права
    PermissionsService.RequestPermissions([FPermissionWrite, FPermissionRead], PermissionRequestResult, ExplainReason);
    end;
    
    
    procedure TForm1.PermissionRequestResult(Sender: TObject; const APermissions: TArray<string>; const AGrantResults: TArray<TPermissionStatus>);
    begin
    //PermissionRequestResult - это обработка ответа пользователя
      if (Length(AGrantResults) = 2) and (AGrantResults[0] = TPermissionStatus.Granted) and (AGrantResults[1] = TPermissionStatus.Granted) then
      begin
    
        // Ура! Пользователь дал разрешение на оба наших запроса. Выставялем глобальные флаги (к примеру) которые сигнализируют что можно читать/писать карту памти
        form1.CheckBox1.Visible:=True;
        form1.Button1.Enabled:=False;
      end
      else  begin
        TDialogService.ShowMessage('Не возможно продолжить работу, требуемые разрешения не получены');
            form1.CheckBox1.Visible:=false;
        form1.Button1.Enabled:=true;
    end;
    end;
    
    
    procedure TForm1.ExplainReason(Sender: TObject; const APermissions: TArray<string>; const APostRationaleProc: TProc);
    begin
    //И ExplainReason - если пользователь сдуру не дал разрешение,
    // то вам нужно объяснить ему что без этого приложение работать не будет.
      TDialogService.ShowMessage('Приложению нужен доступ к карте памяти для таких то целей, иначе приложение не сможет работать. Зайдите в настроки Андроид и дайте разрешение на доступ',
        procedure(const AResult: TModalResult)
        begin
          APostRationaleProc;
                  form1.CheckBox1.Visible:=false;
        form1.Button1.Enabled:=true;
        end)
    end;
    end.
    

    и все работает, но в телефоне я посмотрел права у программы, и там только доступ к медиафайлам.

    Подскажите как сделать ко всем файлам доступ?

  6. Программой db browser for Sqlite установил пароль на базу данных.
    В fdconnection.params.password добавил пароль которым запоролил базу, но при подключении,
    выдает ошибку " Cipher: Invalid password is specified or DB is corrupted "
    Пароль тот, же и база данных без пароля открывается.
    Задача такая, установить пароль на бд и при открытии в программе распаролить, можно это 
     средствами fdconnection на delphi xe 10.1 ?

  7. Хотел изменить png в  стиле .fsf, а как вытащить картинку и обратно вставить?

    Если 2 раза на stylebook нажать попадаю в style designer там файл .fsf открывается ,а   как картинку вытащить и вставить?

    А в Bitmap style designer файл .fsf не открывается.

     

    И еще подскажите,как подписываться на созданную тему?

×
×
  • Создать...