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

Letter

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

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

  • Посещение

Активность репутации

  1. Thanks
    Letter отреагировална Dmitry_4501 в Удалить файлы отмеченные   
    Попробуйте вот так (не самый идеальный вариант, но он работает и ошибок не выдает).
    procedure TForm1.Button1Click(Sender: TObject); begin var selectedItems: TArray<TListBoxItem>; // Объявляем массив из объектов TListBoxItem for var item: TFMXObject in ListBox1.Children.Items[1].Children do // Перебираем каждый дочерний компонент в ListBox, который является экземпляром класса TListBoxItem. begin if item is TListBoxItem then // Проверяем, является ли item экземпляром класса TListBoxItem if TListBoxItem(item).IsChecked then // Проверяем, является ли элемент отмеченным галочкой begin System.SetLength(selectedItems, System.Length(selectedItems) + 1); // Увеличиваем длину массива selectedItems[High(selectedItems)] := TListBoxItem(item); // Вставляем элемент в массив end; end; DeleteAllCheckedFiles(selectedItems); end; procedure TForm1.DeleteAllCheckedFiles(items: TArray<TListBoxItem>); begin if System.Length(items) < 1 then Exit; for var i: Integer := 0 to System.Length(items) - 1 do begin var item: TListBoxItem := items[i]; if Assigned(item) then begin // TFile.Delete(item.Text); item.Free(); // Освобождаем память, тем самым объект уничтожится и больше не будет находиться в списке элементов TListBox end; end; end;
  2. Like
    Letter отреагировална Martifan в Протестировать приложение   
    Для тестирования приложения, написанного на Delphi 10.4 для Android, можно использовать различные инструменты и ресурсы.
    Реальные устройства: Тестирование на реальных устройствах позволяет вам увидеть, как приложение будет работать в реальных условиях. Используйте устройства с различными характеристиками экрана, версиями ОС и производительностью для более обширного тестирования.
    Эмуляторы Android: Эмуляторы позволяют вам запускать приложения Android на компьютере. Вы можете настроить эмуляторы с различными размерами экрана, разрешениями и плотностью пикселей.
    Android Studio: Это официальная среда разработки для Android, и она включает в себя эмулятор Android. Вы можете создать различные виртуальные устройства с разными характеристиками для тестирования вашего приложения.
    Genymotion: Это еще одна популярная среда для эмуляции Android-устройств. Она предлагает некоторые функции, которые могут быть полезны для разработчиков, такие как встроенные инструменты для тестирования GPS и акселерометра.
    Сервисы облачного тестирования: Если вы не хотите заниматься настройкой эмуляторов или не имеете доступа к множеству реальных устройств, вы можете воспользоваться сервисами облачного тестирования.
    Firebase Test Lab: Это услуга от Google, которая позволяет вам тестировать ваше приложение на реальных устройствах, хостед в облаке Google.
    AWS Device Farm: Это услуга от Amazon, которая позволяет вам тестировать и взаимодействовать с вашим Android-приложением на множестве реальных устройств.
    При тестировании приложения уделите внимание таким аспектам как адаптивный дизайн, работоспособность на различных версиях ОС и корректность работы функционала.
  3. Like
    Letter отреагировална Dmitry_4501 в Удалить файлы отмеченные   
    Проходишь циклом по всему списку и у каждого элемента проверяешь свойство IsChecked, если оно true, то тогда при помощи TFile.Delete удаляешь файл.
     
    Как-то так:
    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; Для TFile.Delete необходимо подключить юнит System.IOUtils
  4. Like
    Letter отреагировална krapotkin в Запись звука как на диктофоне   
    не думаю, что это сделано путем установки некоей "громкости"
    когда у нас есть оцифрованный сигнал, то дальше уже идет цифровая обработка этого сигнала
    например, нормализация, или компрессия https://habr.com/ru/articles/379395/
    операция не очень сложная, но нужно поискать описания хороших алгоритмов и поэкспериментировать с их настройками 
     
  5. Like
    Letter отреагировална Martifan в Запись звука как на диктофоне   
    В Delphi для усиления звука записи можно воспользоваться классом TAudioCaptureDevice и его свойством Volume. Это свойство позволяет установить уровень громкости для записи звука. Чем выше значение Volume, тем громче будет записанный звук.
    Вот пример, как можно использовать свойство Volume:
     
    uses FMX.AudioCapture, System.SysUtils; procedure RecordAudio(const AFileName: string; const AVolume: Single); var AudioCapture: TAudioCaptureDevice; begin AudioCapture := TAudioCaptureDevice.Create(nil); try AudioCapture.FileName := AFileName; AudioCapture.PauseLength := 0; AudioCapture.Volume := AVolume; // Установка уровня громкости AudioCapture.Active := True; Sleep(5000); // Запись в течение 5 секунд AudioCapture.Active := False; finally AudioCapture.Free; end; end; procedure TForm1.Button1Click(Sender: TObject); begin // Задайте путь и имя файла, в который будет сохранен звук // Укажите значение громкости от 0 до 1 (например, 0.5 для половины максимальной громкости) RecordAudio('/sdcard/MyRecording.wav', 0.8); ShowMessage('Запись завершена.'); end; В этом примере в процедуре RecordAudio добавлен дополнительный параметр AVolume, который позволяет задать уровень громкости записи. Значение AVolume должно быть в диапазоне от 0 до 1, где 0 соответствует минимальной громкости, а 1 - максимальной.
    Вы можете экспериментировать с различными значениями AVolume, чтобы найти наиболее подходящий уровень усиления звука для вашего приложения и устройства.
  6. Like
    Letter отреагировална krapotkin в Запись звука как на диктофоне   
    https://docwiki.embarcadero.com/CodeExamples/Sydney/en/FMX.AudioRecPlay_Sample
     
  7. Like
    Letter отреагировална Martifan в Запрет ввода определенных символов в TEdit   
    если правильно понял вам нужна это:   в FireMonkey и в Android свойстве TEdit добавлена FilterChar и выглядит это так: procedure TForm1.FormCreate(Sender: TObject); begin   Edit1.FilterChar:= '0123456789'; end;
  8. Thanks
    Letter отреагировална krapotkin в Как открыть окно "Поделиться"   
    \Samples\Object Pascal\Mobile Snippets\ShareSheet
  9. Confused
    Letter получил реакцию от Maximus в Сократить путь   
    Подскажите как сократить путь?
    Например при System.IOUtils.TPath.GetDownloadsPath выдаст такой путь " /storage/emulated/0/Download " и нужно его сократить
    до "/storage/emulated/0 "
  10. Thanks
    Letter отреагировална mazayhin в пароль на бд   
    Да, и личное мнение, тот же SQLiteExpert удобнее, если брать из свободных
  11. Thanks
    Letter отреагировална mazayhin в пароль на бд   
    Официальная цитата Embarcadero:
    Смотрите http://docwiki.embarcadero.com/RADStudio/XE5/en/Using_SQLite_with_FireDAC
    Создавайте БД без шифрования, а затем, в приложении ее шифруйте штатными инструментами FDSQLiteSecutiry http://docwiki.embarcadero.com/Libraries/Tokyo/en/FireDAC.Phys.SQLite.TFDSQLiteSecurity
    Перед выгрузкой, если необходимо для тестирования и проверки данных, снимайте шифрование и выгружайте. Тогда сможете открыть любым внешним средством.
    Да, и это не баг-фича студии, это официальное поведение
  12. Thanks
    Letter отреагировална dnekrasov в Select listbox   
    Стилем:
    ListBoxItemStyle->ActiveStyleObject

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