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

Andrey Efimov

Модераторы
  • Постов

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

  • Победитель дней

    129

Весь контент Andrey Efimov

  1. Написал маленькую программку "Приложение для создания файла ресурсов (RC, RES)" для второго пункта .
  2. Появилась необходимость добавить большое количество картинок, но делать это стандартными средствами не очень удобно (почитать можно тут: Где хранить большое количество картинок?). Собственно, написал маленькую программку для создания файла RC и создания bat – файла, который позволяет генерировать RES файл. В свободное время буду допиливать. Как использовать: Указываете путь до папки с файлами, которые необходимо добавить в ресурсы. Указываете имя выходного файла, без расширения. Расширение (.rc) уже забито в коде. Выбираете тип ресурсов. Ставите необходимые галочки. Жмёте "Создать" Итоговые файлы будут лежать рядом с exe-файлом приложения. Обращаться к ресурсам можно по оригинальным именам или автоматически сгенерованным. Пример (оригинальные имена): Имя файла "FruitsVegetables_1.png". В готовом файле будет так: FruitsVegetables_1 ТИП ПУТЬ\FruitsVegetables_1.png Надеюсь, кому-нибудь пригодится. Версия 1.4: Скачать с Google Drive (версия 1.4). Новую версию можно скачать ниже, в последнем сообщении.
  3. Спасибо за ответ. Скорее всего, пойду по второму варианту.
  4. Давайте в соседнюю тему перейдём Где хранить большое количество картинок?, чтобы не мусорить тут, т.к. здесь вопрос был о другом.
  5. Допустим ситуацию: Имеем 164 картинки (может быть больше. Размер примерно 128х128), данные картинки нужно добавить в приложение перед компиляцией apk-файла. У всех картинок уже заданы разные имена, например по такой схеме: 10 картинок (фрукты) – имя = fruit_1..10 26 картинок (овощи) – имя = vegetables_1..26 и т.п. при добавлении в Rad Studio необходимо сохранить эти имена, чтобы потом можно было по ним обращаться к картинкам. В приложении, список имён хранится в ComboBox'е, также как и количество картинок для каждой категории. Я вижу четыре варианта хранения: StyleBook (минусы: неудобно добавлять по одной штуке, каждой картинке нужно присвоить имя) Хранить в ресурсах (плюсы: можно добавить сразу все картинки. Минусы: нужно задать каждой картинке имя) Задеплоить (главный минус: прописывать настройки (путь и т.п.) для каждого файла (Kikoma просветил меня, оказывается можно массово задавать конечный путь)) единственное что теперь смущает, так это куча файлов в окне для деплоя Хранить все картинке в zip-архиве (плюсы: один файл, извлечь архив можно в любой момент) Это пока экспериментальный вариант, к нему я склоняюсь больше всего. Смысл данного варианта заключается в том что я запихну все картинки в один архив, сам архив в приложение, и когда придёт время извлеку все картинки по нужному пути, т.е. деплой в рантайме Минусы: Размер приложения в конечном итоге, после извлечения архива будет чуток больше. Картинки у меня в png формате, к ним я применяю сжатие при помощи PNGGauntlet, чтобы уменьшить размер. У кого есть ещё какие-нибудь варианты? Суть вопроса заключается в том, чтобы найти максимально простой и наименее затратный по времени вариант добавления картинок. Чтобы не задавать новые имена, а использовать уже существующие, чтобы можно было в один клик добавить все картинки, чтобы можно было в один клик прописать путь (если нужно) для всех картинок.
  6. Тоже коснулся этого вопроса. У меня картинок 164 штуки (может стать больше. размер примерно 128х128) и я вижу четыре варианта хранения: StyleBook (минусы: неудобно добавлять по одной штуке, каждой картинке нужно присвоить имя) Хранить в ресурсах (плюсы: можно добавить сразу все картинки. Минусы: нужно задать каждой картинке имя) Задеплоить (главный минус: прописывать настройки (путь и т.п.) для каждого файла) Хранить все картинке в zip-архиве (плюсы: один файл, извлечь архив можно в любой момент) Это пока экспериментальный вариант, к нему я склоняюсь больше всего.
  7. По поводу первой ссылки: Там происходит обычное чтение файла и его парсинг. По поводу второй ссылки: Что именно не понятно? Пример использования есть в демках RAD Studio "C:\Users\Public\Documents\Embarcadero\Studio\14.0\Samples\Object Pascal\Mobile Snippets\DeviceInfo" По поводу третьей ссылки: Зачем вам это? RAD Studio не поддерживает Андроид ниже 2.3.3
  8. Допустим ситуацию: Используем StyleBook для хранения картинок, одна картинка – один Image, StyleName у всех картинок разный. Необходимо посчитать/получить количество эти самых картинок.
  9. Тоже заметил подобное поведение. Решение: прописать строку "FloatAnimation1.Inverse := false;" в OnFinish анимации Правильное решение ниже, дал Ярослав.
  10. А что именно не понятно? Событие срабатывает каждый раз, когда вы вводите новый символ в поле Edit1 (Edit1.Text). Пишем цикл, в котором пробегаем по всем введённым символам и проверяем их на соответствие списку запрещённых символов. Если находим запрещённый символ, то сразу удаляем его из строки или можно ещё предупреждение выдать.
  11. Честно говоря, я тоже не знаю, почему так происходит… Но могу подсказать временное решение: используем событие OnChangeTracking, проверяем последний введённый символ (или даже лучше сразу все символы проверять) и решаем, что с ним делать.
  12. Если вам для Андроида, то попробуйте воспользоваться Android API, а точнее классом "ThumbnailUtils", у него есть метод "createVideoThumbnail(String filePath, int kind)".
  13. Может быть, вам попробовать использовать компонент TClearingEdit? Стиль, который вы пытаетесь использовать предназначен именно для этого компонента.
  14. По вашей личной просьбе обратил внимание на этот вопрос, но у меня Delphi XE6, т.е. проверить на XE5 просто нет возможности. Что необходимо знать: Компонент, который вы используете, является устаревшим, т.е. начиная с версии XE6 этого компонента нет в среде Что предлагают использовать вместо него – это компонент TDateEdit (Пример: Mobile Tutorial: Using a Calendar Component to Pick a Date (iOS and Android)) Я также попробовал использовать компонент TCalendar(Пример: FMX.DateTimeCtrls.TCalendar), и изменял в рантайме свойство, которое вы предложили, всё работает отлично. Выходы, которые вижу я: Найти человека с XE5 и попросить воспроизвести вашу ситуацию. Поставить более новую версию среды разработки и использовать новый компонент, который заменяет старый.
  15. Вот временное (5 дней) зеркало: http://rghost.ru/56695740 Файл удалён
  16. Стили лежат тут "C:\Users\Public\Documents\Embarcadero\Studio\14.0\Styles", там есть папки "Android", "iOS". Также все стандартные стили можно вытащить из "Bitmap Style Designer", как это сделать, читайте в разделе "Стили", например в теме "Где взять стандартный стиль в FireMonkey для iOS и Android, используемый по умолчанию?"
  17. По первому пункту: Цифры(GUID) берутся рандомно, необходимы для RAD Studio, для генерации используйте комбинацию клавиш "Ctrl+Shift+G"
  18. В стилях для мобильных платформ дерево выглядит так:
  19. Для Андроид: можно воспользоваться классами для работы с "Wi-Fi", конкретно методом "getMacAddress". Полную обёртку для работы с Wi-Fi я уже написал, так что вам остаётся только подключить её (Пример и обёртка лежат тут: Android API: package "android.net.wifi" или обёртка для работы с Wi-Fi)
  20. Для Андроид можно вот так: Получаем информацию об устройстве(Device Information)
  21. В стиле, который вы подключаете, не прописаны свойства отображения для "ListBoxHeader1". Возможное решение: прописать эти свойства или взять другой готовый стиль, с прописанными свойствами.
  22. Планируется ли научить этот класс работать с запароленными архивами?
  23. Вам необходимо просто указать путь до базы и всё должно заработать. (Посмотрите примеры, на которые я дал вам ссылку и всё станет понятно) Пример для пути "assets\internal": procedure TForm1.FDConnection1BeforeConnect(Sender: TObject); begin {$IF DEFINED(iOS) or DEFINED(ANDROID)} FDConnection1.Params.Values['Database'] := TPath.Combine(TPath.GetDocumentsPath, 'shoplist.s3db'); {$ENDIF} end;
  24. Не нашёл в вашем проекте подключения к БД через код. Советую ознакомиться с примерами в справке Accessing a Database
×
×
  • Создать...